Chapter 2 - CTL Model Checking Flashcards

1
Q

What does it mean TS ⊨ φ mean?

A

TS satisfies psi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Extended LTS with atomic propositions

A

is an LTS = (S, Σ, T, I, AP, L)

  • AP is the set of atomic propositions
  • L: S -> 2^AP is a labeling function that labels each state with a set of atomic propositions that are true in this state.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are action labels of Transitions in a LTS used for?

A

are mainly used to model the possibility of interactions of parts of a system.
They are needed to build the parallel composition(handshaking), where it needs to be defined which actions of concurrent processes must be carried out synchronously.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Kripke Structure KS(TS)

A

is the Kripke Structure of a LTS TS.

A KS over a set of atomic propositions AP is a tuple M=(S, S0, R, L)

  • S finite, non empty set of States
  • S0 ⊆ S is a set of initial states
  • R ⊆ SxS a transition relation that must be left-total
  • L: S -> 2^AP a labeling function that labels each state with a set of atomic propositions that are true in this state.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Left-totality def…

A

For all states s in S, there exists a state s’ in S such that there exists a transition from s to s’.

R is left-total iff ∀s ∈ S ∃s′∈S such that (s, s′)∈R.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Left-totality means..

A
  • there are no deadlock states

- all executions are infinite

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

CTL

A

Computation Tree Logic

is a logic for specifying properties of computation trees.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How is a computation tree formed?

A

it is formed from a KS by picking an initial state and unwinding the possible paths into a tree structure.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

CTL Formulas

A

…consist of <b>path quantifiers</b> and <b>temporal operators</b>, combined with predicates over atomic propositions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Path quantifiers

A

<b>A</b> (for all paths)

<b>E</b> (for some path)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Temporal operators

A

<b>X</b> (next)
<b>F</b> (eventually, in the future)
<b>G</b> (always)
<b>U</b> (until)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

CTL syntax definition

A
  • <i>true</i> and <i>false</i> are CTL formulas
  • if a ∈ AP an atomic proposition, then a is a CTL formula
  • if φ and ψ are CTL formulas, so are
    ¬φ, φ ∧ ψ, φ ∨ ψ
    AX φ, EXφ
    AGφ, EGφ
    AFφ, EFφ
    A[φ U ψ], E[ φ U ψ]
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Equivalences of CTL Formulas

AX φ

A

AX φ ≡ ¬EX(¬φ)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Equivalences of CTL Formulas

AF φ

A

AF φ ≡ ¬EG(¬φ)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Equivalences of CTL Formulas

AG φ

A

AG φ ≡ ¬EF(¬φ)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Equivalences of CTL Formulas

A[φ U ψ]

A

A[φ U ψ] ≡ ¬E [¬ψ U (¬φ ∧ ¬ψ)] ∧ ¬EG(¬ψ)

17
Q

Equivalences of CTL Formulas

EF φ

A

EF φ ≡ E [true U φ ]

18
Q

A path in a Kripke Structure is…

A
  • an infinite sequence of states π = s0, s1, s2,…
    -that follow each other

<pre> </pre>

∀ i ∈ N: s’i = si+1 ∃ (si, si+1) ∈ R
- and where s0 is an initial state, s0 ∈ S0

19
Q

When does a KS M satisfy a formula?

A

a KS satisfies a CTL formula if and only if the formula holds in every start state of the KS.

20
Q

Model checking with KS and CTL Formulas?

A

The defined model is represented by the Kripke Structure.

The specification is transformed into several CTL formulas.

21
Q

When does a KS satisfy a formula in model checking?

A

Given a CTL formula without nested temporal operators, the KS satisfies the formula iff after applying the checking function all start states are marked to satisfy the formula.

22
Q

Complexity CheckEG, CheckEX and CheckEU

A
  • has linear runtime with respect to (wrt) the number of nodes and transitions
    »> Complexity O(|S| + |R|)
    > called for each subformula of φ, where |φ| = nr of subformulas
    »»»» O( |φ| x (|S| + |R|) )
23
Q

Still difficult to prove the correctness of complex systems?

A

because of the <b><i>state-space explosion problem</i></b>.

> the size of the Kripke Structure grows <b>exponentially</b> with the number of variables or threads in the system.

24
Q

What is a counter example?

A

Is an example provided to prove that the model does not satisfy the specification. It is used to show how the specification can be violated.

> it is a path for which a given CTL formula (extracted from the specifications) does not hold. (mostly for an unsatisfied universally quantified formula, eg AG)

25
Q

What is a witness?

A

For an unsatisfied existentially quantified formula, eg EF
>there is no single execution to show that it does not hold
>but if the formula is satisfied, we can generate a witness: a path that shows that the formula is satisfied.