Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS/CPE 426 Senior Projects

Similar presentations


Presentation on theme: "CS/CPE 426 Senior Projects"— Presentation transcript:

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

2 Outline State machines: Advanced 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 machines 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: states, transitions, and events. Example of a simple state machine, Fig [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 are no actions on these transitions, 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 [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 [Arlow & Neustadt 2005]

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

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

17 Events Time events are indicated by the keywords when and after.
Example of a time event, Fig [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. In Fig 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 [Arlow and Neustadt 2005]

25 Submachine states Fig [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 [A&N 2005]

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

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


Download ppt "CS/CPE 426 Senior Projects"

Similar presentations


Ads by Google