Formal Verification using Parity Games Mathias N. Justesen DTU - - PowerPoint PPT Presentation

formal verification using parity games
SMART_READER_LITE
LIVE PREVIEW

Formal Verification using Parity Games Mathias N. Justesen DTU - - PowerPoint PPT Presentation

Formal Verification using Parity Games Mathias N. Justesen DTU Compute, Technical University of Denmark (DTU) Overview Background Many problems within formal verification can be reduced to solving parity games Model checking (Stirling,


slide-1
SLIDE 1

Formal Verification using Parity Games

Mathias N. Justesen

DTU Compute, Technical University of Denmark (DTU)

slide-2
SLIDE 2

Overview

Background

  • Many problems within formal verification can be reduced to solving parity games
  • Model checking (Stirling, 1995)
  • Controller synthesis (Arnold et al. , 2003)
  • Satisfiability (Friedmann & Lange, 2009b)

2 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-3
SLIDE 3

Overview

Background

  • Many problems within formal verification can be reduced to solving parity games
  • Model checking (Stirling, 1995)
  • Controller synthesis (Arnold et al. , 2003)
  • Satisfiability (Friedmann & Lange, 2009b)
  • Practical work restricted to model checking
  • mCRL2 and LTSmin
  • PBES to parity game

2 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-4
SLIDE 4

Overview

Background

  • Many problems within formal verification can be reduced to solving parity games
  • Model checking (Stirling, 1995)
  • Controller synthesis (Arnold et al. , 2003)
  • Satisfiability (Friedmann & Lange, 2009b)
  • Practical work restricted to model checking
  • mCRL2 and LTSmin
  • PBES to parity game
  • Verification framework based on parity game solving

2 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-5
SLIDE 5

Overview

Framework

Controller synthesis Satisfiability Model checking Parity game Solution Controller Truth assignment Constructive proof Counter-example 1. 2. 3. Backend

3 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-6
SLIDE 6

Overview

Framework

Controller synthesis Satisfiability Model checking Parity game Solution Controller Truth assignment Constructive proof Counter-example 1. 2. 3. Backend

1 Model-checking for the modal µ-calculus

  • Semantics based on evaluation games
  • Conversion from evaluation game to parity game

3 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-7
SLIDE 7

Overview

Framework

Controller synthesis Satisfiability Model checking Parity game Solution Controller Truth assignment Constructive proof Counter-example 1. 2. 3. Backend

1 Model-checking for the modal µ-calculus

  • Semantics based on evaluation games
  • Conversion from evaluation game to parity game

2 Use solution to construct proof or counter-example

3 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-8
SLIDE 8

Overview

Framework

Controller synthesis Satisfiability Model checking Parity game Solution Controller Truth assignment Constructive proof Counter-example 1. 2. 3. Backend

1 Model-checking for the modal µ-calculus

  • Semantics based on evaluation games
  • Conversion from evaluation game to parity game

2 Use solution to construct proof or counter-example 3 Backend based on PGSolver

  • Solve parity games in normal form

3 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-9
SLIDE 9

Parity Game

6 2 3 7 4 5 8 1 Player 0 Player 1

4 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-10
SLIDE 10

Modal µ-calculus

Model Checking

  • M |

= ϕ?

5 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-11
SLIDE 11

Modal µ-calculus

Model Checking

  • M |

= ϕ?

  • M is a Labelled Transition System

s0 p s1 p,q b a a

5 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-12
SLIDE 12

Modal µ-calculus

Model Checking

  • M |

= ϕ?

  • M is a Labelled Transition System

s0 p s1 p,q b a a

  • Formulas of modal µ-calculus given proposition variables P and actions A:

ϕ ::= ⊤ | ⊥ | p | ¬p | ϕ ∧ ϕ | ϕ ∨ ϕ | aϕ | [a]ϕ | µx.ϕ | νx.ϕ where p, x ∈ P and a ∈ A

5 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-13
SLIDE 13

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-14
SLIDE 14

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-15
SLIDE 15

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-16
SLIDE 16

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-17
SLIDE 17

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-18
SLIDE 18

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-19
SLIDE 19

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-20
SLIDE 20

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-21
SLIDE 21

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-22
SLIDE 22

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-23
SLIDE 23

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 [a]x, s0 x, s0 x, s1 p ∨ [a]x, s1 p, s1 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

6 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-24
SLIDE 24

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 1 [a]x, s0 x, s0 1 x, s1 1 p ∨ [a]x, s1 p, s1 2 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

7 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-25
SLIDE 25

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 1 [a]x, s0 x, s0 1 x, s1 1 p ∨ [a]x, s1 p, s1 2 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

7 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-26
SLIDE 26

Modal µ-calculus

Evaluation Game

µx.p ∨ [a]x, s0 p ∨ [a]x, s0 p, s0 1 [a]x, s0 x, s0 1 x, s1 1 p ∨ [a]x, s1 p, s1 2 [a]x, s1 s0 s1 p µx.p ∨ [a]x Player 0: Prove Player 1: Disprove M, s0 | = ϕ iff (ϕ, s0) ∈ W0 Constructive proof or counter-example by the strategy of the winning player Construction cf. (Venema, 2008) a a a

7 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-27
SLIDE 27

Backend Solver

8 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-28
SLIDE 28

Backend Solver

  • Dominion Decomposition Algorithm (Jurdzinski et al. , 2008)
  • Runtime: O(n

√n)

  • Bad performance in practice

8 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-29
SLIDE 29

Backend Solver

  • Dominion Decomposition Algorithm (Jurdzinski et al. , 2008)
  • Runtime: O(n

√n)

  • Bad performance in practice
  • Zielonka’s Recursive Algorithm (Zielonka, 1998)
  • Runtime: O(nd)
  • Good performance in practice (Friedmann & Lange, 2009a)

8 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-30
SLIDE 30

Backend Solver

  • Dominion Decomposition Algorithm (Jurdzinski et al. , 2008)
  • Runtime: O(n

√n)

  • Bad performance in practice
  • Zielonka’s Recursive Algorithm (Zielonka, 1998)
  • Runtime: O(nd)
  • Good performance in practice (Friedmann & Lange, 2009a)
  • Normal-Form Algorithm 1 (Vester, 2015)
  • Considers parity games in normal form

8 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-31
SLIDE 31

Backend Solver

  • Dominion Decomposition Algorithm (Jurdzinski et al. , 2008)
  • Runtime: O(n

√n)

  • Bad performance in practice
  • Zielonka’s Recursive Algorithm (Zielonka, 1998)
  • Runtime: O(nd)
  • Good performance in practice (Friedmann & Lange, 2009a)
  • Normal-Form Algorithm 1 (Vester, 2015)
  • Considers parity games in normal form
  • Normal-Form Algorithm 2
  • Improved version of Normal-Form Algorithm 1

8 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-32
SLIDE 32

Normal Form

Definition

  • A parity game in normal form if

9 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-33
SLIDE 33

Normal Form

Definition

  • A parity game in normal form if
  • It is truly turn-based,

9 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-34
SLIDE 34

Normal Form

Definition

  • A parity game in normal form if
  • It is truly turn-based,
  • Player 0 controls only nodes of even priority, and
  • Player 1 controls only nodes of odd priority

9 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-35
SLIDE 35

Normal Form

Example

3 4 1 5

10 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-36
SLIDE 36

Normal Form

Example

3 4 1 5

11 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-37
SLIDE 37

Normal Form

Example

3 4 1 5

12 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-38
SLIDE 38

Normal Form

Example

3 4 1 5

13 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-39
SLIDE 39

Normal Form

Example

3 4 1 5

14 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-40
SLIDE 40

Normal Form

Example

3 4 1 5

15 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-41
SLIDE 41

Normal Form

Example

3 4 1 5

16 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-42
SLIDE 42

Normal Form

Advantages and Disadvantages

  • Quickly decide if a node is winning for Player 0 or Player 1

17 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-43
SLIDE 43

Normal Form

Advantages and Disadvantages

  • Quickly decide if a node is winning for Player 0 or Player 1
  • Many recursive calls - one per node

17 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-44
SLIDE 44

Normal Form

Advantages and Disadvantages

  • Quickly decide if a node is winning for Player 0 or Player 1
  • Many recursive calls - one per node
  • Normal-Form Algorithm 2 addresses this issue by considering all nodes of the

same priority at the same time

17 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-45
SLIDE 45

Normal Form

Advantages and Disadvantages

  • Quickly decide if a node is winning for Player 0 or Player 1
  • Many recursive calls - one per node
  • Normal-Form Algorithm 2 addresses this issue by considering all nodes of the

same priority at the same time

  • Algorithms restricted to games in normal form

17 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-46
SLIDE 46

Normal Form

Transformation

p v ∈ Vj p + 2 v 1 − j v′ p + 2 v j v′ j v′′ p m

  • d

2 = j p m

  • d

2

  • =

j

18 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-47
SLIDE 47

Benchmark

Comparison of Algorithms

Not NF Pre-NF NF n, d, degmin, degmax Zie NF1 NF2 Zie NF1 NF2 Zie NF1 NF2 100, 100, 2, 4 0.00 10.55 0.42 0.00 10.58 0.41 0.00 0.04 0.02 100, 100, 2, 10 0.00 6.13 0.29 0.00 6.16 0.28 0.00 0.01 0.01 100, 100, 2, 100 0.00 3.47 0.18 0.00 3.45 0.19 0.01 0.01 0.01 200, 200, 2, 4 0.00 11.01 0.00 10.78 0.01 0.43 0.23 200, 200, 2, 10 0.00 2.37 0.00 2.29 0.01 0.22 0.16 200, 200, 2, 200 0.01 69.29 2.29 0.01 52.05 2.27 0.05 0.05 0.03 500, 500, 2, 4 0.00 0.01 0.07 500, 500, 2, 10 0.01 0.03 0.10 13.24 6.31 500, 500, 2, 500 0.07 78.01 0.08 77.18 1.11 1.04 0.73

  • Rec. ladder 5

0.00 0.03 0.01

  • Rec. ladder 10

0.01 5.94 0.75

  • Rec. ladder 15

0.07 94.36

19 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-48
SLIDE 48

Benchmark

Testing the Limits

ϕn = ψn ∨ ¬ψn

20 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-49
SLIDE 49

Benchmark

Testing the Limits

ϕn = ψn ∨ ¬ψn ψn = µx1.νx2 . . . ηnxn.

  • q1 ∨
  • x1 ∧
  • q2 ∨ (x1 ∧ . . . (qn ∨ xn))
  • 20

DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-50
SLIDE 50

Benchmark

Testing the Limits

ϕn = ψn ∨ ¬ψn ψn = µx1.νx2 . . . ηnxn.

  • q1 ∨
  • x1 ∧
  • q2 ∨ (x1 ∧ . . . (qn ∨ xn))
  • ϕ =
  • a∈A

20 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-51
SLIDE 51

Benchmark

Testing the Limits

ϕn = ψn ∨ ¬ψn ψn = µx1.νx2 . . . ηnxn.

  • q1 ∨
  • x1 ∧
  • q2 ∨ (x1 ∧ . . . (qn ∨ xn))
  • ϕ =
  • a∈A

aϕ a

(a) L1

a b

(b) L2

a b c

(c) L3

20 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-52
SLIDE 52

Benchmark

Testing the Limits

LTS Nodes n Time L1 12.000 1024 3:27.4 L2 786.000 16 0:03.6 L2 1.573.000 17 0:03.8 L3 413.000 10 0:01.8 L3 1.240.000 11 0:05.6 L3 3.720.000 12 0:07.6

21 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-53
SLIDE 53

Benchmark

Testing the Limits

LTS Nodes n Time L1 12.000 1024 3:27.4 L2 786.000 16 0:03.6 L2 1.573.000 17 0:03.8 L3 413.000 10 0:01.8 L3 1.240.000 11 0:05.6 L3 3.720.000 12 0:07.6 State space: O

  • |M| · |Sfor(ϕ)|
  • 21

DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-54
SLIDE 54

Conclusions

  • Parity game solving is well suited for model checking

22 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-55
SLIDE 55

Conclusions

  • Parity game solving is well suited for model checking
  • Zielonka’s Algorithm works well in practice

22 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-56
SLIDE 56

Conclusions

  • Parity game solving is well suited for model checking
  • Zielonka’s Algorithm works well in practice
  • Future work

22 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-57
SLIDE 57

Conclusions

  • Parity game solving is well suited for model checking
  • Zielonka’s Algorithm works well in practice
  • Future work
  • Specialized algorithms

22 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-58
SLIDE 58

Conclusions

  • Parity game solving is well suited for model checking
  • Zielonka’s Algorithm works well in practice
  • Future work
  • Specialized algorithms
  • Winning cores

22 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-59
SLIDE 59

Conclusions

  • Parity game solving is well suited for model checking
  • Zielonka’s Algorithm works well in practice
  • Future work
  • Specialized algorithms
  • Winning cores
  • Controller synthesis (Arnold et al. , 2003; Ramadge & Wonham, 1989)

22 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-60
SLIDE 60

Conclusions

  • Parity game solving is well suited for model checking
  • Zielonka’s Algorithm works well in practice
  • Future work
  • Specialized algorithms
  • Winning cores
  • Controller synthesis (Arnold et al. , 2003; Ramadge & Wonham, 1989)
  • Symbolic representation of parity games (Kant & van de Pol, 2014)

22 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-61
SLIDE 61

References I

Arnold, A., Vincent, A., & Walukiewicz, I. 2003. Games for synthesis of controllers with partial observation. Theoretical Computer Science, 303(1), 7 – 34. Logic and Complexity in Computer Science. Artale, Alessandro. 2011. Formal Methods — Lecture III: Linear Temporal

  • Logic. URL: https://www.inf.unibz.it/∼artale/FM/slide3.pdf.

Friedmann, Oliver, & Lange, Martin. 2009a. Solving Parity Games in

  • Practice. Pages 182–196 of: Liu, Zhiming, & Ravn, Anders P. (eds),

Automated Technology for Verification and Analysis. Lecture Notes in Computer Science, vol. 5799. Springer Berlin Heidelberg. Friedmann, Oliver, & Lange, Martin. 2009b. Tableaux with automata. In:

  • Proc. Workshop on Tableaux vs. Automata as Logical Decision

Procedures, AutoTab, vol. 9. Jurdzinski, Marcin, Paterson, Mike, & Zwick, Uri. 2008. A deterministic subexponential algorithm for solving parity games. SIAM Journal on Computing, 38(4), 1519–1532.

23 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-62
SLIDE 62

References II

Kant, Gijs, & van de Pol, Jaco. 2014. Generating and Solving Symbolic Parity Games. Pages 2–14 of: Proceedings 3rd Workshop on GRAPH Inspection and Traversal Engineering, GRAPHITE 2014, Grenoble, France, 5th April 2014. Ramadge, P.J.G., & Wonham, W.M. 1989. The control of discrete event

  • systems. Proceedings of the IEEE, 77(1), 81–98.

Stirling, Colin. 1995. Local model checking games. Pages 1–11 of: CONCUR’95: Concurrency Theory. Springer. Venema, Yde. 2008. Lectures on the modal µ-calculus. Institute for Logic, Language and Computation, University of Amsterdam. Vester, Steen. 2015. A New Algorithm for Solving Parity Games. Zielonka, Wieslaw. 1998. Infinite games on finitely coloured graphs with applications to automata on infinite trees. Theoretical Computer Science, 200(1–2), 135 – 183.

24 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-63
SLIDE 63

Appendix

Implementation

LTS file µMC-formula file Graph representation Tree representation Parity Game Winning regions and strategies Yes/No Tree Ltsparser Mucalclexer Mucalcparser Mucalc Egtopg PGSolver Zielonka Mucalcmc 25 DTU Compute Formal Verification using Parity Games, NWPT 2015

slide-64
SLIDE 64

Appendix

Mutual Exclusion

s0 start Na, Nb s1 Ta, Nb s2 Ca, Nb s3 Ta, Tb s4 Ca, Tb s5 Na, Tb s6 Ta, Tb s7 Na, Cb s8 Ta, Cb Safety: ¬(Ca ∧ Cb) Liveness: ♦Ca (Ta → ♦Ca) Fairness: ♦Ca ♦Ta → ♦Ca a b a b b a a a a b b a b b Example from (Artale, 2011)

26 DTU Compute Formal Verification using Parity Games, NWPT 2015