Skip to content

Non Transition

Leon Starr edited this page Mar 15, 2022 · 1 revision

There may be no Transition desired or possible when an Event occurs in a particular State.

In the first case, the Event is simply ignored and the Instance remains in the current State. For example, an elevator door in the Locked state (moving between floors) should ignore the Open requested Event (open button pushed). This behavior is every bit as normal and anticipated as a Transition.

In the second case, an Event may occur in a State that does not expect the Event to ever happen. As far as the State Model is concerned, the Event should not and cannot happen in a particular State. So if the Event does, it means that there is a bug that must be handled outside the scope of the State Model’s Domain. An exception is raised in the MX (Model Execution) domain which may take whatever actions are appropriate for its platform and overall product requirements. This can range from a complete system halt, hard or soft system reset, domain reset, simple logging, memory buffer swap, and so on. The point is, something has seriously gone wrong!

Identifiers

  1. State + Event + State model + Domain

Attributes

Behavior

One of the two possible non-transition responses: Ignore or Can’t Happen

Type: NT Response [ IGN | CH ]

Clone this wiki locally