Pseudostates


A pseudostate takes the basic form of a state, but it doesn't behave like a full state.

There are 11 kinds of pseudostates, described as follows :

  • An entry point represents a point of entry into a state machine. Figure 7-7 shows two equivalent notations for an entry point.


    Figure 7-7: Entry point

  • An exit point represent a point of exit from a state machine. Figure 7-8 shows two equivalent notations for an exit point.


    Figure 7-8: Exit point

  • An initial state indicates the default starting place for a transition whose target is the boundary of a state. Figure 7-9 shows the notation for an initial state.


    Figure 7-9: Initial state

  • A final state indicates that the execution of part or all of an enclosing composite state (see the next section), or of an entire state machine, is complete. Figure 7-10 shows the notation for a final state.


    Figure 7-10: Final state

  • A choice makes it possible to perform a branch within which the choice of which outgoing path to take can depend on the results of actions executed before the branch occurs as well as the guards connected with the branch. Figure 7-11 shows two equivalent notations for a choice.


    Figure 7-11: Choice

  • A fork splits a transition into two or more transitions. Figure 7-12 shows the notation for a fork that operates on the transition coming out of the Packing Order state.


    Figure 7-12: Fork

    When the Order object leaves the Packing Order state, the object simultaneously enters the Filling Out Shipping Slip state and the Posting Final Amount to GL state. (The Shipping state is called a composite state; this term is discussed in the next section.)

  • A join, conversely, merges two or more transitions. Figure 7-13 shows a join that occurs right before the transition to the Shipping Order state.


    Figure 7-13: Join

    When the Order object has left both the Contacting Shipper state and the Billing Customer Credit Card state, it enters the Shipping Order state.

  • A junction makes it possible to build a single overall transition from a series of transition fragments . Within Figure 7-14, the black dot in the middle of the figure is the junction.


    Figure 7-14: Junction

  • A shallow history "remembers" only the outermost nested state that the given object was in before it left the enclosing composite state. You can use shallow history, then, to allow an event to interrupt an activity and then let the object pick up where it left off once it's handled that event.

    The notation for shallow history is H inside a small circle. Figure 7-15 shows an example of a shallow history.


    Figure 7-15: Shallow history

    When a query event comes in while an Order object is in the Retrieving Books state, the system puts the current activity ‚ in other words, whatever's going on in the current state ‚ on hold and puts the object into the Checking Status state. When the activities associated with that state are finished, the system puts the Order back into the Retrieving Books state and the substate in which the Order resided when activity was interrupted, and the Order resumes performing the interrupted activity. (The Retrieving Books state is another example of a composite state. Composite states are discussed in the next section.)

  • A deep history "remembers" the innermost nested state at any depth within a composite state.

    The symbol for a history state is H* inside a small circle. You could substitute this symbol for the shallow history symbol within to show, for instance, that execution should resume with the object in the Waiting for Back Order substate.

  • A terminate represents the termination of the execution of a state machine. Figure 7-16 shows the notation for a terminate pseudostate.


    Figure 7-16: Terminate pseudostate




Fast Track Uml 2.0
Fast Track UML 2.0
ISBN: 1590593200
EAN: 2147483647
Year: 2004
Pages: 97

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net