QM  4.0.0
Working with Entry-Point Segments

Entry-Point Segment represents a way of transitioning into a specific substate of a Submachine. The Entry-Point provides an indirection layer to entering a specific substate without exposing this substate or any other internal parts of the Submachine.

sm_epseg.png
Entry-Point Segment in a Submachine

In most UML tools, the process of drawing entry-point transitions consists of first adding an Entry-Point pseudostate (empty circle) and then attaching a transition between it and some state. In QM™ this process is simplified, because the Submachine Toolbox contains ready-to-use Entry-Point Segment tool, which combines an "Entry-Point pseudostate" with a transition attached permanently to it.


Adding Entry-Point Segment

You select the Entry-Point Segment tool by clicking on the Entry-Point button the State Machine Toolbox. At this point, when you hover the mouse over the active submachine diagram, the mouse pointer changes to the EP-segment tool. To add an Entry-Point segment, move the mouse to the desired location of the Entry-Point pseduostate of the Entry-Point segment and press and hold down the left mouse button. At this point the mouse pointer changes to the Entry-Point segment with the "forbidden" icon (). Next, you need to drag the mouse to an edge of the target state. (If you release the mouse button without reaching the target state edge, the Entry-Point segment will be deleted.) When you drag the mouse pointer over a state edge, the mouse pointer changes to the Entry-Point segment with an anchor (), which indicates that you can anchor the end of the Entry-Point segment connector at this edge. To anchor the segment, release the mouse button.


Entry-Point Segment Property Sheet

Entry-Point Segment item can be configured by the Entry-Point Segment Property Sheet.

sm_epseg_prop.png
Entry Point Segment Property Sheet

The Initial Transition property sheet contains the following properties:

Entry-Point Name

Every Entry-Point segment must have a name, which distinguishes this particular Entry-Point from other Entry-Points to the same Submachine. The Entry-Point name should be a valid function name in C or C++. Typically, you should strive for a short and punchy name that captures the nature of the state entered directly by the Entry-Point. The Entry-Point name shows up in the first Text Box associated with the Entry-Point.

Entry-Point Segment Action

An Entry-Point segment can have optional action. If defined, the action shows up in the text-box associated with the Entry-Point segment.

An action is considered defined if the corresponding pseudocode or code boxes in the Entry-Point Segment Property Sheet are not empty. Once an action is defined, it is shown in the text box associated with the Entry Point segment (following the forward-slash / character).

Note
The pseudocode property is designed to avoid clutter in the diagram by minimizing the amount of text to display beside the transition. Pseudocode is intended only for displaying in the diagram and has no implications for code generation. Only the Code entry of the action property matters for code generation.
See also
How QM displays action code in the text box

Next: Working with eXit-Points