To define timed I/O automata, timed game automata of TIGA with the following constraints are used:
The grammar for specifying property is given by:
Property := 'consistency:' System | 'refinement:' System '<=' System | 'specification:' System | 'implementation:' System
System := ID | '(' System Expr ')' | '(' Composition Expr ')' | '(' Conjunction Expr ')' | '(' Quotient Expr ')'
Composition := System '||' System | Composition '||' System
Conjunction := System '&&' System | Conjunction '&&' System
Quotient := System '\' System
Expr := /* nothing */ | ':' tctl
In particular the grammar can generate expressions of the type refinement: (A || B) <= (C : A[] not C.unsafe)
. As a reminder the tctl formulas supported are
A[ p U q ]
A<> q
A[ true U q ]
.A[ p W q ]
A[] p
A[ p W false ]
.A[] (p && A<> q)
A[] A<> q
A[] (true && A<> q)
.The formulas involving a Büchi objective can be used to constrain the behaviours to be non-zeno by adding an observer automata that visits a state when time elapses.</e<=i)>