Skip to content

5.4.2.3. Pseudostates

Mikołaj Milewski edited this page Nov 12, 2026 · 1 revision

Pseudostates

Pseudostate, unlike State, does not represent stable configuration of State Machine. Pseudostates are used to control the flow of Transitions connecting States.

In general, Pseudostate consist of:

Types of Pseudostates

Stateflows supports five types of Pseudostates:

  1. Choice that allows to build dynamic Transitions chains, where Transitions are traversed sequentialy and their Guards are evaluated after previous Transition Effect is invoked,
  2. Junction that allows to build static Transitions chains, where all Transition Guards are evaluated (and must return true) before any Transition Effect is invoked,
  3. Fork that allows to enter multiple States (located in different Regions of Orthogonal State) at once,
  4. Join that allows to leave multiple States (located in different Regions of Orthogonal State) at once,
  5. History that restores the most recently active state configuration of its containing region when a transition targets it.

History is declared inside a composite state or an orthogonal state's region with AddHistory(). It is an entry point rather than a stable State. See History Pseudostate for restoration behavior and default entry paths. Event deferral is a separate State feature, declared with AddDeferredEvent<TEvent>(); it is covered in In-State Event Deferrals.

Clone this wiki locally