UML Diagrams Zicomi Systems publishes some UML example diagrams online from the world famous UML dictionary. more...
Version 2.5 Released Zicomi Systems is delighted to announce that version 2.5 of Zicomi Mentor is released. With support for UML 2.0 and all thirteen UML diagrams more...
Zicomi Systems' Director speaks about the UML at Objects by Design - an informative interview more...
Partner Programme Zicom Systems is delighted to announce a new world wide partner programme, become a partner today. more...
OMG Member Zicom Systems is made a member of the OMG!
Composite State
A composite state can contain other states and can be one of two types: simple or orthogonal. If it contains just one region it is termed a simple (non-orthogonal) composite state, if it contains two or more regions it is termed an orthogonal composite state. Each region contains a disjoint (mutually exclusive) set of vertices and transitions. Each region of a composite state can have one (and only one) initial pseudostate and any number of final states. An incoming transition that targets the boundary of a composite state is semantically equivalent to a transition to each initial pseudostates in every region of the composite state. A state is not complete until every region of the composite state is complete.
Explanation
A composite state can contain other states, pseudostates and transitions allowing states to be nested and hierarchical state machines to be modeled. It is a useful mechanism to structure a state machine allowing detail to be hidden and complex parallel states to be described. The nesting can occur down to any level. When a state is contained with a composite state it is termed a direct substate when it is contained within another state it is termed an indirect substate. A composite state can contain one or more regions allowing for parallel states to be entered within the composite state. Each region can have its own initial pseudostate and when an incoming transition to the enclosing composite state is fired each region is activated by means of the initial pseudostates in each (and every) region.
A region is related to a composite state in that a region is contained within a composite state. A composite state may have any number of composite states. If it has one region it is called a simple composite if it has more than one region it is called an orthogonal composite state. A region may be also be owned by a state machine.