Critics concerning state machines.
The current version of ArgoUML has the following critics in this category.
Suggestion given state is involved in so many transitions it may be a maintenance bottleneck.
Suggestion that the given state machine has so many states as to be confusing and should be simplified (perhaps by breaking into several machines, or using a hierarchy).
Suggestion that the given state requires both incoming and outgoing transitions.
Suggestion that the given state requires incoming transitions.
Suggestion that the given state requires outgoing transitions.
Suggestion that there is more than one initial state in the state machine or composite state, which is not permitted in UML.
Suggestion that there is no initial state in the state machine or composite state.
Suggestion that a transition is missing either a trigger or guard, one at least of which is required for it to be taken.
Suggestion that the join pseudostate has an invalid number of transitions. Normally there should be one outgoing and two or more incoming.
Suggestion that the fork pseudostate has an invalid number of transitions. Normally there should be one incoming and two or more outgoing.
Suggestion that the branch (choice or junction) pseudostate has an invalid number of transitions. Normally there should be at least one incoming transition and at least one outgoing transition.
Suggestion that the transition requires a guard.
![]() | Caution |
---|---|
It is not clear that this is a valid critic. It is perfectly acceptable to have a transition without a guard—the transition is always taken when the trigger is invoked. |
This critic is discussed under an earlier design issues category (see Section 14.3.3, “Clean Up Diagram”).