A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Model Driven Generative Programming Reza Azimi February 6, 2003 ECE1770: Trends in Middleware Systems.
FUP - Formal Unified Process MSc.Miroslav Líška Slovak University of Technology Faculty of Informatics and Information.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Chapter 22 UML Tooks and UML as Blueprint Model-Driven Architecture (MDA) Object-Constraint Language (OCL)
Which role might model-based engineering play in software certification? Selo Sulistyo.
Job No/ 1 © British Crown Copyright 2008/MOD Developing a High Integrity Code Generator Using iUML/iCCG Sam Moody AWE plc, Aldermaston, Berkshire, United.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Model-Based Programming: Executable UML with Sequence Diagrams By Ruben Campos Cal State L.A. Computer Science Thesis Work Spring 2007.
MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara.
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Systems Engineering for Automating V&V of Dependable Systems John S. Baras Institute for Systems Research University of Maryland College Park
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
1 Evaluation of OCL for Large-Scale Modelling A Different View of the Mondex Smart Card Application Emine G. Aydal, Richard F. Paige, Jim Woodcock University.
Computer Science CS425/CS6258/23/20011 The Architecting Phase Class diagrams are further refined in this phase of development Object diagrams are created.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
1 Software Requirements Specification Lecture 14.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
AOSE-2003, Melbourne July 15 th 1 Agent Oriented modeling by interleaving formal and informal analysis Anna Perini 1, Marco Pistore 2,1, Marco Roveri 1,
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Using UML Models for the Performance Analysis of Network Systems Nico de Wet and Pieter Kritzinger Department of Computer Science University of Cape Town.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
An Introduction to MBT  what, why and when 张 坚
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
1 OCL Tools Supervised by Prof. Daniel Amyot May Khalil Nadia Spido Submitted to Professor Daniel Amyot in partial fulfillment of the requirements for.
Correctness of Software Models Mira Balaban, Azzam Maraee Computer Science Department Ben-Gurion University Model correctnessFall
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Agile Test-based Modeling 資工 聶順成. Outline  Introduction : Modeling meets Programming  Agile Modeling: Using Models in Agile Projects  Model-based.
1 Checking Interaction Consistency in MARMOT Component Refinements Yunja Choi School of Electrical Engineering and Computer Science Kyungpook National.
Formal Methods and Testing: Possible Attributes for Success A. J. Cowling Department of Computer Science University of Sheffield.
Software Engineering 2 -Prakash Shrestha.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
HACNet Simulation-based Validation of Security Protocols Vinay Venkataraghavan Advisors: S.Nair, P.-M. Seidel HACNet Lab Computer Science and Engineering.
November 2003J. B. Wordsworth: J3ISDQR41 Information Systems Development Quality and Risk (4)
Open Incremental Model Checking (OIMC) and the Role of Contracts Model-Based Programming and Verification.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Formal Methods in Software Engineering1 Today’s Agenda  Mailing list  Syllabus  Introduction.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
© Andrew IrelandGrand Challenges for Computing Research 2004 The Verifying Compiler Andrew Ireland Dependable Systems Group School of Mathematical & Computer.
On Concurrency Idioms and their Effect on Program Analysis Weizmann Institute of Science Guy Katz and David Harel.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Verification and Validation Overview
Software Design Methodology
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
Test Process “V” Diagram
Software Architecture & Design
Presentation transcript:

A Static Approach to Consistency Verification of UML Models Andrea Baruzzo Department of Computer Science University of Udine MoDeV 2 a 2006 Workshop

 The context  The problems to address  The goals  The method  The method at work  Future works Agenda

 Model-Driven Development  Model elaboration (possibly manual but typically automatic)  Build the right model! …early validation!  Model-Driven Architecture development [Mellor, Warmer, OMG]  UML alone is not enough precise to build software and to verify it  The need of a formal specification embedded in UML models (OCL)  Tools for model-based debugging and testing [AICA05] Andrea Baruzzo, Executable Models: Formal Specifications Embedded in Software Models, Congresso annuale AICA, Udine, 5-7 ottobre 2005 The Context Requirements Models Code Consistency Correctness model precisio n Code correctness

 Due to the complexity of large software systems, preserving model consistency is an issue  Model-based verification is often achieved by means of dynamic checking of OCL constraints …  …but the generation of suitable code which checks them  slows down performance  can alter the behavior  it does not ensure to reveal a bug  generation of just a significative finite subset of the possible runs is not so feasible too  Static Model-based verification (very difficult)  Static Verification of UML model consistency (a first step)  What is inconsistency all about?  A discrepancy between the entire model and the code (difficult)  A discrepancy between the specification and the model views (a first step) Problems to address

 Verify the dynamic view of the system against the static view and its constraints (“software contracts”)  Identify and refine specifications too strong  Identify new constraints (specifications too weak?)  Build precise UML models  Class diagrams  Sequence diagrams  Statechart diagrams  (OCL) specifications (the software contract)  Independence from the specification language (OCL, Promela, Alloy,…) Short-term Goals

 Verification  Verify the code of the system against the entire model and its constraints (“software contracts”)  Specification synthesis  From existing code  Tool Integrations  Integration between the static approach (it cannot be complete) e the dynamic approach  Manipulation of the models hierarchy (MDA) Long-term Goals

Precise semantics of OCL and UML [Gogolla&Richter01]  Syntax of Object Models  Set of classes (or types)  Set of attributes for each class  Set of associations with role names and multiplicities  Generalization hierarchy over classes M={CLASS, ATT c, OP c, ASSOC, associates, roles, multiplicities, <}  Interpretation of Object Models  System state: objects, links and attribute values constitute the state of a system at a particular moment in time σ(M)= ( σ CLASS, σ ATT, σ ASSOC )  The semantics of an object model is the set of all possible system states σ(M) [Gogolla&Richter01] Martin Gogolla and Mark Richter, OCL: Syntax, Semantics, and Tools, LNCS 2263, Object Modeling with the OCL, 2001

The notion of class correctness  But what happens when this does not hold?  Faulty Program or Inconsistent Specification? [Meyer92] Bertrand Meyer, Applying Design by Contract, ACM Computer, Volume 25, Issue 10, 1992  Due to the size of most systems, bugs in assertions are not so unlikely!

The method – The process (BEDAV)  Build the UML model of the system  Build the structure view  Build the dynamic (behavioral) view  Enrich the model with the (OCL) specifications  Decompose sequence diagrams in blocks  Annotate each block with formulas to be imposed and to be checked  Verify sequence diagrams against the formulas of each block

The method at work – the model

The method at work – the (OCL) specifications

The method at work - decomposition

The method at work – decomposition

The method at work – validation (equations checked)

… now the diagram becomes consistent! {Company.employee −> excludes(Andrea)}

Work in progress, future works  Work in progress  Tool implementation  Assistant to write OCL constraints (some will be code independent, others not)  Development of the method for Static Model-based verification (with code)  Future works  Support for concurrency  Support for temporal logic (in general, any temporal constraint)  Support for class diagram consistency in itself (i.e. consistency of cardinality constraints in associations)

THANK YOU!

The method at work – validation (equations imposed)