Reactive, session-oriented, asynchronous process-calculus framework.
Processes are "reactive" threads with specified message handling and update behavior.
Sessions are collections of Processes and Channels in a fixed communication
def_session! macro is used to define a Session together
with its Channels and Processes.
A 'Program' defines a transition system with Sessions as nodes. The
def_program! macro is used to define modes (Sessions) and transitions
Define a Program state machine.
Macro to define all parts of a session.