Nested state diagrams:Problems with flat state diagram

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

State Charts Mehran Najafi. Reactive Systems A reactive, event-driven, object is one whose behavior is best characterized by its response to events dispatched.
UML State chart/machine diagram State machine diagram is a behavior diagram which shows discrete behavior of a part of designed system through finite state.
UML (Sequence Diagrams, Collaboration and State Chart Diagrams) Presentation By - SANDEEP REDDY CHEEDEPUDI (Student No: ) - VISHNU CHANDRADAS (Student.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Objectives Detailed Object-Oriented Requirements Definitions
1 © Wolfgang Pelz UML2 UML Part Two. 2 © Wolfgang Pelz UML2 Chapters Four & Twelve Interaction Diagrams.
1 CS/CPE 426 Senior Projects Chapter 21: State Machines Chapter 22:Advanced State Machines [Arlow and Neustadt 2005] March 24, 2009.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Detailed Object-Oriented Requirements Definitions
SE-565 Software System Requirements More UML Diagrams.
Unified Modeling Language
Interaction Modeling. Sequence Models  There are two kinds of sequence models: scenarios and sequence diagrams  A scenario is a sequence of events that.
Lecture 4 Finite State Machine CS6133 Software Specification and Verification.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 8: Modelling Interactions and Behaviour.
Chapter 7 Structuring System Process Requirements
מידול התנהגותי 1. Today’s Session Sequence Diagrams State Machines 2.
Business Informatics Group Institute of Software Technology and Interactive Systems Vienna University of Technology Favoritenstraße 9-11/188-3, 1040 Vienna,
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
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.
Objectives Detailed Object-Oriented Requirements Definitions
Systems Analysis and Design in a Changing World, Fifth Edition
Guide to State Transition Diagram. 2 Contents  What is state transition diagram?  When is state transition diagram used?  What are state transition.
Lab 04.
11 Software Engineering Dr. K. T. Tsang Lecture 9 Advance State Modeling
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
Sequence & Statechart Diagrams Month Day, Year. Agenda Training Plan Overview Actors and Use Case Diagrams Sequence Diagrams Diagram Elements Evolution.
Session 22 Modeling the Extended Features of the Statechart Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Introduction to Object Modeling
Information System Design IT60105
Chapter 11 Activity Diagrams. 2 “Activity diagrams are a technique to describe procedural logic, business processes, and work flows” - M. Fowler An activity.
State Modeling. Events An event is an occurrence at a point in time, such as user depresses left button or.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 UML State Diagrams.
Dynamic Models Sequence Diagrams Collaboration Diagrams Activity Diagrams.
Systems Analysis and Design in a Changing World, Fourth Edition
CS3773 Software Engineering Lecture 06 UML State Machines.
Interaction Diagram An interaction diagram is a graphical representation of interactions between objects. Sequence diagram: shows the sequence in which.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
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.
UML Activity Diagrams.
Chapter 3: Introducing the UML
Wykład 4 Notacja modelu obiektowego - dodatek. Object Model Notation.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Chapter - 6 Advanced State Modeling
Module 2 OOMD.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
® IBM Software Group © 2009 IBM Corporation Module 11: Creating State Machine Diagrams Essentials of Modeling with IBM Rational Software Architect V7.5.
1 Object Oriented Analysis System modeling = Functional modeling + Object modeling + Dynamic modeling Functional modeling = Use cases Object modeling =class.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Advanced UML State Diagrams.
UML Chapter 17.
Appendix 3 Object-Oriented Analysis and Design
Analysis Classes Unit 5.
State Machine Model.
Subject Name: Object oriented Modeling and Design
State Machine Diagrams
Business System Development
States.
CS/CPE 426 Senior Projects
Chapter 20 Object-Oriented Analysis and Design
BPMN - Business Process Modeling Notations
Chapter 5 state Modeling
CS/CPE 426 Senior Projects
States.
CS 791Z State Machines & Advanced State Machines
Appendix 3 Object-Oriented Analysis and Design
Behavioral Diagrams P. P. Mahale
ECE 352 Digital System Fundamentals
Presentation transcript:

Nested state diagrams:Problems with flat state diagram Impractical for large problems. Problem is true for flat state diagram. Object with n independent attributes require 2n states for representation of object in single flat state diagram. complex system contain much redundancy that structuring mechanism can simplify.

Expanding states Organize model by having a high level diagram with subdiagrams expanding certain states. (Like macro substitution) A submachine is a state diagram that may be invoked as part of another state diagram. UML notation is to list local state name followed by a colon and submachine name. Submachine is a state diagram “subroutine”.

Nested states States can be structured more deeply than just replacing a state with submachine. For that you can nest states to show their commonality and share behavior. Composite state name labels the outer contour that entirely encloses the nested states. You can nest states to an arbitrary depth. Each of the nested states receives the outgoing transitions of its composite state.

Nested states It is possible to represent more complicated situations like an explicit transition from nested state to a state outside the contour or an explicit transition into the contour. In simpler case where there is no interaction except for initiation and termination , you can draw the nested states as separate diagrams and reference them by including the submachine.

Nested states For simple problems, you can degrade nested states into flat state diagram. Another option is to promote each state to a class. Entry and exit activities are useful in nested state diagrams. Because they permit a state to be expressed in terms of matched entry-exit activities without regards of what happens before or after the state is active. Transition into or out of nested state can cause execution of several entry or exit activities.

Signal generalization You can organize signals into a generalization with inheritance of signal attributes. You can view every actual signal as a leaf on a generalization tree of signals. In a state diagram, a received signal triggers transitions that are defined for any ancestor signal type. A signal hierarchy permits different levels of abstraction to be used in a model.

Concurrency State model implicitly supports concurrency among objects. Objects a re autonomous entities that can act and change state independent of one another. Objects need not be completely independent, share some constraints.

Aggregation concurrency Aggregate state corresponds to the combined states of all the parts. It is the “and- relationship”. The aggregate state is one state from fist diagram and a state from second diagram and a state from each other diagram. The part states interact. Transitions for one object can depend on another object being in a given state. This allows interaction between state diagrams.

Concurrency within an object It is possible to partition some objects into subsets of attributes or links, each of which has its own subdiagram. The state of object comprise s one state from each subdiagram. The subdiagram need not be independent. Concurrency within object is shown by partitioning the composite states into regions with dotted line. Place the name of composite state in a separate tab so that it does not become confused with concurrent region.

Synchronization of concurrent activities Sometimes one object must perform two or more activities concurrently. The object does not synchronize the internal steps of the activities but must complete both activities before it can progress to its next state. E.g. cash dispenser The number of concurrently active states varies during execution from one to two and back to one again.

Synchronization of concurrent activities The concurrent activities in a composite activity are shown by partitioning a state into regions with dotted lines. Each region is a subdiagram that represents a concurrent activity within the composite activity. The composite activity consists of exactly one state from each subdiagram.

Synchronization of concurrent activities A transition that forks indicates splitting of control into concurrent parts. A small heavy bar with one input arrow and two or more output arrows denotes the fork. The event and an optional guard condition label the input arrow. The output arrows have no labels. Each output arrow selects a state from different concurrent subdiagram.