1 / 29

CS/CPE 426 Senior Projects

CS/CPE 426 Senior Projects. Chapter 21: State Machines Chapter 22:Advanced State Machines [Arlow and Neustadt 2005] March 4, 2008. Outline. State machines: Introduction State machine diagrams States Transitions Events Advanced state machines: Composite states Simple Orthogonal

Télécharger la présentation

CS/CPE 426 Senior Projects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS/CPE 426Senior Projects Chapter 21: State Machines Chapter 22:Advanced State Machines [Arlow and Neustadt 2005] March 4, 2008

  2. Outline • State machines: • Introduction • State machine diagrams • States • Transitions • Events • Advanced state machines: • Composite states • Simple • Orthogonal • Submachine states • Submachine communication • History

  3. Introduction • Both activity diagrams and state machine diagrams model system behavior • However, they have different semantics: • Activity diagrams are based on Petri Nets and usually model processes when several objects participate • State machine are based on Harel’s statecharts and typically used to model single reactive objects

  4. Introduction • Reactive objects: • Respond to external events • May generate and respond to internal events • Have a lifecycle modeled as a progression of states, transitions and events • May have current behavior that depends on past behavior • State machines are used to model behavior of classifiers such as classes, use cases, subsystems, systems

  5. Introduction • There are two types of state machines: • Behavioral state machines • Protocol state machines • State machines are most commonly used to model dynamic behavior of classes • In UP, state machines can be used in: requirements, analysis, design • A significant challenge is testing state machines: manual walkthrough, simulation, code generation + test harnesses for state machines

  6. State machine diagrams • There are three main modeling elements in state diagrams: statestransitions, and events. • Example of a simple state machine, Fig. 21.2 [Arlow & Neustadt]

  7. States Summary of UML state syntax, Fig.21.4 [Arlow & Neustadt 2005]

  8. Transitions Summary of UML syntax for transitions in behavioral state diagrams, Fig.21.5 [Arlow & Neustadt 2005] Where: • event(s)= internal or external occurrence(s) that trigger the transition • guardCondition = boolean expression, when true the transition is allowed • anAction = some operation that takes place when the transition fires

  9. Transitions Summary of UML syntax for transitions in protocol state diagrams, Fig.21.6 [Arlow & Neustadt 2005] Note that there is no action and guard conditions are replaced by preconditions and postconditions.

  10. Transitions A junction pseudo-state represents a point where transitions merge or branch, e.g. Fig.21.7 [Arlow & Neustadt 2005]

  11. Transitions A junction pseudo-state may have more than one output transition (protected by mutually exclusive guard conditions) e.g. Fig.21.8 [Arlow & Neustadt 2005]

  12. Transitions Choice pseudo-state can also be used, e.g. Fig. 21.9 [Arlow & Neustadt 2005]

  13. Events • Events can be of four types: • Call event • Signal event • Change event • Time event

  14. Events Example of a call event, Fig.21.11 [Arlow & Neustadt 2005]

  15. Events A signal is a package of information sent asynchronously between objects. Example of signal event Fig. 21.12 [Arlow & Neustadt 2005] Example of sending a Signal Fig. 21.13 [Arlow & Neustadt 2005]

  16. Events Change events are positive edge triggered. Example of a change event, Fig. 21.15 [Arlow & Neustadt 2005]

  17. Events Time events are indicated by the keywords when and after. Example of a time event, Fig. 21.16 [Arlow & Neustadt, 2002]

  18. Example of a state machine [Dascalu 2001]

  19. Composite states • A composite state contains one or more nested state machines (submachines), each existing in its own region, Fig 22.2 [Arlow & Neustadt 2005]. • The composition icon is shown in Fig. 22.4

  20. Simple composite states • A superstate that contains a single region is called a simple composite state, e.g.Fig 22.5 [Arlow & Neustadt 2005]

  21. Orthogonal composite states • Orthogonal composite states consist of two or more sub-machines that execute in parallel. InFig 22.6 [Arlow & Neustadt 2005] there are two such composite states, Initializing and Monitoring

  22. Orthogonal composite states The composite state Initializing, Fig 22.7 [Arlow & Neustadt 2005]

  23. Orthogonal composite states The composite state Monitoring,Fig 22.8 [Arlow & Neustadt 2008]

  24. Submachine states • A submachine state is a special state that references a state machine recorded in a separate diagram, e.g. Fig. 22. 9 [Arlow and Neustadt 2005]

  25. Submachine states • Fig. 22. 10 [Arlow & Neustadt 2005]. The notation for a submachine state is <state name : name of referenced state machine diagram>

  26. Submachine communication • Asynchronous submachine communication can be achieved via attributes: • The modeled reactive object has a set of attributes that can be used by submachines • The communication mechanism: one machine sets attributes and the other uses the attribute values in guard conditions of their transitions

  27. Submachine communication • Example of communication via attributes, Fig. 22.11 [A&N 2005]

  28. History Example of using the shallow history indicator,Fig 22.12 [Arlow & Neustadt 2005]

  29. History Example of using the deep history indicator Fig 22.13 [Arlow & Neustadt 2005]

More Related