F. Khendek, G. Robert, G. Butler and P.Grogono Concordia University Montreal, Canada Implementability of Message Sequence Charts.

Slides:



Advertisements
Similar presentations
INTERVAL Next Previous 13/02/ Timed extensions to SDL Analysis requirements –Assumptions on moments and duration Semantics with controllable time.
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
When is Orientated Programming NOT? Mike Fitzpatrick.
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Reachability analysis A reachability analysis shows the product space of the two processes and the signal queues of their input ports. Say we have an SDL.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Nicolò Carissimi in UML 2.0. Summary what’s behind UML: MDA UML 2.0 and MDA key concepts.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Introduction To System Analysis and Design
CS 584. A Parallel Programming Model We need abstractions to make it simple. The programming model needs to fit our parallel machine model. Abstractions.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Page 1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
Why Behavioral Wait statement Signal Timing Examples of Behavioral Descriptions –ROM.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Slide 1 MSC and SDL. Slide 2 Relationship of MSC to SDL An MSC describes one or more traces of an SDL system specification. An entity in MSC may map to.
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
Expressing Giotto in xGiotto and related schedulability problems Class Project Presentation Concurrent Models of Computation for Embedded Software University.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
Lesson-21Process Modeling Define systems modeling and differentiate between logical and physical system models. Define process modeling and explain its.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
To GPU Synchronize or Not GPU Synchronize? Wu-chun Feng and Shucai Xiao Department of Computer Science, Department of Electrical and Computer Engineering,
The chapter will address the following questions:
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
Zvi Kohavi and Niraj K. Jha 1 Memory, Definiteness, and Information Losslessness of Finite Automata.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Introduction To System Analysis and Design
SOFTWARE DESIGN.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
(Business) Process Centric Exchanges
L6 – Derivation of State Graphs and Tables. State Graphs and Tables  Problem Statement translation To State Graphs To State Tables  Ref: text : Unit.
Important Components, Blocks and Methodologies. To remember 1.EXORS 2.Counters and Generalized Counters 3.State Machines (Moore, Mealy, Rabin-Scott) 4.Controllers.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
Use Case realization How classes collaborate to realize use cases or system functionality.
Communicating Real-Time State Machines (CRSM) State machines that communicate synchronously Unique unidirectional channels are used for the communication.
Chapter 7 -1 CHAPTER 7 PROCESS SYNCHRONIZATION CGS Operating System Concepts UCF, Spring 2004.
Introduction Object oriented design is a method where developers think in terms of objects instead of procedures or functions. SA/SD approach is based.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Software Design Patterns Curtsy: Fahad Hassan (TxLabs)
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Registers; State Machines Analysis Section 7-1 Section 5-4.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Session 1 Module 1: Introduction to Data Integrity
FDT Foil no 1 MSC Structuring MSCs Using Message Sequence Charts for real systems.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Chapter5: Synchronous Sequential Logic – Part 1
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
1 Chapter 11 Global Properties (Distributed Termination)
Reachability Testing of Concurrent Programs1 Reachability Testing of Concurrent Programs Richard Carver, GMU Yu Lei, UTA.
Channels. Models for Communications Synchronous communications – E.g. Telephone call Asynchronous communications – E.g. .
Parallel and Distributed Simulation Deadlock Detection & Recovery.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
DESIGN PROCESS AND CONCEPTS. Design process s/w design is an iterative process through which requirements are translated into a “blueprint” for constructing.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
PDES Introduction The Time Warp Mechanism
Enriching SDL Specifications with MSCs
Activity Diagram.
Process Description and Control
IV. Convolutional Codes
Process Description and Control
Ladder Diagram Design: Huffman Method
Presentation transcript:

F. Khendek, G. Robert, G. Butler and P.Grogono Concordia University Montreal, Canada Implementability of Message Sequence Charts

Plan Why ? Basic Algorithm Extensions Problems: –Implementability issue –Compatibility between MSCs Discussion

Why ? From requirements to design specification (at least for the behavioral aspect): ensure consistency by construction Incremental design of SDL specifications (Add traces in a stepwise manner) Enrich existing SDL specification without modifying the architecture adding services (“service creation”) MSC 0 SDL 0 MSC 1 + SDL 1 MSC 2 + SDL 2...

