Visual Formalisms Message Sequence Charts Book: Chapter 10.

Slides:



Advertisements
Similar presentations
ALGORITHMS AND FLOWCHARTS
Advertisements

1 Concurrency: Deadlock and Starvation Chapter 6.
Center of Mass. Consider motion of object as if all mass located at C of G.
ISO TC184/SC4 IIDEAS ISO TC184/SC4/WG101 Integrating Data or Ontologies - A look at the ISO Architecture Matthew West.
17 February 2011 Track 3: Value Metrics, Value Models and the Value Proposition 1 Ontology Summit 2011: Making the Case for Ontology Track 3: Value Metrics,
EFORWOOD Tools for Sustainability Impact Assessment of the Forestry-Wood Chain EFORWOOD Tools for Sustainability Impact Assessment of the Forestry-Wood.
5-2 Parallel and Perpendicular Lines Warm Up Problem of the Day
Logical DFM 1 Logical DFDs Objective – To capture the essence of the current system. Start with for totally new systems or where existing system is highly.
BA A = turning point B = position of 3 rd wheel/trace, mid way along beam C= possible counterweight position, above 3 rd wheel/trace C 0.87m Beams 0.9t.
Model checking with Message Sequence Charts Doron Peled Collaborators: R. Alur, E. Gunter, G. Holzmann, A. Muscholl, Z. Su Department of Computer Science.
School of Computer Science & Software Engineering
Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community.
Distributed systems Total Order Broadcast Prof R. Guerraoui Distributed Programming Laboratory.
1 Process groups and message ordering If processes belong to groups, certain algorithms can be used that depend on group properties membership create (
Tutorial 8 Exercises CH8.
Chapter 29 State Machine Diagrams Sate Machine Diagrams Represent state of an object Behavior as reaction to events.
Virtual Time Virtual Time and Global States of Distributed Systems Friedmann Mattern, 1989 The Model: An asynchronous distributed system = a set of processes.
Then/Now You named angle pairs formed by parallel lines and transversals. Use theorems to determine the relationships between specific pairs of angles.
Chapter 8 Recursion. 8.1 Recursively Defined Sequences.
1 st Wave Allen plays Atascosita 9 AM, Ct 1 Allen plays Coppell 10 AM, Ct 1 2 nd Wave If Allen is 1 st in Wave 1, Play at 2:30 and 4:30 on Ct 2 (R2G1P1)
Laboratoire d'InfoRmatique en Image et Systèmes d'information UMR July Selecting Web Services.
Implementing Sequentially Consistent Programs on Processor Consistent Platforms Lisa Higham and Jalal Kawash University of Calgary, Canada American University.
Online Recommendations
IPC (Interprocess Communication)
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
CVRD ECT Level 3 Workshop RMS Express (Advanced Operations) Module 7 of 9 September 09, 2013.
Computer Architecture CST 250 K-Map Prepared by:Omar Hirzallah.
NGfL CYMRU GCaD BTEC First in Performing Arts Unit E23: Working as a Musical Ensemble.
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Distributed Database Management Systems Lecture 15.
Distributed Computing 9. Sorting - a lower bound on bit complexity Shmuel Zaks ©
Modeling Main issues: What do we want to build How do we write this down.
Global States and Checkpoints
Distributed Constraint Satisfaction Problems M OHSEN A FSHARCHI.
Overload Scheduling in Real-Time 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.
Goal and Scenario Validation: a Fluent Combination Chin-Yi Tsai.
1 Towards formal manipulations of scenarios represented by High-level Message Sequence Charts Loïc Hélouet Claude Jard Benoît Caillaud IRISA/PAMPA (INRIA/CNRS/Univ.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Logic Based LSC Consistency Testing Presenter: Anup Niroula.
Temporal Specification Chris Patel Vinay Viswanathan.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Visual Formal Methods R J Walters. Introduction Motivation The Language The tools An example Conclusion.
Semantics of LOTOS Answering the question: Which processes are equivalent? Basic LOTOS: ignore ! and ?...pure synchronization Dining philosophers example:
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Model checking with Message Sequence Charts Doron Peled Collaborators: R. Alur, E. Elkind, B. Genest, E. Gunter, G. Holzmann, A. Muscholl, Z. Su Bar Ilan.
F. Khendek, G. Robert, G. Butler and P.Grogono Concordia University Montreal, Canada Implementability of Message Sequence Charts.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Interactions. 2 Objects communicate with each other by sending messages. Sending a message is another name for a member function call. –Some C++ examples.
Class, Sequence and UML Model.  Has actors and use cases.
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
Verification & Validation Verification –from Latin veritas meaning truth. –Building the product right. Validation –from Latin Valere meaning to be worth.
Real Time Systems Modeling Structure in UML (Part I)
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
XII.1 Debugging of Distributed Systems. XII.2 Debugging of Distributed Systems Example of a tool for distributed systems Approach to fault search during.
Internal Talk, Oct Executable Specifications using Message Sequence Charts Abhik Roychoudhury School of Computing National University of Singapore.
1 Work Package 2 Identification and Formalization of Knowledge  “(The report proposes) a generic technique for defining programming model specific abstractions.
TTCN-3 and ASN.1 interworking Analysis of backward compatibility in ASN.1 Géza Horváth TTCN-3 User Conference – 9 June 2011.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Shared Variables Interaction Diagrams Radu Grosu State University of New York at Stony Brook joint work with Rajeev Alur University of Pennsylvania.
Products of MSC-Graphs Philippe Darondeau Blaise Genest Loïc Hélouët IRISA Laboratory / CNRS&INRIA Rennes, France.
Event Ordering. CS 5204 – Operating Systems2 Time and Ordering The two critical differences between centralized and distributed systems are: absence of.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
Discovering high-level models and working with BPMN in ProM
Communication DIAGRAM
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Communication DIAGRAM
State Machine Diagrams
Chapter 4 Sequence Diagrams
Presentation transcript:

Visual Formalisms Message Sequence Charts Book: Chapter 10

MSCs An ISO standard notation (Z120). Visual + Textual forms. Specifies behaviors of communication protocols. Existing algorithms + tools.

MSC visual notation P1P3P2 M1 M2 M3 M4 M5 M6

MSC Textual form msc MSC; inst P1: process Root, P2: process Root, P3: process Root; instance P1; out M1 to P2; in M5 from P2; in M6 from P3; endinstance; instance P2; in M1 from P1; out M2 to P3; out M3 to P3; in M4 from P3; out M5 to P1; endinstance; P1P3P2 M1 M2 M3 M4 M5 M6 instance P3; in M2 from P2; in M3 from P2; out M4 to P2; out M6 to P1; endinstance; endmsc;

Partial order semantics P1P3P2 M1 M2 M3 M4 M5 M6 ss s s s r r r r r r s M1 M2 M3 M4 M5 M6

HMSCs P1P3P2P1P3P2 P1P3P2P1P3P2 connect approve fail req_service report

Visual semantics Sends before corresponding receives. Events on the same process line execute in order of appearance, from top to bottom.

Visual order (wysiwyg) If some event (send, receive) is higher on the line than another, it comes first. Sends precede matching receives. P1P3P2 M1 M2 M3 M4 M5 M6

Visual order (wysiwyg) P1P3P2 M1 M2 M3 M4 M5 M6 ss s s s r r r r r r s M1 M2 M3 M4 M5 M6

Races P1P3P2 M1 M2 M3 M4 M5 M6 P1P3P2 M1 M2 M3 M4 M5 M6

Causal Order and Races Sends before matching receive. Receive or sends before sends of same process. Two receives on the same process sent from the same process. P1P3P2 M1 M2 M3 M4 M5 M6 Races: check if every pair of events ordered by the visual order appears in the transitive closure of the causal order.

Causal Order P1P3P2 M1 M2 M3 M4 M5 M6 ss s s s r r r r r r s M1 M2 M3 M4 M5 M6

Calculating the transitive closure Structure (E, R). E – Events, R E E. R * The transitive closure. Defined as follows: a R * b if there is a sequence x 1 x 2 … x n where a=x 1, b=x n, and x i R x i+1 for 1 i<n. Complexity: cubic. In our case: quadratic (every event has 1 or 2 successors).

Races for HMSCs Undecidable [MP99] Idea of proof: Trasnlate to language theory of semitraces, which are closed w.r.t. commuting certain pairs of letters. Intuition: moving from visual to causal semantic introduces more commutations. Reduction to universality of semitrace languages.

Visual concatenation P1P3P2P1P3P2 P1P3P2P1P3P2 connect approve fail req_service report P1P2P3 connect fail report approve connect fail report AB CD Execution: concatenation of a maximal path in the HMSC.

Model checking Write both specification and system as HMSCs. Do concatenation. Write specification in LTL. Interpret over the linearizations of the partial orders. In both cases: undecidable.

Post Correspondence Problem List of pairs: w1:(aab,aa), w2:(aba,ab), … wn:(a,bb). Want to find if we find a set of indexes i 1, i 2, …, i k, such that concatenating the lefthand words and concatenating the righthand words is the same. Supose we take indexes 1, 2, n, 1. We get: lefthand: aab aba a aab righthand: aa ab bb aa

PCP reduction P1P2 P3P4P3P4 P1P2P5P6P5P6 a b a a b P5P6P5P6 P1P2 P3P4P3P4 P1P2 w2 b w1 b (aab,bb), (ab,bab),... Word match Letter match w1 w2 b a b

Some solutions: Obtain decidability under the following condition [MP99,AY99]: Every HMSCs cycle covers a strongly connected component in the dependency graph, where events are dependent if they belong to the same process or message. The specification HMSCs allows any additional messages [MPS98]. Put limit on message queues [Holzmann]