Skip to content

Instantly share code, notes, and snippets.

@eaglgenes101
Created September 7, 2018 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save eaglgenes101/2397b527ef5db160e62e6b3c01884573 to your computer and use it in GitHub Desktop.
Save eaglgenes101/2397b527ef5db160e62e6b3c01884573 to your computer and use it in GitHub Desktop.
/// In this framework, state machines expose decision points which abstract
/// over their nonterminal states as well as exit points which abstract over
/// their terminal states. At a terminal state, only a transition to an
/// entirely new state is possible. However, at a decision point, the parent
/// state machine can either decide to step the state machine as normal, or
/// cause a transition to an entirely new state machine, which abandons the
/// original child. The parent can also decide to cause a transition to an
/// exit point, which necessarily causes the child state machine to halt and
/// be dropped.
///
/// Parent state machines can also run their children concurrently. In this
/// case, at each point in the cartesian product of their statepoints, the
/// parent can decide whether to continue, and decide to continue or
/// transition their children, or to return to its own parent, which causes
/// all children to be abandoned.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment