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.

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

FIPA Interaction Protocol. Request Interaction Protocol Summary –Request Interaction Protocol allows one agent to request another to perform some action.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Chapter 07: Lecture Notes (CSIT 104) 1111 Exploring Microsoft Office Excel 2007 Chapter 7 Data Consolidation, Links, and Formula Auditing.
Activity Diagrams in UML. Definition Activity diagrams represent the dynamics of the system. They are flow charts that are used to show the workflow of.
An Introduction to Java Programming and Object- Oriented Application Development Chapter 8 Exceptions and Assertions.
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
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.
CS0004: Introduction to Programming Repetition – Do Loops.
Using Your Voic M6 Release 7.1Business Feature Set Default Menu Options Revised August 31, 2007 TR
Module 20 Troubleshooting Common SQL Server 2008 R2 Administrative Issues.
CSI5118 W2001 Outline –Review Verification & Validation –Introduction to EFSM Models –Introduction to SDL e.g. EggTimer –Principles of Validation & Verification.
Systems Analysis and Design in a Changing World, Fourth Edition
Structuring SDs Normally a use case scenario is too long and complex to fit on a single (A4?) SD. We need to hierarchically structure SDs and decompose.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
Contemporary Logic Design Finite State Machine Design © R.H. Katz Transparency No Chapter #8: Finite State Machine Design 8.5 Finite State Machine.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Advanced Behavioral Modeling
F. Khendek, G. Robert, G. Butler and P.Grogono Concordia University Montreal, Canada Implementability of Message Sequence Charts.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
ICMP (Internet Control Message Protocol) Computer Networks By: Saeedeh Zahmatkesh spring.
CC0002NI – Computer Programming Computer Programming Er. Saroj Sharan Regmi Week 7.
1 Chapter Eight Exception Handling. 2 Objectives Learn about exceptions and the Exception class How to purposely generate a SystemException Learn about.
Interaction diagrams Sequence and collaboration diagrams.
Verification & Validation Verification –from Latin veritas meaning truth. –Building the product right. Validation –from Latin Valere meaning to be worth.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Designing and Debugging Batch and Interactive COBOL Programs Chapter 5.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 9: Interaction.
Java Software Solutions Lewis and Loftus Chapter 14 1 Copyright 1997 by John Lewis and William Loftus. All rights reserved. Advanced Flow of Control --
Chapter 12 Transmission Control Protocol (TCP)
© 2011 Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of Stewart Venit ~ Elizabeth Drake Developing a Program.
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
An Introduction to Programming with C++ Sixth Edition Chapter 7 The Repetition Structure.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Interaction and Communication Diagrams Patrick Bailey Keith Vander Linden Calvin College.
CONTENTS Processing structures and commands Control structures – Sequence Sequence – Selection Selection – Iteration Iteration Naming conventions – File.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour UML Sequence Diagram.
1 Representing New Voice Services and Their Features Ken Turner University of Stirling 11th June 2003.
1 Kyung Hee University Statecharts Spring Kyung Hee University Specifying Objects’ Behaviour  Interaction diagrams show message-passing behaviour.
Copyright © 2008 Pearson Prentice Hall. All rights reserved Copyright © 2008 Prentice-Hall. All rights reserved. Committed to Shaping the Next.
Capabilities, Plans, and Events Each capability is further broken down either into further capabilities or, eventually into the set of plans that provide.
Forward Error Correction vs. Active Retransmit Requests in Wireless Networks Robbert Haarman.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Internal and Confidential Cognos CoE COGNOS 8 – Event Studio.
FDT Foil no 1 MSC Structuring MSCs Using Message Sequence Charts for real systems.
5. The Transport Layer 5.1 Role of Transport Layer It bridge the gab between applications and the network layer. Provides reliable cost-effective data.
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.
Dynamic Models - Page L M.E. Fayad Lesson 30: Dynamic Models Object- Oriented Modeling & Application s.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Traditionally ladder logic programs have been written by thinking about the process and then beginning to write the program. This always leads to programs.
1 Introduction to Turing Machines
5-1-2 Synchronous counters. Learning Objectives: At the end of this topic you will be able to: draw a block diagram showing how D-type flip-flops can.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
1 An SDL Tutorial Two primary elements: –Structure –Identifies the various components of the system, and the communication paths among them. –Components:
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
Data Link Layer.
UML Activity and Sequence Diagrams David Millard
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
Design Review.
Systems Analysis and Design in a Changing World, Fourth Edition
Case Study -- Weather system
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
Presentation transcript:

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 a service, block or process in SDL. MSCs are usually used to help create SDLs, and debug them. One MSC only shows partial traces of the execution of an SDL, although it is possible to generate a set of MSCs to completely define a process. MSC are normally generated for the “standard cases”, and typical error scenarios.

Slide 3 Mapping from MSC to SDL Instance Names should remain the same, so that mapping is one to one. A Message in MSC maps to a Signals in SDL. A Conditions in MSC maps to a state in processes or service in SDL. An action in MSC maps to a task in SDL. Decomposed MSCs can be used to represent –Processes decomposed into services –BLOCKs decomposed into processes –Blocks decomposed into blocks –System decomposed into blocks

Slide 4 block phone TelephonePhoneUser G1 [Ring, Dialtone, Engaged] [Setup, Disconnect, Connect] G2 G3 [Alert, NoAnswer, Disconnect, Connect] G4 [LiftHandset, ReplaceHandset] Example 1. Mapping conditions to states - Block Diagram

