Transition System
-
A transition systems is a tuple
=<S,S0,T,α,β> , where-
S is a finite or infinite set of states, -
S0 is initial location -
T is a finite or infinite set of transitions, -
α andβ are two mapping fromT toS which take each transitiont inT to the two statesα(t) andβ(t) , respectively the source and the target of the transitiont .
-
- A transition
t with some sources and targets′ is writtent:s→s′ . - Several transitions can have the same source and target.
- A transition system is finite if
S andT are finite.
A path of length
Similarly, an infinite path is an infinite sequence of transitions
If
- If
s→s′ ,s↠s′ - If
s→s′ ,s′↠s″ , we says↠s″
Let
Let
A state
Write
Similarly, the mapping
A partial product over
if
Empty path: for each state
A transition system labeled by an alphabet A is a 6-tuple
Intuitively, the label of a transition indicates the action or event which triggers the transition.
If
Transition system homomorphism
Definition:
Let
which satisfies, for every transition
Labeled transition system homomorphism
Let
A homomorphism h is surjective if the two mappings
A TS strong isomorphism is a TS homomorphism where
If two TS are strong isomorphic, the only difference can be how they are named.
Isomorphic is a kind of equivalence.
If the isomorphism function is defined on
Theorem:
If two transition systems are isomorphic, then they are weakly isomorphic.
Weak isomorphism is an equivalence relation.
Let
-
B(s0,s′0) - If
B(s1,s′1) ands1→s2 , then there is as′2∈S′ such thats′1→s′2 andB(s2,s′2) - If
B(s1,s′1) ands′1→s′2 , then there is as2∈S such thats1→s2 andB(s2,s′2)
Strong Isomorphism: the transition systems are identical except for the names of the states.
Weak Isomorphism: the transition systems are strongly isomorphic provided that the transition systems are restricted to the reachable states.
Bisimulation Equivalence: the transition systems have the same behavior, and make choice at same time.
The free product of transition systems
The synchronous product of transition systems
When processes interact, not all possible global actions are useful, since the interaction is subject to communication and synchronization constraints.
The transition system associated with the system of processes must therefore be a subsystem of the free product of the component transition systems.
The synchronous product allows only those global transitions corresponding to action vectors included in the synchronization constraint.
Modeling sequential circuits
Model logical dynamical system
Model a Mutual Exclusion Protocol
State Space
The state space of a program can be captured by the valuations of the variables and the program counters
Each state of the program is a valuation of all the variables
CTL*
Temporal logic is a formalism for describing sequences of transitions between states in a reactive system.
Properties like eventually or never are specified using special temporal operators.
CTL* formulas
CTL* formulas describe properties of computation trees.
The computation tree shows all of the possible executions starting from the initial state.
Path quantifiers
- A ( for all computation path )
- E ( for some computation path )
Temporal operators
- X (next time) requires the property holds in the second state of the path
- F (finally) the property will hold at some state on the path
- G (globally) the property holds at every state on the path
- U (until) if there is a state on the path where the second property holds, at every preceding state, the first one holds
- R (release) the second property holds along the path up to and including the first state where the first property holds. However, the first property is not required to hold eventually
Two types of formulas in CTL*
- state formulas ( which are true in a special state )
- path formulas ( which are true along a special path )
Syntax of state formulas rules:
- if
p∈AP , thenp is sf - if
f andg are sf,¬f ,f∧g ,f∨g are sf - if
f is a pf, thenEf andAf are sf
Syntax of path formulas
- if
f is a sf, thenf is also a pf - if
f andg are pf,¬f ,f∧g ,f∨g , X f, F f, G f, f U g and f R g are pf - CTL* is the set of state formulas generated by the above rules
Semantics of CTL*
- if
f is a sf,M,s⊨f means thatf holds at states in the M - if
g is a pf,M,π⊨g means thatg holds along pathπ in the M
Two sublogics of CTL*
-
Branching-time logic
- The temporal operators quantify over the paths that are possible from a given state.
- Temporal operators must be immediately preceded by a path quantifier.
- if
f andg are sf,Xf ,Ff ,Gf ,fUg andfRg are pf -
A(FGp)
-
Linear temporal logic
- operators are provided for describing events along a single computation path.
- LTL implicitly quantifies universally over paths.
- If
p∈AP , thenp is pf,Af wheref is a pf -
AG(EFp)
Ten basic CTL operators:
- AX and EX
- AF and EF
- AG and EG
- AU and EU
- AR and ER
Express Properties
Safety: something bad will not happen
Usually: AGLiveness: something good will happen
Usually: AFFairness: something is successful/allocated infinitely often.
Usually: AGAF
CTL and LTL have incomparable expressive power.
The choice between LTL and CTL depends on application and personal preferences.
http://www.cs.utexas.edu/users/moore/acl2/seminar/2010.05-19-krug/slides.pdf
http://www.inf.unibz.it/~artale/FM/slide4.pdf