Statechart and activity diagrams

In XDE, it is possible to mix states and activities in both statechart and activity graph machines. However, in UML 2.0, there is a strict separation between each kind of machine. When you import an XDE model, significant changes occur to statechart and activity diagrams due to notational differences between UML 1.4 and UML 2.0.

Therefore, if the enclosing machine is a state machine in XDE, then all model elements inside it import as various kinds of UML 2.0 states and regions. All sub activity states import as UML 2.0 states, but the state cannot refer to the activity that was originally referenced by the sub activity.

A submachine state in a state machine imports as a UML 2.0 state; the state contains a submachine property set to the referenced state machine. All owned stub states import as connection point references, and new connection points are created on the referenced state machine. If the referenced state machine lives in another model, make sure referenced models are writable when it supplies state machines for other models.

If an enclosing machine is an activity graph with a submachine in it (referencing another state machine), then the submachine imports as a CallActionBehavior activity node, with a reference to the state machine as its called behavior. A sub activity state in the activity graph also imports as a CallActionBehavior activity node.

If a state machine has a sub activity that in turn, references another state machine, then the sub activity imports as a submachine.

In the following figures, the before import figures represent XDE, while the after import figures represent the same diagram or construct in the Rational® UML modeling products after import.

State machine with a submachine referencing another state machine before import

Model Explorer view:

State machine with a submachine referencing another state machine (before)

State machine with a submachine referencing another state machine after import

Model Explorer view:

State machine with a submachine referencing another state machine (after)

ClientMachine before

ClientMachine in the XDE diagram window.

ClientMachine after import

ClientMachine in the Rational modeling products diagram editor.

SupplierMachine before import

SupplierMachine in the XDE diagram window.

SupplierMachine after import

SupplierMachine in the Rational modeling products diagram editor.

Feedback