The modifiers

A machine can own/have several characteristics, specified through its "modifier" attribute.

The "input_enabled" attribute

This allows to specify if a communicating machine will react at every moment to every incoming event. For instance, in the case of a statemachine, this means that the statemachine must react to every input whichever state it is in.

This has a semantical consequence that musn't be overlooked. For example in an asynchronous communication via buffers, the messages that aren't expected at a given time by a transition will be ignored and lost! It is as if there was another transition from the given state, this one without any effect, that was expecting the input (therefore this input is unused).

The "timed" attribute

Putting this attribute on a machine imposes, in the machine's code, to implement an interface. This interface adds elements that are necessary to the implicit management of the elapsed time on Diversity's symbolic engine.