Timing constraints are based on events. An event is an occurrence of one of the following actions:

In addition, events can be referred to by their type, without giving a concrete name:

When specifying events of interest, the states in which they may be observed can also be given: in state States event.

Furthermore, an optional condition expression can be specified in which references to interface variables can be used:

in state States event when a > 1, where a is an interface variable

event when b == 2, where b is an interface variable

The optional condition after when can be used only if the time constraint is given in an interface definition (.interface file). When the condition is evaluated, the value of the variables at the time of the event observation are used.

Timing constraints are defined as rules and specify admissible intervals between observed events. There are five types of timing rules:

States is a list of states, e.g., "on, off"; the "in state" part is optional.

For an interval there are three possible forms: