Book a Demo

Author Topic: Suggestions for Additional Diagram Elements  (Read 2671 times)

fwoolz

  • EA User
  • **
  • Posts: 435
  • Karma: +0/-0
  • We have met the enemy, and he is us.<Pogo, 1970>
    • View Profile
Suggestions for Additional Diagram Elements
« on: December 20, 2002, 02:26:09 pm »
Hi all,

While working with EA (a great tool, by the way), I've noted some missing diagram elements that would make life a little easier if they were included in a future revision to EA, to wit:

1. Junction pseudo-states, represented by a small filled-in circle

The UML 1.4 standard says:

3.81.2 Notation
Two or more transitions emanating from different non-concurrent states or pseudostates can terminate on a common junction point. This allows their respective
compound transitions to share the path that emanates from that junction point. A junction point is represented by a small black circle.


Diamonds w/o guards on outgoing transitions could be used per the standard [Alternatively, it may be represented by a diamond shape (see Section 3.87, “Decisions,” on page 3-160)], but these could be confused with decision points.

I currently produce these by setting the border width of a synch state to a value that fills the circle in completely.

2. Synch states with finite capacity

Per the standard:

3.83.2 Notation
A synch state is shown as a small circle with the upper bound inside it. The bound is either a positive integer or an asterisk ('*') for unlimited. Synch states are drawn on the boundary between two regions when possible.


Currently, synch states have only infinite capacity '*'.  Implementing the ability to set the capacity to a finite integer value provides the ability to define the equivalent of Petri net "places" with a finite token capacity.

3. Visible labels on fork and join bars ( V & H synch) to allow stub states to be shown conveniently

Per the standard:

3.82.2 Notation
The submachine state is depicted as a normal state with the appropriate “include” declaration within its internal transitions compartment (see Section 3.75, “State,” on page 3-138  ). The expression following the include reserved word is the name of the invoked submachine. Optionally, the submachine state may contain one or more entry stub states and one or more exit stub states. The notation for these is similar to that used for stub ends of stubbed transitions, except that the ends are labeled. The labels represent the names of the corresponding substates within the invoked submachine.


4. Substate, sub-activity icon

(Section 3.76.2)
In some cases, it is convenient to hide the decomposition of a composite state. For example, the state machine inside a composite state may be very large and may simply not fit in the graphical space available for the diagram. In that case, the composite state may be represented by a simple state graphic with a special “composite” icon, usually in the lower right-hand corner. This icon, consisting of two horizontally placed and connected states, is an optional visual cue that the state has a decomposition that is not shown in this particular statechart diagram (Figure 3-74 on page 3-142)

Not a big deal, but it is a useful visual cue.

5. Dynamic choice points

(Section 3.81.2)
Two or more guarded transitions emanating from a common dynamic choice point are used to model dynamic choices. In this case, the guards of the outgoing transitions are evaluated at the time the choice point has been reached. The value of these guards may be a function of some calculations performed in the actions of the incoming transition (s). A dynamic choice point is represented by a small white circle (reminiscent of a small state icon).

6. Custom Concurrent Substate dividers

Similar to custom routing for connectors, it would be helpful to be able to resize concurrent substate dividers independently of other substates; use a combination of vertical and horizontal dividers, etc.

Enuf for now...

Cheers and Best Regards,
Fred Woolsey
Fred Woolsey
Interfleet Technology Inc.

Always be ready to laugh at yourself; that way, you beat everyone else to the punch.