next up previous contents index
Next: 4.1.7 Enter/Exit Actions Up: 4.1 Graphical Syntax Previous: 4.1.5 Transitions   Contents   Index

4.1.6 History

Though history is a state property, it is graphically shown as a leaf state in a composite state (according to David Harel's syntax). An H or H* is placed in a circle inside the composite state, depending on whether the history is a normal history or a deep history. A transition with a history as its destination is a transition with $HS_T=true$ to the owner of the history in the mathematical syntax.

This graphical representation assumes that only composite states can have histories. Leaf states, since nothing can be placed inside them, cannot have histories. As such, this restriction has a positive effect on the well-formedness of a model. Leaf states have no substates and thus they need not have any history. (As an exception, importation states may have histories, and those histories apply to the models that they import. In those cases, importation states are drawn as composite states rather than leaf states.)

Figure 4.9: An example of the graphical representation of history states
Image historysample

An example of history states is shown in Figure 4.9. In this example, state A has a deep history, and state A.C has a normal history. If the transition reacting to event e1 is represented in the abstract syntax, its $DES$ is A, and its $HS_T$ is equal to $true$. Similarly, for the transition reacting to e2, $DES$ is A.C and $HS_T$ is $true$.

Obviously, a composite state cannot have both a normal history and a deep history. In such a case, its deep history always overrides the normal history, and the latter is ignored. This is also because in the abstract syntax, history is a property of a state with value $None$, $Normal$ or $Deep$. It is impossible to assign different values to this single property.

Figure 4.10: Graphical representation of history states in $AToM^3$
Image historyaltern

Figure 4.10 shows the graphical representation of history states in $AToM^3$.


next up previous contents index
Next: 4.1.7 Enter/Exit Actions Up: 4.1 Graphical Syntax Previous: 4.1.5 Transitions   Contents   Index
Thomas Huining Feng 2004-04-28