Some PageFlowCentric approaches model page flow as some form of finite state machine (FSM). These are called FiniteStateMachineBased.

The semantics and types of the FSMs vary, but generally states represent either an action to be performed on the server, a decision that has to be made on the server, or a view that has to be presented via the browser1. Transitions specify the valid paths between states. Some states will execute code, others present a page in the UI to a user.

An example of this category is SpringWebFlow.

  • 1 Note this small trick used by approaches that model some server-side code as states: When the executed code finishes, it could return a string denoting some sort of outcome of the execution. Upon the return of such an outcome, the outcome is used like an event in a FSM. Transitions labelled for it could then be followed.

FiniteStateMachineBased (last edited 2006-01-25 10:32:04 by IwanVosloo)