|
|
|
|
|
Two mechanisms are supported to specify
constraints: |
|
1.
Propositions over temporal orders of states |
|
execution is a sequence of states |
|
specify constraints using linear temporal logic |
|
good for scheduling constraints, e.g. |
|
“if process P starts to execute a statement s1,
no other process can start the statement until P reaches a statement s2.” |
|
|
|
2.
Propositions over instances of transitions between states |
|
particular transitions in the current execution:
called “actions” |
|
annotate actions with quantity, such as time,
power. |
|
specify constraints over actions with respect to
the quantities |
|
good for real-time constraints, e.g. |
|
“any successive actions of starting a statement
s1 by process P must take place with at most 10ms interval.” |