IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Developing business processes > Building business state machines

The building blocks of the business state machine editor

Compose your own business state machine using a combination of the following building blocks.


Interfaces

The interface is a set of operations the business state machine accepts and responds to.


References

The reference is not an interface, but instead tells the business state machine where to find operations that it can invoke. More to the point, it specifies the interface that is used in the invocation of another component.


Variables

Variables store the data used by a business state machine, and can be either a business object or a simple type.


Correlation sets

A correlation set defines properties used to distinguish one instance of a business state machine from another within a runtime environment.


States

A state is one of several discrete individual stages that represent a business transaction. Typically, it has this kind of lifecycle:

  1. The state begins with the running of any existing entry actions.

  2. The state will then stop and listen for an event to occur.

  3. When an event occurs, a path is chosen that is appropriate to it.

  4. An exit action (if there is one) runs before the business state machine transitions to another state.

There are five different kinds of states:


Transitions

A transition channels control from one state to the next by recognizing the triggering event, evaluating the conditions necessary for control to flow through it, and determining what actions can occur should processing be allowed. An event can trigger more than one transition at a time, but only one of those transitions will fire.

There are three kinds of triggering events:

  1. Call event - the transition is triggered when the correct operation is called
  2. Timer event - the transition is triggered when the timer expires
  3. Completion event - the transition is triggered when the source state is entered and its entry action, if any, runs.

If an event triggers more than one outbound transition from a given state, the order that the transitions are checked is undefined. In the case of nested composite states, if an event triggers transitions in more than one composite state, the transitions are checked from the innermost composite state to the outermost composite state.

A transition has a lifecycle that is characterized by the following stages:

The following types of transitions can be used:


Action bar objects

These objects appear within the action bar, and are modifiers used on states and transitions.

There are six kinds of objects:

Create human tasks

Building business state machines