Contents > C: List of Design Rules > C.17 Region Rules

C.17 Region Rules

Rule: TooManyInitialStatesCategory: Correctness
Severity: 1-highApplies to: all areas
The region has two or more initial states.

A region can have at most one initial state. Check the region and remove the surplus initial states.

  • This is a WFR of the UML.
  • Value returned: the number of initial states of the region.

Rule: InitialAndFinalStatesCategory: Style
Severity: 2-medApplies to: all areas
There is no initial or final state for the state machine.

The top-level region of a state machine should have one initial state and at least one final state so that the state machine has a well-defined beginning and end.


Rule: DupNameCategory: Correctness
Severity: 1-highApplies to: all areas
The region has two or more states of the same name.

Distinctive states should have distinctive names. Duplicate names can also cause problems during code generation.

  • Suggested in [RVR04].
  • Value reported: name of the duplicate state.


Rule: EmptyRegionCategory: Completeness
Severity: 1-highApplies to: all areas
The region has no states.

Add states to the region, or remove the region from the model.


Rule: DeepHistoryCategory: Correctness
Severity: 1-highApplies to: all areas
The region has two or more deep history states.

A region can have at most one deep history state. Check the region and delete the surplus history states.

  • This is a WFR of the UML.
  • Value returned: the number of deep history states of the region.


Rule: ShallowHistoryCategory: Correctness
Severity: 1-highApplies to: all areas
The region has two or more shallow history states.

A region can have at most one shallow history state. Check the region and delete the surplus history states.

  • This is a WFR of the UML.
  • Value returned: the number of shallow history states of the region.