BLESS behavior for threads and devices is expressed as state-transition machines. A set of states is declared, followed by transitions from a source state to a destination state when a transition condition is true, with possibly an action performed after leaving the source state and prior to entering the destination state.
There are four kinds of states. There must be exactly one “initial” state which cannot be the destination of any transition. There may be one or more “final” states which cannot be the source of any transition. Entering a “complete” state suspends execution until next dispatch. An “execution” state is transitory between dispatch and suspension, therefore must always have at least one, enabled outgoing transition .
The code below shows a simple, but non-trivial thread behavior in BLESS.