Qiao and Bochm ann, Univers ity of Ottawa Gregor v. Bochmann Department of Electrical Engineering and Computer Science University of Ottawa Canada presentation.

Slides:



Advertisements
Similar presentations
Model checking with Message Sequence Charts Doron Peled Collaborators: R. Alur, E. Gunter, G. Holzmann, A. Muscholl, Z. Su Department of Computer Science.
Advertisements

Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Distributed Snapshots: Determining Global States of Distributed Systems Joshua Eberhardt Research Paper: Kanianthra Mani Chandy and Leslie Lamport.
Uncoordinated Checkpointing The Global State Recording Algorithm Cristian Solano.
Distributed Computing 5. Snapshot Shmuel Zaks ©
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
Ordering and Consistent Cuts Presented By Biswanath Panda.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Slide 6C.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Ordering and Consistent Cuts
UML Distilled Martin Fowler. State Diagrams  State Transition Diagrams define a number of states and the transitions between the states.
Time, Clocks and the Ordering of Events in a Distributed System - by Leslie Lamport.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
An Introduction to Rational Rose Real-Time
Enterprise Workflow CPSC 476 Lightening Talk Brenda Griffith/Katie Soto.
Unified Modeling Language(UML) BY
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Chapter 7: The Object-Oriented Approach to Requirements
SCHOOL OF COMPUTING QUEEN’S UNIVERSITY 08/03/2013 Andrew Forward, Omar Badreddin, Timothy C. Lethbridge, and Julian Solano School of Electrical Engineering.
Modern Software Design Methods for Concurrent and Real-Time Systems By Hassan Gomaa Presented by James Roberts
Comparison of methods for supervisory control and submodule construction 1 Gregor v. Bochmann, University of Ottawa Comparison of methods for supervisory.
Distributed Computing 5. Snapshot Shmuel Zaks ©
University of Kansas Electrical Engineering Computer Science Jerry James and Douglas Niehaus Information and Telecommunication Technology Center Electrical.
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
1 SAD2 - UML 2 nd Lecture Sequence Diagram and other dynamic views Lecturer: Dr Dimitrios Makris
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
Introduction to Graph “theory” Why do we care about graph theory in testing and quality analysis? –The “flow” (both control and data) of a design, within.
Timed Test Cases Generation Based on MSC-2000 Test Purposes Abdeslam En-Nouaary and Gang Liu Department of Electrical and Computer Engineering Concordia.
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Submodule construction in logics 1 Gregor v. Bochmann, University of Ottawa Using First-Order Logic to Reason about Submodule Construction Gregor v. Bochmann.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
HNUST, Gregor v. Bochmann, University of Ottawa ICICS International Conference on Information and Communication Systems December 2009 Gregor v.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport Massachusetts Computer Associates,Inc. Presented by Xiaofeng Xiao.
Software Engineering Emphasis for Engineering Computing Courses William Hankley Computing & Information Sciences Kansas State University.
Software Engineering Lecture 8 Object-Oriented Analysis.
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.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Systems Analysis and Design in a Changing World, Fourth Edition
Event Ordering. CS 5204 – Operating Systems2 Time and Ordering The two critical differences between centralized and distributed systems are: absence of.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Chapter 7 Classes and Methods III: Static Methods and Variables Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition)
Fall 2007 Week 9: UML Overview MSIS 670: Object-Oriented Software Engineering.
Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation Author: Friedermann Mattern Presented By: Shruthi Koundinya.
Chapter - State Based Design Systems have modes of operation. The controller should move sequentially between these states.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Chapter 5 – System Modeling
Systems Analysis and Design in a Changing World, Fourth Edition
Requirements Techniques, cont.
UML(Unified Modeling Language)
Instructor: Dr. Hany H. Ammar
Object-Oriented Analysis and Design
Introduction to Unified Modeling Language (UML)
State Machine Diagrams
Distributed System Design from Global Requirements
Comparison between UML Activity Diagrams and Use Case Maps
Introduction to UML.
Comparison between UML Activity Diagrams and Use Case Maps
Synthesizing Controllers for Multi-Lane Traffic Maneuvers
UML State Diagrams.
CIS825 Lecture 5 1.
Presentation transcript:

Qiao and Bochm ann, Univers ity of Ottawa Gregor v. Bochmann Department of Electrical Engineering and Computer Science University of Ottawa Canada presentation at the SAM Conference September 2014, Valence (Spain) Associativity between Weak and Strict Sequencing

