1 / 18

Statechart Diagrams - Ch 29

Statechart Diagrams - Ch 29. Borrowed. Available. Initial state. transition. another state. event. Example : Suppose we have a class Copy , representing copies of books. We can consider two states: available , borrowed ; and model how a single copy can move from one state to the other.

melvyn
Download Presentation

Statechart Diagrams - Ch 29

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. Statechart Diagrams - Ch 29 Borrowed Available Initial state transition another state event Example: Suppose we have a class Copy, representing copies of books. We can consider two states: available, borrowed; and model how a single copy can move from one state to the other. return borrow 91.3913 R. McFadyen

  2. Statechart Diagram • A Statechart Diagram describes • states for an object • how/why an objects’ state changes • A Statechart Diagram is a State Machine • Possible states are related to an objects attributes, related classes, operations • A State Diagram models an object’s decision about what it does when it receives a message 91.3913 R. McFadyen

  3. States, Events, Transitions • State - a condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event. • Event - a noteworthy occurrence • An event can trigger a state transition • Transition – a relationship between two states indicating that an object in the first state will perform certain actions and enter the second state when a specified event occurs and specified conditions are satisfied 91.3913 R. McFadyen

  4. State Machine • State Machine - a specification of the sequences of states that an object goes through in response to events during its life • A State Machine is a graph of states and transitions that describes the response of an instance of a classifier to the receipt of events • State Machines may be attached to classes, use cases, ... 91.3913 R. McFadyen

  5. State Diagram - General Form event [guard] /action state1 state2 initial state final state We choose to represent events that suit us - enabling a diagram to represent the level of detail we need 91.3913 R. McFadyen

  6. Employee Example Suppose we have a class Employee, representing employees of our company Two states: working and on break Start break Working On Break End break 91.3913 R. McFadyen

  7. Library Book Example Now consider a class Book. Suppose there may be several copies of the book. Here, we’ll model the states Borrowable, and Not borrowable, which are related to books (not copies). returned returned Not borrowable Borrowable borrowed[last copy] borrowed[not last copy] 91.3913 R. McFadyen

  8. Library Book Example returned returned Not borrowable Borrowable borrowed[last copy] borrowed[not last copy] • Note: • when a Book receives the returned event, the next state depends only on the current state • when a Book receives the borrowed event, the next state is determined by the guard 91.3913 R. McFadyen

  9. Selling Seats Example Consider a situation where tickets are being sold for a voyage. Tickets can be sold as long as there are seats available. At some point, all seats could have been sold and the voyage is full. Eventually, sales are closed and no more seats can be sold. We’ll consider states full and available for a voyage. Seat sold [not last one] Seat sold [last one] available full Sales closed Sales closed 91.3913 R. McFadyen

  10. Process Sale Use Case Recall We can construct a State Diagram showing states for this use case 91.3913 R. McFadyen

  11. Figure 29.2 Waiting For Sale; Entering Items; Waiting For Payment are System states that arise in the Process Sale use case. Transitions are system events … the diagram clearly shows when events, such as makeNewSale, are legal. 91.3913 R. McFadyen

  12. Figure 29.3 Figure 29.2 extended to include the Authorizing Payment state. 91.3913 R. McFadyen

  13. Bank Account Example Consider a banking environment where an Account is considered active when it is first created (i.e. opened). When a Customer performs a transaction (withdraws or deposits money), the balance in the Account is affected. If the Account balance becomes negative the Account is considered overdrawn. As well as withdraw or deposit money, a Customer might close his/her Account. Only active accounts can be closed. Closed accounts can be reopened. At some time in the future, after the Customer closed the account, the Bank might delete the Account (and it is gone forever). In the example, events, guards, transitions and actions are shown. 91.3913 R. McFadyen

  14. Bank Account Example • Four States: • active • overdrawn • closed • deleted We’ll develop the example by considering each state, and the transitions that can occur when an account is in that state. active overdrawn closed deleted 91.3913 R. McFadyen

  15. Bank Account Example trx [pos] active trx [neg]/warn() overdrawn close closed An account begins by being Active. Once in the Active state, the account can remain active, become overdrawn, or be closed. {trx stands for “transaction” which represents a deposit or withdrawal} 91.3913 R. McFadyen

  16. Bank Account Example From the Overdrawn state, an account can remain overdrawn, or move to the active state trx [neg]/warn() trx[pos] active overdrawn close /warn() [pos] is a guard that stands for “the account balance is positive” [neg] … 91.3913 R. McFadyen

  17. Bank Account Example reopen From the Closed state, an account can move to the Deleted state; it can also be made active again. Deleted is considered the final state for an account active closed delete deleted 91.3913 R. McFadyen

  18. Bank Account Example trx [pos] trx [neg]/warn() trx [pos] active trx [neg]/warn() overdrawn close /warn() close reopen closed delete deleted All together: 91.3913 R. McFadyen

More Related