Safety-Liveness Semantics for UML 2.0 Sequence Diagrams Radu Grosu SUNY at Stony Brook Joint work with Scott A. Smolka.

Slides:



Advertisements
Similar presentations
Synthesis of Protocol Converter Using Timed Petri-Nets Anh Dang Balaji Krishnamoorthy Manoj Iyer Presented by:
Advertisements

Model Checking Lecture 3. Specification Automata Syntax, given a set A of atomic observations: Sfinite set of states S 0 Sset of initial states S S transition.
Model Checking Lecture 2. Three important decisions when choosing system properties: 1automata vs. logic 2branching vs. linear time 3safety vs. liveness.
FMCO 2005 / UpSTAIRS with Sequence Diagrams Ragnhild Kobro Runde UpSTAIRS with Sequence Diagrams Øystein Haugen, Ragnhild Kobro Runde, Ketil Stølen University.
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Lei Bu Message Sequence Chart. MSCs Message sequence chart (MSC) is a graphical and textual language for the description and specification of the interactions.
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Deterministic Negotiations: Concurrency for Free Javier Esparza Technische Universität München Joint work with Jörg Desel and Philipp Hoffmann.
1 Behavioral Modeling Chapter 8. 2 Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports business processes.
Formal Specification of Topological Relations Erika Asnina, Janis Osis and Asnate Jansone Riga Technical University The 10th International Baltic Conference.
Software Engineering COMP 201
An Integrated Framework for Scenarios and State Machines Bikram Sengupta IBM Research India Rance Cleaveland Department of Computer Science University.
Course Summary. © Katz, 2003 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Introduction to UML Part 2 Behavioral Modeling. Sequence (event) diagram Describes object interaction Typically captures behavior of a single use case.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
Course Summary. © Katz, 2007 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
Monte Carlo Analysis of Security Protocols: Needham-Schroeder Revisited Radu Grosu SUNY at Stony Brook Joint work with Xiaowan Huang, Scott Smolka, & Ping.
Monte Carlo Model Checking Scott Smolka SUNY at Stony Brook Joint work with Radu Grosu Main source of support: ARO – David Hislop.
SE-565 Software System Requirements More UML Diagrams.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
1 Carnegie Mellon UniversitySPINFlavio Lerda Bug Catching SPIN An explicit state model checker.
State and Sequence Diagrams Modelling dynamic information So far we have seen: Use Case Diagrams – requirements capture, interface.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
CS3773 Software Engineering
מידול התנהגותי 1. Today’s Session Sequence Diagrams State Machines 2.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
UML / UML 2.0 Diagrams (Part III) 1. Sequence diagram is the most common kind of interaction diagram. It focuses on the message interchange between a.
1 SAD2 - UML 2 nd Lecture Sequence Diagram and other dynamic views Lecturer: Dr Dimitrios Makris
Model Checking Lecture 3 Tom Henzinger. Model-Checking Problem I |= S System modelSystem property.
Behavioral diagrams Lecture p4 T120B pavasario sem.
Ch.2 Part C: Message Sequence Charts, UML EECE **** Embedded System Design.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 8: Behavioral Modeling.
CIS 842: Specification and Verification of Reactive Systems Lecture Specifications: LTL Model Checking Copyright , Matt Dwyer, John Hatcliff,
Behavioral Modeling Chapter 8.
Lecture 18: Object-Oriented Design – Interaction and State Diagrams Anita S. Malik Adapted from Schach (2004) Chapter 12.
PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design, 2 nd Edition Copyright 2003 © John Wiley & Sons, Inc. All rights reserved.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
Internal Talk, Oct Executable Specifications using Message Sequence Charts Abhik Roychoudhury School of Computing National University of Singapore.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Behavioral Modeling Chapter 8
Quantitative Model Checking Radu Grosu SUNY at Stony Brook Joint work with Scott A. Smolka.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
TTCN-3 and ASN.1 interworking Analysis of backward compatibility in ASN.1 Géza Horváth TTCN-3 User Conference – 9 June 2011.
DEPARTMENT OF COMPUTER SCIENCE TARI ROROHIKO Formal Methods at Waikato The University of Waikato Department of Computer Science Formal Methods Group
Shared Variables Interaction Diagrams Radu Grosu State University of New York at Stony Brook joint work with Rajeev Alur University of Pennsylvania.
Prof. Hany H. Ammar, CSEE, WVU, and
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Wixom, and David Tegarden Chapter 8: Behavioral Modeling.
1 Systems Analysis and Design Behavioral Modeling Chapter 8 (Last one before the Midterm!)
The Movement To Objects
Systems Analysis and Design with UML Version 2.0, Second Edition
Systems Analysis and Design
Building System Models for RE
Sequence Diagram.
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Compositional Refinement for Hierarchical Hybrid Systems
Comparing UML 2.0 Interactions and MSC-2000
Presentation transcript:

Safety-Liveness Semantics for UML 2.0 Sequence Diagrams Radu Grosu SUNY at Stony Brook Joint work with Scott A. Smolka