Overview  Introduction –Weak and strict sequencing –Examples –Associativity  System design: collaborations and partial orders –Structure of global behaviors: collaborations and roles –Initiating and terminating roles –Definition of weak and strong sequencing  Association rules –Associativity of weak and of strict sequencing –No associativity for mixed sequencing –Consideration of initiating and terminating roles  Conclusions –Possible impact on performance measures –How to avoid the ambiguity of mixed sequencing 2

Gregor v. Bochman n, University of Ottawa Partial order of events  Lamport [1978] pointed out that in a distributed system, there is in general no total order of events, only a partial order. –The events taking place at a given component can be totally ordered (assuming sequential execution). –The reception of a message is after its sending. –The after-relation is transitive. For example, we have b after a and c after b; but d and e are unrelated (no order defined - concurrent), also j and i are concurrent. d after a by transitivity. a b c j a e f d i k h g

Gregor v. Bochman n, University of Ottawa Example of strong and weak sequencing strongly sequenced (yellow after red) can be enforce by weakly sequenced (yellow after w red) how to enforce ? (there are often race conditions) Coordination message

Examples 5 Construction project The King’s Concert

Examples (priority for strict sequencing) 6 Construction project The King’s Concert

Examples (priority for weak sequencing) 7 Construction project The King’s Concert

Overview  Introduction –Weak and strict sequencing –Examples –Associativity  System design: collaborations and partial orders –Structure of global behaviors: collaborations and roles –Initiating and terminating roles –Definition of weak and strong sequencing  Association rules –Associativity of weak and of strict sequencing –No associativity for mixed sequencing –Consideration of initiating and terminating roles  Conclusions –Possible impact on performance measures –How to avoid the ambiguity of mixed sequencing 8

Global behaviors: collaborations and roles [Castejon, Bochmann, Braek 2013] 9 role-1role-2 role-3 A B (a) role-1 role-2 role-3 A B (b) role-1role-2 role-3 A (c) Initiating actions: (no earlier actions) Terminating actions: (no later actions) Partial order of actions

Sequencing of collaborations 10 Defining weak and strong sequencing by partial orders Considering only initiating and terminating roles

Overview  Introduction –Weak and strict sequencing –Examples –Associativity  System design: collaborations and partial orders –Structure of global behaviors: collaborations and roles –Initiating and terminating roles –Definition of weak and strong sequencing  Association rules –Associativity of weak and of strict sequencing –No associativity for mixed sequencing –Consideration of initiating and terminating roles  Conclusions –Possible impact on performance measures –How to avoid the ambiguity of mixed sequencing 11

Associativity Three collaborations A, B and C executed in sequence A ; B ; C  Case of weak sequence: A ;w B ;w C Associativity: (A ;w B) ;w C = A ;w (B ;w C)  Associativity for strong sequencing: (A ;s B) ;s C = A ;s (B ;s C) 12

Partial orders showing associativity 13

No associativity for mixed sequencing 14

In general: no associativity Two additional dependencies for (A ;s (B ;w C) ) as compared with ( (A ;s B) ;w C) :  Additional dependency for R C : The roles only involved in C only have to wait for all roles to have completed activity A  Additional dependency for R AC : The roles involved in A and C (but not in B) have to wait for all roles to have completed activity A. Note: The case of weak and strict order interchanged (i.e. A ;w B ;s C ) can be treated similarly by reversing the direction of time. 15

Condition for associativity We have (A ;s (B ;w C) ) = ( (A ;s B) ;w C) if there is no role in the sets R C and R AC However, this condition is not necessary.  See example: Proposition: We have (A ;s (B ;w C) ) = ( (A ;s B) ;w C) iff each initiating role of C is also involved in B. 16 A B C RCRC

Overview  Introduction –Weak and strict sequencing –Examples –Associativity  System design: collaborations and partial orders –Structure of global behaviors: collaborations and roles –Initiating and terminating roles –Definition of weak and strong sequencing  Association rules –Associativity of weak and of strict sequencing –No associativity for mixed sequencing –Consideration of initiating and terminating roles  Conclusions –Possible impact on performance measures –How to avoid the ambiguity of mixed sequencing 17

Conclusions  The meaning of a mixture of weak and strong sequencing for distributed workflow applications is in general ambiguous.  This can have an impact on –the possible ordering of actions performed by the different parties involved in the distributed processes –the performance properties of the global collaboration (see for instance [Israr 2011 and 2014]) 18

Conclusions (suite) The identified ambiguity can be avoided: 1.By defining priority for either the weak or the strict sequencing operator. 2.By using a notation of parenthesis. –However, often graphical notations are used. –In UML Activity Diagrams, the notation of regions may be used to show the order in which the sequencing operations should be applied. 19

Questions ?? Comments ?? These slides can be downloaded from