Basic Approach: Introduction P1 P2 x y msc Example1 + x s1 s2 y s3 Process P2 x s1 s2 y s3 Process P1

Basic Approach: issues MSC specifies required order of sending and consumption of messages Translation seems straightforward ! However …

Basic Approach: issues DOES NOT specify how process instances communicate The actual arrival depends on the communication architecture The given SDL architecture defines the communication architecture Even with a defined communication architecture the actual arrival of messages (signals) into SDL process instance queue may be different from the consumption order Straightforward translation may lead to deadlocks because of SDL implicit transitions...

Basic Approach: issues Two different architectures

Basic Approach: Key Concepts For each process, generate an SDL skeleton with the sending and receiving transitions as specified in the bMSC, BUT keep in mind all the possible arrival orders to the input queue according to the given architecture Avoid implicit transition for signals that will be consumed later APPROPRIATE USE of “SAVE”: If process instance is expecting signal y, then “any” other signal that MAY BE in the queue and ahead of y is saved 3 Main steps in the translation algorithm

First step: Ordering of events * –define a transitive earlier relation <<, e i << e j means e i occurs earlier in time than e j –two rules: for each MSC instance, events are totally ordered the sending event of a message occurs earlier than its reception –Transitive closure of the order relation is independent from the architecture Basic Approach: Step 1 * Similar to Holzman and Alur et al. in their work on race conditions

Example: Step 1 e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 1TTTTT e 2TT e 3TTT e 4TT e 5T e 6 e 7TTTT e 8 T (e i, e j ) = T means e i << e j

Build “receive queues” – For each process, in order to view the possible arrival orders of incoming signals, we view its input queue as a set of parallel FIFO queues. Each queue correspond to one incoming channel –Algorithm creates a table for each process: 1 column for each “receive queue” (for each incoming channel) a row for each input event (and only input events) for each instance P i in the MSC –for each output event e s sending signal m to P j »find the related input event e r in P j »for each input event e k in instance P j if not(e k << e s ) and not(e r << e k ), add signal m to the appropriate “receive queue” Basic Approach: Step 2

Example: Step 2 EventInput SignalQ 1,2,1 Q 3,2,1 e 3 xx,yz,w e 4 zyz,w e 5 yyw e 6 ww “Receive queues” table for process P 2

Generate SDL code (use of SAVE) for each instance P i in the MSC diagram –for each event e j –if e j is an output event generate an SDL output –else if e j is an input event of signal m generate an SDL input for message m for each “receive queue” of P i (except the queue to which m belongs), generate an SDL SAVE for all the messages in the queue [THESE MESSAGES MAY ARRIVE INTO P I INPUT QUEUE BEFORE m] Basic Approach: Step 3

Example: Step 3 SDL specification of process P 2

Extensions Inline constructs: –alt –opt –seq, –loop, etc.

Extensions: Alt construct a msc Ex1 c alt b d SenderReceiver system Ex1 block B1 block B2 Sender Receiver [c, d] [a, b] Example 1

Extensions: Alt Construct Generated SDL processes for Example 1

Extensions: Alt Construct Example 2: Problems !

Extensions: A Second alt Example Example 3: Problems !

Extension: Overtaking b a msc Ex6 SenderReceiver system Ex1 block B1 block B2 Sender Receiver [c, d] [a, b] Example 4: Problems !

Communication hierarchy No-buf : synchronous Every message one channel Implementable Non-implementable Communication Hierarchy from Engels et al. [PSTV/FORTE’97] Proposed hierarchy

Communication hierarchy (cont.) y x a b msc Ex4 c alt b a d SenderReceiver Cannot be implemented with full synchronization or msg-models. Example 5

Compatibility between MSCs Related to implementability Two MSCs are compatible, if they can be implemented in the same architecture. MSC Composition Operators ?

Compatibility between MSCs (cont.) b a msc Ex6 SenderReceiver a b msc Ex7 c alt b a d SenderReceiver These two MSCs are incompatible.

Compatibility between MSCs (cont.) b a msc Ex8 SenderReceiver a msc Ex9 c alt b d SenderReceiver These two MSCs are incompatible.

Discussion Different issues simultaneously: translation, Implementability, compatibility Data part ? Environment for enriching SDL specifications : use ObjectGeode Internal Representation A basis for maintaining code... Work is still in progress...