Professional Documents
Culture Documents
Specification of Systems With Temporal Logic: Simon Robillard
Specification of Systems With Temporal Logic: Simon Robillard
Simon Robillard
Fall 2019
1 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Section 3
LTL Model-Checking
2 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
3 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Definition
I transition system
I no labels on states, but actions (labels on transitions) instead
I set of accepting states
Acceptance condition
I accepted run = at least one accepting state occurs infinitely
often
Determinism
I unlike finite automata, not all non-deterministic Büchi
automata (NDA) have an equivalent deterministic Büchi
automaton (DBA)
4 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Advantages
I NBA can be used to represent the language of
• any LTL formula
• any labelled transition system
I NBA are closed under intersection (also: union, complement,
ω-closure, concatenation)
I checking that the language of a BA is empty is easy
5 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Automata-Based Verification
TS ATS
ATS∩¬ϕ
ϕ A¬ϕ
6 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
s2 s3 {q} {p, q}
s2 s3
{q} {p, q}
7 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Closure of a Formula
Example
8 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Example
subset consistent?
{p U ¬q, p, q} 3
{p U ¬q, p, ¬q} 3
{p U ¬q, ¬p, q} 7
{p U ¬q, ¬p, ¬q} 3
{¬p R q, p, q} 3
{¬p R q, p, ¬q} 7
{¬p R q, ¬p, q} 3
{¬p R q, ¬p, ¬q} 7
10 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Exercise 5
11 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Example with ϕ = p U ¬q
Corollaries
I for any i, wi = Hi ∩ P
I ϕ ∈ H0
12 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Idea:
I build BA with states Q = mcs(ϕ)
I infinite paths starting in qi should be accepted iff they satisfy
exactly the formulas in qi
I initial states q such that ϕ ∈ q
I words accepted by the BA are those that satisfy ϕ
Difficulty:
I the acceptance condition for ϕ U ψ is not local
13 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
14 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
LTL to GBA
15 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Automaton for ϕ = p U ¬q
{p U ¬q, ¬p, ¬q}, {p U ¬q, p, ¬q}, {p U ¬q, p, q}, {¬p R q, p, q}, {¬p R q, ¬p, q},
| {z } | {z } | {z } | {z } | {z }
q1 q2 q3 q4 q5
q2 q4
q1
q3 q5
16 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Automaton for ϕ = p U ¬q
{p U ¬q, ¬p, ¬q}, {p U ¬q, p, ¬q}, {p U ¬q, p, q}, {¬p R q, p, q}, {¬p R q, ¬p, q},
| {z } | {z } | {z } | {z } | {z }
q1 q2 q3 q4 q5
q2 q4
{} {} {}
q1
{} {}
q3 q5
16 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Automaton for ϕ = p U ¬q
{p U ¬q, ¬p, ¬q}, {p U ¬q, p, ¬q}, {p U ¬q, p, q}, {¬p R q, p, q}, {¬p R q, ¬p, q},
| {z } | {z } | {z } | {z } | {z }
q1 q2 q3 q4 q5
{p}
{p}
q2 q4
{p}
{p}
q1 {p}
q3 q5
16 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Automaton for ϕ = p U ¬q
{p U ¬q, ¬p, ¬q}, {p U ¬q, p, ¬q}, {p U ¬q, p, q}, {¬p R q, p, q}, {¬p R q, ¬p, q},
| {z } | {z } | {z } | {z } | {z }
q1 q2 q3 q4 q5
q2 q4
q1 {p, q}
{p, q}
q3 {p, q} q5
16 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Automaton for ϕ = p U ¬q
{p U ¬q, ¬p, ¬q}, {p U ¬q, p, ¬q}, {p U ¬q, p, q}, {¬p R q, p, q}, {¬p R q, ¬p, q},
| {z } | {z } | {z } | {z } | {z }
q1 q2 q3 q4 q5
{p, q}
q2 q4
q1 {p, q}
q3 q5
16 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Automaton for ϕ = p U ¬q
{p U ¬q, ¬p, ¬q}, {p U ¬q, p, ¬q}, {p U ¬q, p, q}, {¬p R q, p, q}, {¬p R q, ¬p, q},
| {z } | {z } | {z } | {z } | {z }
q1 q2 q3 q4 q5
q2 q4
{q}
q1 {q} {q}
{q}
q3 q5 {q}
16 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
17 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
{p}
{p}, {}
18 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
19 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
20 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
21 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Negation vs Complement
22 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Negation vs Complement
22 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Complexity
23 / 24
Specification of Systems with Temporal Logic
LTL Model-Checking
Exercise 6
24 / 24