Slide 5 Example 1. MSC (answer) msc doesntAnswerPhone TelephonePhoneUser Ring Ringing NoCall OnPhone LiftHandset Setup Alert Connect Active NearPhone T T

Slide 6 Example 1. MSC (no answer) msc doesntAnswerPhone TelephonePhoneUser Ring Ringing NoCall Setup Alert NoAnswer NoCall AwayFromPhone T

Slide 7 Example 1. Process Diagrams PAGE 1( 2)PROCESS Telephone NoCall Setup SET(3mins, AnswerTimer) Ring Alert Ringing TIMER AnswerTimer; PAGE 2( 2)PROCESS Telephone Ringing LiftHandset RESET (AnswerTimer) Connect Active AnswerTimer NoAnswer NoCall

Slide 8 Example 2. Mapping from MSC with Sub MSCs to SDL.

Slide 9 Example 2. Block Diagram block Sys Initiator Responder G1 [ICON] [ICONind] [ICONreq] G2 G3

Slide 10 Example 2. Process Diagrams PAGE 1( 1) PROCESS Initiator Disconnected ICONreq setting T ICON Wait For Resp PAGE 1( 1) PROCESS Responder Disconnected ICON ICONind Wait For Resp

Slide 11 Adding States to a Stateless MSC Designing a protocol involves identifying the following : The Functional Entities The messages, and contents of messages. The message sequences using MSC States and Tasks on MSC Creating SDL process diagrams from MSCs Analysing and refining the protocol.

Slide 12 Identifying States on MSC SDL processes wait in a state until an event occurs and then react to that event. Therefore add empty conditions (states) to the MSC just before a message is received. Add actions after a message has been received. SetupAck Info SetupAck Info

Slide 13 Look for repeated sequences Once you have added the empty states, try to identify repeated sequences. If an entity responds to a message of the same type in the same way, it is most likely the same state. Bid BidAccept Bid BidAccept Same State

Slide 14 Advanced MSC Concepts Lost Message & Found Message MSC References (allow for reuse of MSCs) Inline Expressions –alt allows for specifying alternative sequence –exc allows for specifying exception sequence –par allows for specifying parallel sequence –loop allows for specifying iterations –opt allows for specifying optional sequence

Slide 15 MSC With Message Loss This Message is lost ::=

Slide 16 MSC Reference MSC Reference Symbol

Slide 17 Alternative Inline Expression In this example the successful connection case is combined with the failure case within one MSC by means of the alternative inline expression (MSC 'alternative').

Slide 18 Exception Inline Expression Within MSC 'exception' the same situation as on previous slide is described by means of an equivalent exception inline expression. In this case either events inside block are executed and MSC finished or rest of MSC is executed. Opt inline expression describes situation where part of MSC is optional

Slide 19 Branching on MSC There is no standard way to show that a branching decision in the logic of a functional entity has occurred on an MSC. It is recommended that when a branch has occurred in an SDL process that a comment be attached on the MSC.

Slide 20 Branching on MSC msc subsequent timeouts i1 wait (1/2 hour) Waiting count := count +1 wait (1/2 hour) Waiting count < 3 PAGE 1( 1) PROCESS i1 waiting wait count := count +1; count < 3 Yes No set(now + 1/2 hour,wait); waiting Idle

Slide 21 Using Message Sequence Charts for validation Message Sequence Charts can be used to identify the following kinds of errors: –Deadlock. –Unreachable states. –Livelock. –Incorrect behaviour.

Slide 22 Deadlock. Deadlock is a scenario, whereby state machines cannot progress to another state because they are waiting for an event that will never occur. Timers can be used detect deadlock in most protocols.

Slide 23 Deadlock Example msc doesntAnswerPhone TelephonePhoneUser Ring Ringing NoCall Setup Alert AwayFromPhone PAGE 2( 2)PROCESS Telephone Ringing LiftHandset Connect Active Won’t progress beyond this point because its waiting for a signal that wont come.

Slide 24 msc doesntAnswerPhone TelephonePhoneUser Ring Ringing DeadlockTimer (3mins) NoCall Setup Alert NoCall AwayFromPhone PAGE 2( 2)PROCESS Telephone LiftHandset RESET (AnswerTimer) Connect Active TakeMessage Connect Recording Voic Unreachable States * DeadlockTimer NoCall Ringing

Slide 25 Unreachable States Prolific use of timers may prevent deadlocks, but their use may result in states that are never reached if the specification is faulty. In the previous example the “Take Message” message is never sent and so the telephone never enters the TakeMessage state. Need to know all possible combinations before it can be shown that a state is unreachable. In the previous example the error will propagate because a generic deadlock timer expired that was unaware of the state specific actions to take at this point.

Slide 26 Livelock livelock is a scenario whereby sequences of messages is repeated in an endless loop. Without appropriate safety mechanisms livelock can consume all of the resources in a network Livelocks can occur depending on the value of data, such as an entity forwarding a message to itself Loop counts are sometimes used in protocols to detect livelock, such as the use of steering digits in the telephone network.

Slide 27 Livelock example msc doesntAnswerPhone TelephonePhoneUser Disconnect

Slide 28 Poor specification This kind of error cannot be automated, unless the requirements can be modeled in a formal language. A better alternative is to animate a service specification using Message Sequence Charts, allowing the service designer to confirm that the specification is correct. Even without automated validation tools, the service designer should always validate state machine descriptions for the “normal case” using message sequence charts.