Linear Time Time Logic (LTL) in Spin
Formulas of temporal or temporal logic of linear time (Linear Temporal Logic) are used as specifications (constraints, requirements) of the model in the Promela language.
Each such formula can consist of global names (and even local ones - special syntax <process name>[<process number>]:<variable name>) variables connected by logical connectives zero-order logic and by LTL operators.
LTL temporal Operators in Spin
LTL formulas are constructed using temporal operators usage, which describe the behavior of variables in time - how the values should change or remain unchanged at different simulation steps.
The table below shows the main LTL operators supported by the Spin tool.
| Graphical notation (used in LTL literature) | Short notation of operators in Spin | Alternative notation of operators in Spin | Operator descriptions |
|---|---|---|---|
or G |
|
|
The formula |
◊ or F |
|
|
The formula |
∪ or U |
|
|
The formula |
W |
|
|
The formula |
R |
|
|
The formula |
◯ |
|
|
The formula |
Designations of logical connectives allowed in LTL Spin
In addition to temporal operators, LTL formulas use the usual logical connectives - negation, conjunction, disjunction, and others.
The table below shows their designations in Spin and in the literature on LTL.
| Graphical notation (in the literature) | Short notation in Spin | Alternative notation in Spin | Description |
|---|---|---|---|
¬ |
|
Denial. |
|
∧ |
|
|
Conjunction (logical "And"). |
∨ |
` |
` |
|
|
Disjunction (logical "OR"). |
⨁ |
|
Excluding "OR" (XOR). |
⟹ |
|
|
|
Implication ("if …, then …"). |
⟺ |
|