Presentation is loading. Please wait.

Presentation is loading. Please wait.

Modeling Behavior in Statechart Diagrams

Similar presentations


Presentation on theme: "Modeling Behavior in Statechart Diagrams"— Presentation transcript:

1 Modeling Behavior in Statechart Diagrams

2 Introduction A state diagram (also state transition diagram) illustrates the events and the states of things: use cases, people, transactions, objects, etc. An event is a trigger, or occurrence. e.g. a telephone receiver is taken off the hook. A state is the condition of an entity (object) at a moment in time - the time between events. e.g. a telephone is in the state of being idle after the receiver is placed on the hook and until it is taken off the hook. A transition is a relationship between two states; It indicates that when an event occurs, the object moves from the prior state to the subsequent state. e.g. when an event off the hook occurs, transition the telephone from the idle state to active state.

3 State Machine Diagrams
Telephone It is common to include an initial pseudo-state which automatically transitions to another state when the instance is created. off hook state idle active A statec diagram shows the life-cycle of an object; what events it experiences, its transitions and the states it is in between events. A state diagram need not illustrate every possible event; if an event arises that is not represented in the diagram, the event is ignored as far as the state diagram is concerned. Thus, we can create a state diagram which describes the life-cycle of an object at any simple or complex level of detail, depending on our needs. on hook event transition

4 State Machine Diagrams
A state diagram may be applied to a variety of UML elements, including: classes (conceptual or software) use cases Since an entire system can be represented by a class, a statechart diagram may be used to represent it. Any UP element (Domain Model, Design model, etc.) may have deploy state diagrams to model its dynamic behavior in response to events.

5 Use Case State Machine Diagrams
addLineItem makeNewSale WaitingForSale EnteringItems (external) system event endSale A statechart diagram that illustrates the legal order of external events is particularly helpful for complex use cases. It is necessary to implement designs that ensure that no out-of-sequence events occur. Possible design solutions include: Hard-coded conditional tests for out-of-order events. Disabling widgets in active windows to disallow illegal events. A state machine interpreter that runs a state table representing use case state diagram. makePayment WaitingForPayment

6 Classes that Benefit from Statechart Diagrams
State-independent and State Dependent Objects An entity is considered to be state-independent if it responds in the same manner to all events. An entity is considered to be state-dependent if it responds differently to events. State diagrams are created for state-dependent entities with complex behavior.

7 Classes that Benefit from Statechart Diagrams
Common State-dependent Classes Use cases: Systems: Windows: Transaction. Dependent on its current state within the overall life-cycle.

8 Illustrating External and Internal Events
External event: caused by something outside a system boundary. Internal event: caused by something inside the system boundary. Temporal event: caused by the occurrence of a specific date and time or passage of time. SSDs illustrate external events. Messages in interaction diagrams suggest internal events. Driven by a real-time or simulated-time clock. Suppose that after an endSale, a makePayment operation must occur within 5 minutes.

9 Additional Statechart Diagram Notation
This is an action fired by the transition guard (condition) [valid subscriber] off hook / play dial tone idle Active on hook

10 Additional Statechart Diagram Notation
Active [valid subscriber] off hook / play dial tone Idle PlayingDialTone Talking connected digit on hook A state allows nesting to contain substates. A substate inherits the transitions of its superstate (the enclosing state). Within the Active state, and no matter what substate the object is in, if the on hook event occurs, a transition to the idle state occurs. complete Dialing Connecting digit

11 Exercise Draw a statechart of a simple calculator
The interface of the calculator is composed of 10 buttons with digits, and 4 buttons with the basic operations (+, -, *, /) The button “C” resets the display The button “=” displays the result Buttons “On” and “OFF”: try to guess.


Download ppt "Modeling Behavior in Statechart Diagrams"

Similar presentations


Ads by Google