Convenient way of describing interaction among reactive systems, i.e.: - Systems where termination is rather an error than an expected behavior. Have become an integral part of all modern software engineering design methods: - SDL and ROOM MSC (message sequence charts), UML SD (sequence diagrams). Scenario-Based Specifications

Reactive Systems Commercial Aircraft Medical devices Household devices Telecommunication Nuclear Power Plants Automobiles

UML 2.0 SD Simplified Syntax mn b sd ack name of SDbody of SD process nameprocess lifeline receive event send event message Positive SD: describes traces that are valid and should be possible

UML 2.0 SD Simplified Syntax negative qualification Negative SD: describes traces that are invalid and should not be possible mn c neg sd nack

UML 2.0 SD Simplified Syntax mn a sd init mn b sd ack mn c neg sd nack sd iod init ref ack nack ref High level SD (IOD) synchronous/asynchronous sequencing

UML 2.0 SD Full Syntax mn a sd nsd neg mn a neg sd ng ng ref sd nsdsd asd a b ref mn a sd asd b alt mn a sd a mn b sd b

UML 2.0 SD Semantics ? mn a sd rs This is not a reactive system! What about asynchronous message passing? m:n!an:m?a Lang(rs) = {m:n!a n:m?a} rs Closed world semantics:

Positive SD Semantics ? mn a sd rs m:n!an:m?a Büchi automaton! L(rs) = {  * m:n!a  * n:m?a   } rs What about refinement?   tau transitions 

Positive SD and Refinement? mn a sd rs m:n!an:m?a Liveness Büchi automaton! rs    liveness closure mn b sd rs ,, ~ m:n!a ~ n:m?a chaos closure  L(rs) = {  * ~ m:n!a ( ,  ) ,  * m:n!a  * ~ n:m?a ( ,  ) ,  * n:m?a  * m:n!a  * n:m?a ( ,  )  }

Negative SD Semantics ? mn c neg sd nack Safety Büchi automaton! L(nack) = {  ,  * n:m!c  ,  * ~ n:m!c ( ,  ) ,  * n:m!c  * ~ m:n!c ( ,  )  }     n:m!cm:n?c  nack n:m!cm:n?c nack ,, ~ m:n?c ~ n:m!c complement + safety closure

High Level SD Semantics sd iod init ref ack nack ref init nack ack     init ack  Positive SD: - remove all negative nodes and all their associated transitions. init nack ack   Negative SD: - turn negative nodes into accepting sink nodes. Others nonaccepting.

HSD Positive Semantics ,, ~ m:n!a ~ n:m?a  m:n!an:m?a liod n:m!bm:n?c  ,,  ~ n:m!b ~ m:n!c m:n!an:m?a piod n:m!b  initack

m:n!an:m?a niod init nack ack  n:m?cn:m!c n:m!bn:m?b HSD Negative Semantics m:n!an:m?a siod n:m!c ~ n:m?c n:m!b n:m?b ~ n:m?b    ~ n:m!c ~ n:m?a ~ m:n!a ,,

HSD Semantics Parallel composition of: -Liveness Büchi automaton -Safety Büchi automaton Example: -Iod automaton: iod = liod  siod -Note: Lang(iod) = Lang(liod)  Lang(siod)

SD Refinement Definition: Let S 1 and S 2 be two SDs. Then: - S 1  S 2 iff Lang(S 1 )  Lang(S 2 ) Theorem: Let S, T and U be three bounded SD and assume that S* and T* are bounded, too. Then: 1. if S  T then U S  U T 2. if S  T then (S)*  (T)* 3. if S  T then S + U  T + U and U + S  U + T 4. if S  T then S || U  T || U and U || S  U || T

Examples of Refinement init ref init ref ack ref  Sequential: ack ref  Alternative: ack nack ref

Examples of Refinement Star? init ref ack ref init ref   ack nack ref init ref ack ref init ref Star:

Related Work PA and PO (Mauw, Alur, Muscholl, Peled, …): –Not compositional. Not interested in compositionality. Live SC (Damm, Harel, Kugler): –Elegant, alternative AT solution. Departure from UML. Triggered MSC (Cleaveland, Sengupta): –Prescriptive/constraint-based. Must preorder. STAIRS (Haugen, Stoelen): – Open semantics. Not fully formalized. Other semantics (Broy, Knapp, Krüger,…): – Also depart from closed world semantics.

Conclusions Presented an Automata-theoretic semantics that solves in a simple and elegant way one of the main open questions about UML 2.0 SD: –How to assign a precise meaning to a set of SD without compromising refinement? Provides a direct technique for checking SD refinement in a compositional way. Supports the development of a general purpose MC for property and refinement checking.

Rough Complexity Analysis Translation of HSD to Pos/Neg FA: - linear time (in the size of the HSD). Translation of Pos/Neg FA to Safe/Live BA: - exponential due to flattening, Complementation hard: - double exponential due to BA. In practice: - avoid flattening for synchronous sequencing? - special kind of BA with simple complementation.