ASWEC 2006 Proposed Notation for Exception Handling in UML 2 Sequence Diagrams Oddleif Halvorsen Øystein Haugen.

Slides:



Advertisements
Similar presentations
© 2005 by Prentice Hall Appendix 3 Object-Oriented Analysis and Design Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
Advertisements

Sequence diagram How to. Guards Sequence diagram with combined fragments and messages Sequence diagram based on figure of UML specification It.
Sequence Diagrams Dan Fleck.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Extending the Requirements Model - techniques for detailing use cases
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
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.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
CS3773 Software Engineering Lecture 03 UML Use Cases.
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.
Interaction Diagrams Activity Diagram State Machine Diagram
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
1 UML Component and Deployment Diagrams. Models, Views, and Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Sequence diagram example T120B029P pavasaris.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
UML Sequence Diagrams Reading: UML Distilled Ch. 4, by M. Fowler
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
Sequence Diagram Tutorial
Use Cases 2 ENGR ♯10 Peter Andreae
Class, Sequence and UML Model.  Has actors and use cases.
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
1 SAD2 - UML 2 nd Lecture Sequence Diagram and other dynamic views Lecturer: Dr Dimitrios Makris
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 25. Review Design Level Class Diagram Identifying classes/Operations/Attributes Associations – Simple associations.
UML S EQUENCE D IAGRAMS 1 Dr. Hoang Huu Hanh, OST – Hue University hanh-at-hueuni.edu.vn.
System Sequence Diagrams. Recap When to create SSD? How to identify classes/instances? Use case descriptions UML notations for SSD.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Behavioral Modeling: Sequence and Communication Diagrams Copyright © 2009 John Wiley & Sons, Inc. Copyright © 2005 Pearson Education Copyright © 2009 Kannan.
UML January 26, 2011 CSE 403, Winter 2011, Brun UML Sequence Diagrams.
1 UML Sequence Diagrams UML Distilled, Third Edition, Chapter 4 M. Fowler.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Coming up: Interaction Diagrams Sequence Diagrams Dan Fleck.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
1 LAB What is Collaboration diagram? 4 Collaboration diagrams illustrate the interaction between the objects, using static spatial structure. 4.
FDT Foil no 1 MSC Structuring MSCs Using Message Sequence Charts for real systems.
UML (Unified Modeling Language)
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
CSE 403 Lecture 8 UML Sequence Diagrams Reading: UML Distilled, Ch. 4, M. Fowler slides created by Marty Stepp
The PUMA project 29 June 2004 Toqeer A Israr page 1 Transformation of Scenarios represented in UML 2.0 Sequence Diagrams to CSM Toqeer A Israr Carleton.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
1 Case Study and Use Cases for Case Study Lecture # 28.
From requirements to specification Specification is a refinement of requirements Can be included together as Software Requirements Specifications (SRS)
Chapter 4: Business Process and Functional Modeling, continued
Instructor: Dr. Hany H. Ammar
Sequence Diagram.
Use Case Modeling - II Lecture # 27.
State Machine Model.
Storyboarding and Game Design SBG, MBG620 Full Sail University
UML SEQUENCE DIAGRAM.
Dynamic Modeling of Banking System Case Study - I
UML UML Sequence Diagrams CSE 403
Dynamic Modeling of Banking System Case Study - II
Sequence Diagram.
UML Use Case Diagrams.
Prepared By Sidra Noureen
Sequence Diagram.
Chapter 8: Modelling Interactions and Behaviour UML Activity Diagram
Use Case Modeling - techniques for detailing use cases
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

ASWEC 2006 Proposed Notation for Exception Handling in UML 2 Sequence Diagrams Oddleif Halvorsen Øystein Haugen

ASWEC Jun-14Halvorsen / Haugen2 What are UML 2 Sequence Diagrams? Describe interaction sequences Emphasize the interaction between objects Partial descriptions May be used to verify interaction properties with respect to a specification Send event Receive event Asynchronous message

ASWEC Jun-14Halvorsen / Haugen3 Why the Need for Exception Handling? This basic description of an object cannot be cluttered up with all of the details needed for handling the contingencies. - Terry Winograd (1979)

ASWEC Jun-14Halvorsen / Haugen4 Challenges wrt. Seq. Diagrams and Exceptions How to visually isolate exception handling from a sequence diagram without disturbing the current semantics? Sequence diagrams are often used to describe distributed and multithreaded environments –The scope of exception handling in modern programming languages is normally limited to one call stack Sequence diagrams describes sets of traces –There is no call stack

ASWEC Jun-14Halvorsen / Haugen5 Example Scene – Withdrawal of money from an ATM Happy Day Scenario –Enter a card –Give the correct pin –Select a legal amount to withdraw –Receive the money and the card Exceptions –Unrecognized card –Wrong pin –Selected too high amount to withdraw –ATM is out of money –Lost connection with the bank –Unable to deliver the money –Unable to give back card –...

ASWEC Jun-14Halvorsen / Haugen6 Handling exceptions with current standard Ensuring correct pin. Preventing the user from withdrawing more than allowed. No valid pin given.

ASWEC Jun-14Halvorsen / Haugen7 Our Way The normal flow Adding exception flow without obstructing the normal flow Reference to a diagram that handles the exception. Guard that triggers the exception.

ASWEC Jun-14Halvorsen / Haugen8 Dynamic Gate Matching Recovered from the exception. If a gate can be matched it is combined to complete the trace

ASWEC Jun-14Halvorsen / Haugen9 Dynamic Gate Matching (continued) The normal flow diagrams Exception handling with dynamic gate matching

ASWEC Jun-14Halvorsen / Haugen10 The Diagram Stack Example stack –The user enters wrong pin twice –Correct pin the third time Each frame represent a new separate layer of diagrams. Move between frames through the use of exception and return. First attempt, wrong pin. Second attempt, wrong pin. Third attempt, correct pin. The trace can now continue with the normal flow.

ASWEC Jun-14Halvorsen / Haugen11 Trace Semantics Without exceptions: U = seq Disregarding the exception: U = a seq seq b seq d Recoverable exception: –b is a subtrace such that b contains no events on the same lifeline as that of q –c [[e]] i.e. c is a trace in the exception –Provided d is not empty, it starts with an event on the same lifeline as q –U = a seq seq (b par c) seq d where a,b,c,d are (sub)traces and seq is trace concatenation and par represents all possible merge combinations a: events executed before the exception b: events enabled before the exception : trigger d: events after the exception c: exception

ASWEC Jun-14Halvorsen / Haugen12 Conclusion Properties of our concepts of exception in UML Seq. Diag –Compact notation –Clear visual separation between the normal flow and the exception handling –Underpinned by precise semantics –May describe exception handling in synchronous as well as multithreaded and distributed scenarios