A Survey of Classical, Real-Time, and Time-Bounded Verification Jol - - PowerPoint PPT Presentation

a survey of classical real time and time bounded
SMART_READER_LITE
LIVE PREVIEW

A Survey of Classical, Real-Time, and Time-Bounded Verification Jol - - PowerPoint PPT Presentation

A Survey of Classical, Real-Time, and Time-Bounded Verification Jol Ouaknine Department of Computer Science Oxford University Quantitative Model Checking Winter School, February 2012 The Classical Theory of Verification Automata e T t a


slide-1
SLIDE 1

A Survey of Classical, Real-Time, and Time-Bounded Verification

Joël Ouaknine

Department of Computer Science Oxford University

Quantitative Model Checking Winter School, February 2012

slide-2
SLIDE 2

The Classical Theory of Verification

P r e d i c a t e L

  • g

i c Automata L

  • g

i c T e m p

  • r

a l

slide-3
SLIDE 3

The Classical Theory of Verification

P r e d i c a t e L

  • g

i c Automata L

  • g

i c T e m p

  • r

a l

◮ Qualitative (order-theoretic), rather than quantitative (metric).

slide-4
SLIDE 4

The Classical Theory of Verification

P r e d i c a t e L

  • g

i c Automata L

  • g

i c T e m p

  • r

a l

◮ Qualitative (order-theoretic), rather than quantitative (metric). ◮ Time is modelled as the naturals N = {0, 1, 2, 3, . . .}.

slide-5
SLIDE 5

The Classical Theory of Verification

P r e d i c a t e L

  • g

i c Automata L

  • g

i c T e m p

  • r

a l

◮ Qualitative (order-theoretic), rather than quantitative (metric). ◮ Time is modelled as the naturals N = {0, 1, 2, 3, . . .}. ◮ Note: focus on linear time (as opposed to branching time).

slide-6
SLIDE 6

A Simple Example

‘P occurs infinitely often’

slide-7
SLIDE 7

A Simple Example

‘P occurs infinitely often’

P

slide-8
SLIDE 8

A Simple Example

‘P occurs infinitely often’

P

♦P

slide-9
SLIDE 9

A Simple Example

‘P occurs infinitely often’

P

♦P ∀x ∃y (x < y ∧ P(y))

slide-10
SLIDE 10

Specification and Verification

◮ Linear Temporal Logic (LTL)

θ ::= P | θ1 ∧ θ2 | θ1 ∨ θ2 | ¬θ | θ | ♦θ | θ | θ1 U θ2 For example, (REQ → ♦ACK).

slide-11
SLIDE 11

Specification and Verification

◮ Linear Temporal Logic (LTL)

θ ::= P | θ1 ∧ θ2 | θ1 ∨ θ2 | ¬θ | θ | ♦θ | θ | θ1 U θ2 For example, (REQ → ♦ACK).

◮ First-Order Logic (FO(<))

ϕ ::= x < y | P(x) | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ¬ϕ | ∀x ϕ | ∃ xϕ For example, ∀x (REQ(x) → ∃y (x < y ∧ ACK(y))).

slide-12
SLIDE 12

Specification and Verification

◮ Linear Temporal Logic (LTL)

θ ::= P | θ1 ∧ θ2 | θ1 ∨ θ2 | ¬θ | θ | ♦θ | θ | θ1 U θ2 For example, (REQ → ♦ACK).

◮ First-Order Logic (FO(<))

ϕ ::= x < y | P(x) | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 | ¬ϕ | ∀x ϕ | ∃ xϕ For example, ∀x (REQ(x) → ∃y (x < y ∧ ACK(y))). Verification is model checking: IMP | = SPEC ?

slide-13
SLIDE 13

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

slide-14
SLIDE 14

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P

slide-15
SLIDE 15

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P ◮ It turns out it is impossible to capture this requirement

using LTL or FO(<).

slide-16
SLIDE 16

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P ◮ It turns out it is impossible to capture this requirement

using LTL or FO(<).

◮ LTL and FO(<) can however capture the specification:

‘Q holds precisely at even positions’:

slide-17
SLIDE 17

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P ◮ It turns out it is impossible to capture this requirement

using LTL or FO(<).

◮ LTL and FO(<) can however capture the specification:

‘Q holds precisely at even positions’: Q ∧ (Q → ¬Q) ∧ (¬Q → Q)

slide-18
SLIDE 18

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P ◮ It turns out it is impossible to capture this requirement

using LTL or FO(<).

◮ LTL and FO(<) can however capture the specification:

‘Q holds precisely at even positions’: Q ∧ (Q → ¬Q) ∧ (¬Q → Q)

◮ So one way to capture the original specification would be to

write:

slide-19
SLIDE 19

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P ◮ It turns out it is impossible to capture this requirement

using LTL or FO(<).

◮ LTL and FO(<) can however capture the specification:

‘Q holds precisely at even positions’: Q ∧ (Q → ¬Q) ∧ (¬Q → Q)

◮ So one way to capture the original specification would be to

write: ‘Q holds precisely at even positions and (Q → P)’.

slide-20
SLIDE 20

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P ◮ It turns out it is impossible to capture this requirement

using LTL or FO(<).

◮ LTL and FO(<) can however capture the specification:

‘Q holds precisely at even positions’: Q ∧ (Q → ¬Q) ∧ (¬Q → Q)

◮ So one way to capture the original specification would be to

write: ‘Q holds precisely at even positions and (Q → P)’.

◮ Finally, need to existentially quantify Q out:

slide-21
SLIDE 21

Another Example

‘P holds at every even position (and may or may not hold at odd positions)’

P P ◮ It turns out it is impossible to capture this requirement

using LTL or FO(<).

◮ LTL and FO(<) can however capture the specification:

‘Q holds precisely at even positions’: Q ∧ (Q → ¬Q) ∧ (¬Q → Q)

◮ So one way to capture the original specification would be to

write: ‘Q holds precisely at even positions and (Q → P)’.

◮ Finally, need to existentially quantify Q out:

∃Q (Q holds precisely at even positions and (Q → P))

slide-22
SLIDE 22

Monadic Second-Order Logic

Monadic Second-Order Logic (MSO(<)) ϕ ::= x < y | P(x) | ϕ1∧ϕ2 | ϕ1∨ϕ2 | ¬ϕ | ∀x ϕ | ∃x ϕ | ∀P ϕ | ∃P ϕ

slide-23
SLIDE 23

Monadic Second-Order Logic

Monadic Second-Order Logic (MSO(<)) ϕ ::= x < y | P(x) | ϕ1∧ϕ2 | ϕ1∨ϕ2 | ¬ϕ | ∀x ϕ | ∃x ϕ | ∀P ϕ | ∃P ϕ

Theorem (Büchi 1960)

Any MSO(<) formula ϕ can be effectively translated into an equivalent automaton Aϕ.

slide-24
SLIDE 24

Monadic Second-Order Logic

Monadic Second-Order Logic (MSO(<)) ϕ ::= x < y | P(x) | ϕ1∧ϕ2 | ϕ1∨ϕ2 | ¬ϕ | ∀x ϕ | ∃x ϕ | ∀P ϕ | ∃P ϕ

Theorem (Büchi 1960)

Any MSO(<) formula ϕ can be effectively translated into an equivalent automaton Aϕ.

Corollary (Church 1960)

The model-checking problem for automata against MSO(<) specifications is decidable: M | = ϕ iff L(M) ∩ L(A¬ϕ) = ∅

slide-25
SLIDE 25

Complexity

. . .

ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 2EXPSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

slide-26
SLIDE 26

Complexity

. . .

ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 2EXPSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE ◮ NON-ELEMENTARY: 222···n n ◮ NON-PRIMITIVE RECURSIVE:

Ackerman: 3, 4, 8, 2048, 222···2

2048

, . . .

slide-27
SLIDE 27

Complexity

. . .

ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 2EXPSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE ◮ NON-ELEMENTARY: 222···n n ◮ NON-PRIMITIVE RECURSIVE:

Ackerman: 3, 4, 8, 2048, 222···2

2048

, . . .

slide-28
SLIDE 28

Complexity and Equivalence

In fact:

Theorem (Stockmeyer 1974)

FO(<) satisfiability has non-elementary complexity.

slide-29
SLIDE 29

Complexity and Equivalence

In fact:

Theorem (Stockmeyer 1974)

FO(<) satisfiability has non-elementary complexity.

Theorem (Kamp 1968; Gabbay, Pnueli, Shelah, Stavi 1980)

LTL and FO(<) have precisely the same expressive power.

slide-30
SLIDE 30

Complexity and Equivalence

In fact:

Theorem (Stockmeyer 1974)

FO(<) satisfiability has non-elementary complexity.

Theorem (Kamp 1968; Gabbay, Pnueli, Shelah, Stavi 1980)

LTL and FO(<) have precisely the same expressive power. But amazingly:

Theorem (Sistla & Clarke 1982)

LTL satisfiability and model checking are PSPACE-complete.

slide-31
SLIDE 31

Logics and Automata

“The paradigmatic idea of the automata-theoretic approach to verification is that we can compile high-level logical specifications into an equivalent low-level finite-state formalism.” Moshe Vardi

slide-32
SLIDE 32

Logics and Automata

“The paradigmatic idea of the automata-theoretic approach to verification is that we can compile high-level logical specifications into an equivalent low-level finite-state formalism.” Moshe Vardi

Theorem

Automata are closed under all Boolean operations. Moreover, the language inclusion problem ( L(A) ⊆ L(B) ?) is PSPACE-complete.

slide-33
SLIDE 33

The Classical Theory: Expressiveness

FO(<) MSO(<) LTL automata ETL TL µ automata counter−free

slide-34
SLIDE 34

The Classical Theory: Expressiveness

FO(<) MSO(<) LTL automata ETL TL µ automata counter−free

slide-35
SLIDE 35

The Classical Theory: Expressiveness

MSO(<) FO(<) ETL TL µ automata LTL automata counter−free

slide-36
SLIDE 36

The Classical Theory: Expressiveness

MSO(<) FO(<) automata ETL TL µ LTL automata counter−free

slide-37
SLIDE 37

The Classical Theory: Complexity

. . .

ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

slide-38
SLIDE 38

The Classical Theory: Complexity

. . .

NLOGSPACE−complete reachability ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

slide-39
SLIDE 39

The Classical Theory: Complexity

. . .

NLOGSPACE−complete reachability ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE PSPACE−complete language inclusion

slide-40
SLIDE 40

The Classical Theory: Complexity

. . .

NLOGSPACE−complete reachability ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE PSPACE−complete LTL model checking PSPACE−complete language inclusion

slide-41
SLIDE 41

The Classical Theory: Complexity

. . .

NLOGSPACE−complete reachability ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE NON−ELEMENTARY FO(<) model checking PSPACE−complete LTL model checking PSPACE−complete language inclusion

slide-42
SLIDE 42

The Classical Theory: Complexity

. . .

NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking PSPACE−complete LTL model checking PSPACE−complete language inclusion ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

slide-43
SLIDE 43

From Qualitative to Quantitative

“Lift the classical theory to the real-time world.” Boris Trakhtenbrot, LICS 1995

slide-44
SLIDE 44

Airbus A350 XWB

slide-45
SLIDE 45

A350 XWB Fuel Management Sub-System

GROUND _OPS entry : GROUND _OPS _ACTIVE = TRUE; evaluate _conditions (); during : evaluate _conditions ();

5.2 (1)

GROUND _MODE _SELECTION

5.2.1 AUTOMATIC_REFUEL MANUAL _REFUEL 5.2.2 5.2.3 DEFUEL 5.2.4

AR _CONFIRM/ AR _AUTO_SOT = FALSE ; MR_CONFIRM / DF_CONFIRM GT_CONFIRM / OFF_CONFIRM

SHUT _OFF_TEST GROUND _TRANSFER 5.2.5 OFF 5.2.6 5.2.7

function evaluate _conditions

5.2 (2)

function GO_ D = DELAY ( d_t)

[( MANUAL_REFUEL | ... GROUND _SEL_FAULT) & ... DELAY(DELAY_MODE _SEL)]

1

[(( IRP_AUTO _REFUEL & ... ~ GROUND _SEL_FAULT ) | ... (ICP_AUTO_REFUEL)) & ... DELAY(DELAY_MODE _SEL)]

1

[(ICP_AUTO _ REFUEL & ... AR_AUTO_SOT) | ... (IRP_AUTO_REFUEL & ... AR_AUTO_SOT)]

2

[(ICP_AUTO_REFUEL & ... ~ AR_AUTO_SOT) | ... (IRP_AUTO _REFUEL & ... ~ AR_AUTO_SOT) ]

1

[( ~IRP_ AUTO _REFUEL & ... ~ ICP_AUTO_REFUEL) | ... GROUND _SEL_FAULT ]

2

[~MANUAL_REFUEL & ... ~ GROUND _SEL_ FAULT] [(IRP_AUTO_REFUEL & ... ~ GROUND _SEL_FAULT) | ... (ICP_AUTO _REFUEL)] / d_i=0;

1

[(DEFUEL _MODE & ... ~ GROUND _SEL_FAULT) & ... DELAY(DELAY_MODE _SEL)]

1

[~ DEFUEL _MODE | ... GROUND _SEL_FAULT ] [~MANUAL_REFUEL & ... ~ GROUND _SEL_FAULT ]

2

[( ~IRP_AUTO_REFUEL & ... ~ ICP_AUTO_REFUEL ) | ... GROUND _SEL_FAULT]

2

[MANUAL_REFUEL | ... GROUND_SEL_FAULT] / d_i=0;

6

[DEFUEL _ MODE & ... ~ GROUND _SEL_FAULT] / d_i=0;

5

[~DEFUEL_MODE | ... GROUND _SEL_FAULT ]

2

[(SOT_INITIATED & ... ~ GROUND _SEL_ FAULT)] ... {AR_AUTO_SOT = FALSE;}

2

[GROUND _TRANSFER & ... ~GROUND _SEL_FAULT ] / d_i= 0 ;

4

[~GROUND _TRANSFER | ... GROUND _SEL_FAULT ]

1

[System _State[SS_SOT_COMPLETE ] &... . ~ ICP_AUTO_REFUEL & ~ IRP_AUTO_REFUEL]

1

[~GROUND _TRANSFER | ... GROUND _SEL_FAULT ] [OFF _MODE _SEL & ... ~ GROUND _SEL_FAULT] / d_i=0;

3

[~OFF _MODE _SEL | ... GROUND _ SEL_FAULT]

1

[~OFF _MODE _SEL | GROUND _SEL_FAULT ] [(GROUND _TRANSFER & ... ~ GROUND_SEL_FAULT) & ... DELAY(DELAY_MODE _SEL)]

2

[( OFF_MODE _SEL & ... ~ GROUND _SEL_FAULT ) & ... DELAY(DELAY_MODE _ SEL)]

2
slide-46
SLIDE 46

BMW Hydrogen 7

slide-47
SLIDE 47

BMW Hydrogen 7

slide-48
SLIDE 48

Timed Systems

Timed systems are everywhere. . .

◮ Hardware circuits ◮ Communication protocols ◮ Cell phones ◮ Plant controllers ◮ Aircraft navigation systems ◮ Sensor networks ◮ . . .

slide-49
SLIDE 49

Timed Automata

Timed automata were introduced by Rajeev Alur at Stanford during his PhD thesis under David Dill:

◮ Rajeev Alur, David L. Dill: Automata For Modeling

Real-Time Systems. ICALP 1990: 322-335

◮ Rajeev Alur, David L. Dill: A Theory of Timed Automata.

TCS 126(2): 183-235, 1994

slide-50
SLIDE 50

Timed Automata

Time is modelled as the non-negative reals, R≥0.

slide-51
SLIDE 51

Timed Automata

Time is modelled as the non-negative reals, R≥0.

Theorem (Alur, Courcourbetis, Dill 1990)

Reachability is decidable, in fact PSPACE-complete.

slide-52
SLIDE 52

Timed Automata

Time is modelled as the non-negative reals, R≥0.

Theorem (Alur, Courcourbetis, Dill 1990)

Reachability is decidable, in fact PSPACE-complete. Unfortunately:

Theorem (Alur & Dill 1990)

Language inclusion is undecidable for timed automata.

slide-53
SLIDE 53

An Uncomplementable Timed Automaton

A :

  • a
  • a

x:=0

  • a

x=1?

  • a
  • a
slide-54
SLIDE 54

An Uncomplementable Timed Automaton

A :

  • a
  • a

x:=0

  • a

x=1?

  • a
  • a
  • L(A):

1

slide-55
SLIDE 55

An Uncomplementable Timed Automaton

A :

  • a
  • a

x:=0

  • a

x=1?

  • a
  • a
  • 1

L(A):

slide-56
SLIDE 56

An Uncomplementable Timed Automaton

A :

  • a
  • a

x:=0

  • a

x=1?

  • a
  • a
  • 1

L(A):

1 1

L(A):

slide-57
SLIDE 57

An Uncomplementable Timed Automaton

A :

  • a
  • a

x:=0

  • a

x=1?

  • a
  • a
  • 1

L(A):

1 1

L(A):

A cannot be complemented: There is no timed automaton B with L(B) = L(A).

slide-58
SLIDE 58

Metric Temporal Logic

Metric Temporal Logic (MTL) [Koymans; de Roever; Pnueli ∼1990] is a central quantitative specification formalism for timed systems.

slide-59
SLIDE 59

Metric Temporal Logic

Metric Temporal Logic (MTL) [Koymans; de Roever; Pnueli ∼1990] is a central quantitative specification formalism for timed systems.

◮ MTL = LTL + timing constraints on operators:

(PEDAL → ♦[5,10] BRAKE)

slide-60
SLIDE 60

Metric Temporal Logic

Metric Temporal Logic (MTL) [Koymans; de Roever; Pnueli ∼1990] is a central quantitative specification formalism for timed systems.

◮ MTL = LTL + timing constraints on operators:

(PEDAL → ♦[5,10] BRAKE)

◮ Widely cited and used (over nine hundred papers

according to scholar.google.com!).

slide-61
SLIDE 61

Metric Temporal Logic

Metric Temporal Logic (MTL) [Koymans; de Roever; Pnueli ∼1990] is a central quantitative specification formalism for timed systems.

◮ MTL = LTL + timing constraints on operators:

(PEDAL → ♦[5,10] BRAKE)

◮ Widely cited and used (over nine hundred papers

according to scholar.google.com!). Unfortunately:

Theorem (Alur & Henzinger 1992)

MTL satisfiability and model checking are undecidable over R≥0.

slide-62
SLIDE 62

Metric Temporal Logic

Metric Temporal Logic (MTL) [Koymans; de Roever; Pnueli ∼1990] is a central quantitative specification formalism for timed systems.

◮ MTL = LTL + timing constraints on operators:

(PEDAL → ♦[5,10] BRAKE)

◮ Widely cited and used (over nine hundred papers

according to scholar.google.com!). Unfortunately:

Theorem (Alur & Henzinger 1992)

MTL satisfiability and model checking are undecidable over R≥0. (Decidable but non-primitive recursive under certain semantic restrictions [Ouaknine & Worrell 2005].)

slide-63
SLIDE 63

Metric Predicate Logic

The first-order metric logic of order (FO(<,+1)) extends FO(<) by the unary function ‘+1’.

slide-64
SLIDE 64

Metric Predicate Logic

The first-order metric logic of order (FO(<,+1)) extends FO(<) by the unary function ‘+1’. For example, (PEDAL → ♦[5,10] BRAKE) becomes ∀x (PEDAL(x) → ∃y (x + 5 ≤ y ≤ x + 10 ∧ BRAKE(y)))

slide-65
SLIDE 65

Metric Predicate Logic

The first-order metric logic of order (FO(<,+1)) extends FO(<) by the unary function ‘+1’. For example, (PEDAL → ♦[5,10] BRAKE) becomes ∀x (PEDAL(x) → ∃y (x + 5 ≤ y ≤ x + 10 ∧ BRAKE(y)))

Theorem (Hirshfeld & Rabinovich 2007)

FO(<,+1) is strictly more expressive than MTL over R≥0.

slide-66
SLIDE 66

Metric Predicate Logic

The first-order metric logic of order (FO(<,+1)) extends FO(<) by the unary function ‘+1’. For example, (PEDAL → ♦[5,10] BRAKE) becomes ∀x (PEDAL(x) → ∃y (x + 5 ≤ y ≤ x + 10 ∧ BRAKE(y)))

Theorem (Hirshfeld & Rabinovich 2007)

FO(<,+1) is strictly more expressive than MTL over R≥0. Corollary: FO(<,+1) and MSO(<,+1) satisfiability and model checking are undecidable over R≥0.

slide-67
SLIDE 67

The Real-Time Theory: Expressiveness

FO(<,+1) MTL MSO(<,+1) automata timed

slide-68
SLIDE 68

The Real-Time Theory: Expressiveness

FO(<,+1) MTL MSO(<,+1) automata timed

slide-69
SLIDE 69

The Real-Time Theory: Complexity

2−clock+ language inclusion UNDECIDABLE 3−clock+ reachability PSPACE−complete 2−clock reachability NP−hard 1−clock reachability NLOGSPACE−complete 1−clock language inclusion NON−PRIMITIVE RECURSIVE

. . .

NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Real−Time Theory

slide-70
SLIDE 70

The Real-Time Theory: Complexity

2−clock+ language inclusion UNDECIDABLE 3−clock+ reachability PSPACE−complete 2−clock reachability NP−hard 1−clock language inclusion NON−PRIMITIVE RECURSIVE

. . .

NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 1−clock reachability NLOGSPACE−complete PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Real−Time Theory

slide-71
SLIDE 71

The Real-Time Theory: Complexity

2−clock+ language inclusion UNDECIDABLE 3−clock+ reachability PSPACE−complete 1−clock language inclusion NON−PRIMITIVE RECURSIVE

. . .

NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 1−clock reachability NLOGSPACE−complete 2−clock reachability NP−hard PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Real−Time Theory

slide-72
SLIDE 72

The Real-Time Theory: Complexity

2−clock+ language inclusion UNDECIDABLE 1−clock language inclusion NON−PRIMITIVE RECURSIVE

. . .

NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 3−clock+ reachability PSPACE−complete 1−clock reachability NLOGSPACE−complete 2−clock reachability NP−hard PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Real−Time Theory

slide-73
SLIDE 73

The Real-Time Theory: Complexity

2−clock+ language inclusion UNDECIDABLE

. . .

NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 3−clock+ reachability PSPACE−complete 1−clock reachability NLOGSPACE−complete 2−clock reachability NP−hard PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE 1−clock language inclusion NON−PRIMITIVE RECURSIVE

Classical Theory Real−Time Theory

slide-74
SLIDE 74

The Real-Time Theory: Complexity

. . .

2−clock+ language inclusion UNDECIDABLE NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 3−clock+ reachability PSPACE−complete 1−clock reachability NLOGSPACE−complete 2−clock reachability NP−hard PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE 1−clock language inclusion NON−PRIMITIVE RECURSIVE

Classical Theory Real−Time Theory

slide-75
SLIDE 75

The Real-Time Theory: Complexity

. . .

2−clock+ language inclusion UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 3−clock+ reachability PSPACE−complete 1−clock reachability NLOGSPACE−complete 2−clock reachability NP−hard PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE FO(<,+1) model checking UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE 1−clock language inclusion NON−PRIMITIVE RECURSIVE

Classical Theory Real−Time Theory

slide-76
SLIDE 76

The Real-Time Theory: Complexity

. . .

2−clock+ language inclusion UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 3−clock+ reachability PSPACE−complete 1−clock reachability NLOGSPACE−complete 2−clock reachability NP−hard PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<,+1) model checking UNDECIDABLE ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE 1−clock language inclusion NON−PRIMITIVE RECURSIVE

Classical Theory Real−Time Theory

slide-77
SLIDE 77

The Real-Time Theory: Complexity

. . .

MSO(<,+1) model checking UNDECIDABLE 2−clock+ language inclusion UNDECIDABLE FO(<,+1) model checking UNDECIDABLE MTL model checking NON−PRIMITIVE RECURSIVE/ UNDECIDABLE NLOGSPACE−complete reachability NON−ELEMENTARY MSO(<) model checking NON−ELEMENTARY FO(<) model checking 3−clock+ reachability PSPACE−complete 1−clock reachability NLOGSPACE−complete 2−clock reachability NP−hard PSPACE−complete LTL model checking PSPACE−complete language inclusion ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE 1−clock language inclusion NON−PRIMITIVE RECURSIVE

Classical Theory Real−Time Theory

slide-78
SLIDE 78

Key Stumbling Block

Theorem (Alur & Dill 1990)

Language inclusion is undecidable for timed automata.

slide-79
SLIDE 79

Timed Language Inclusion: Some Related Work

◮ Topological restrictions and digitization techniques:

[Henzinger, Manna, Pnueli 1992], [Bošnaˇ cki 1999], [Ouaknine & Worrell 2003]

◮ Fuzzy semantics / noise-based techniques:

[Maass & Orponen 1996], [Gupta, Henzinger, Jagadeesan 1997], [Fränzle 1999], [Henzinger & Raskin 2000], [Puri 2000], [Asarin & Bouajjani 2001], [Ouaknine & Worrell 2003], [Alur, La Torre, Madhusudan 2005]

◮ Determinisable subclasses of timed automata:

[Alur & Henzinger 1992], [Alur, Fix, Henzinger 1994], [Wilke 1996], [Raskin 1999]

◮ Timed simulation relations and homomorphisms:

[Lynch et al. 1992], [Ta¸ siran et al. 1996], [Kaynar, Lynch, Segala, Vaandrager 2003]

◮ Restrictions on the number of clocks:

[Ouaknine & Worrell 2004], [Emmi & Majumdar 2006]

slide-80
SLIDE 80

Time-Bounded Language Inclusion

TIME-BOUNDED LANGUAGE INCLUSION PROBLEM Instance: Timed automata A, B, and time bound T ∈ N Question: Is LT(A) ⊆ LT(B) ?

slide-81
SLIDE 81

Time-Bounded Language Inclusion

TIME-BOUNDED LANGUAGE INCLUSION PROBLEM Instance: Timed automata A, B, and time bound T ∈ N Question: Is LT(A) ⊆ LT(B) ?

◮ Inspired by Bounded Model Checking.

slide-82
SLIDE 82

Time-Bounded Language Inclusion

TIME-BOUNDED LANGUAGE INCLUSION PROBLEM Instance: Timed automata A, B, and time bound T ∈ N Question: Is LT(A) ⊆ LT(B) ?

◮ Inspired by Bounded Model Checking. ◮ Timed systems often have time bounds (e.g. timeouts),

even if total number of actions is potentially unbounded.

slide-83
SLIDE 83

Time-Bounded Language Inclusion

TIME-BOUNDED LANGUAGE INCLUSION PROBLEM Instance: Timed automata A, B, and time bound T ∈ N Question: Is LT(A) ⊆ LT(B) ?

◮ Inspired by Bounded Model Checking. ◮ Timed systems often have time bounds (e.g. timeouts),

even if total number of actions is potentially unbounded.

◮ Universe’s lifetime is believed to be bounded anyway. . .

slide-84
SLIDE 84

Timed Automata and Metric Logics

◮ Unfortunately, timed automata cannot be complemented

even over bounded time. . .

slide-85
SLIDE 85

Timed Automata and Metric Logics

◮ Unfortunately, timed automata cannot be complemented

even over bounded time. . .

◮ Key to solution is to translate problem into logic:

Behaviours of timed automata can be captured in MSO(<,+1)

slide-86
SLIDE 86

Timed Automata and Metric Logics

◮ Unfortunately, timed automata cannot be complemented

even over bounded time. . .

◮ Key to solution is to translate problem into logic:

Behaviours of timed automata can be captured in MSO(<,+1)

◮ This reverses Vardi’s ‘automata-theoretic approach to

verification’ paradigm!

slide-87
SLIDE 87

Monadic Second-Order Logic

Theorem (Shelah 1975)

MSO(<) is undecidable over [0, 1).

slide-88
SLIDE 88

Monadic Second-Order Logic

Theorem (Shelah 1975)

MSO(<) is undecidable over [0, 1). By contrast,

Theorem

◮ MSO(<) is decidable over N [Büchi 1960] ◮ MSO(<) is decidable over Q, via [Rabin 1969]

slide-89
SLIDE 89

Finite Variability

Timed behaviours are modelled as flows (or signals):

slide-90
SLIDE 90

Finite Variability

Timed behaviours are modelled as flows (or signals): f : [0, T) → 2MP P: Q: R:

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

slide-91
SLIDE 91

Finite Variability

Timed behaviours are modelled as flows (or signals): f : [0, T) → 2MP

1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

Q: R: P:

slide-92
SLIDE 92

Finite Variability

Timed behaviours are modelled as flows (or signals): f : [0, T) → 2MP

1 2 3 4 5

Q:

1 2 3 4 5

R:

1 2 3 4 5

P:

slide-93
SLIDE 93

Finite Variability

Timed behaviours are modelled as flows (or signals): f : [0, T) → 2MP

1 2 3 4 5

Q:

1 2 3 4 5

R:

1 2 3 4 5

P:

slide-94
SLIDE 94

Finite Variability

Timed behaviours are modelled as flows (or signals): f : [0, T) → 2MP

1 2 3 4 5

Q:

1 2 3 4 5

R:

1 2 3 4 5

P: Predicates must have finite variability:

slide-95
SLIDE 95

Finite Variability

Timed behaviours are modelled as flows (or signals): f : [0, T) → 2MP

1 2 3 4 5

Q:

1 2 3 4 5

R:

1 2 3 4 5

P: Predicates must have finite variability: Disallow e.g. Q:

1 2 3 4 5

P:

slide-96
SLIDE 96

Finite Variability

Timed behaviours are modelled as flows (or signals): f : [0, T) → 2MP

1 2 3 4 5

Q:

1 2 3 4 5

R:

1 2 3 4 5

P: Predicates must have finite variability: Disallow e.g. Q:

1 2 3 4 5

P: Then:

Theorem (Rabinovich 2002)

MSO(<) satisfiability over finitely-variable flows is decidable.

slide-97
SLIDE 97

The Time-Bounded Theory of Verification

Theorem

For any bounded time domain [0, T), satisfiability and model checking are decidable as follows: MSO(<,+1) NON-ELEMENTARY FO(<,+1) NON-ELEMENTARY MTL EXPSPACE-complete

slide-98
SLIDE 98

The Time-Bounded Theory of Verification

Theorem

For any bounded time domain [0, T), satisfiability and model checking are decidable as follows: MSO(<,+1) NON-ELEMENTARY FO(<,+1) NON-ELEMENTARY MTL EXPSPACE-complete

Theorem

MTL and FO(<,+1) are equally expressive over any fixed bounded time domain [0, T).

slide-99
SLIDE 99

The Time-Bounded Theory of Verification

Theorem

For any bounded time domain [0, T), satisfiability and model checking are decidable as follows: MSO(<,+1) NON-ELEMENTARY FO(<,+1) NON-ELEMENTARY MTL EXPSPACE-complete

Theorem

MTL and FO(<,+1) are equally expressive over any fixed bounded time domain [0, T).

Theorem

Given timed automata A, B, and time bound T ∈ N, the time-bounded language inclusion problem LT(A) ⊆ LT(B) is decidable and 2EXPSPACE-complete.

slide-100
SLIDE 100

MSO(<,+1) Time-Bounded Satisfiability

Key idea: eliminate the metric by ‘vertical stacking’.

slide-101
SLIDE 101

MSO(<,+1) Time-Bounded Satisfiability

Key idea: eliminate the metric by ‘vertical stacking’.

◮ Let ϕ be an MSO(<,+1) formula and let T ∈ N.

slide-102
SLIDE 102

MSO(<,+1) Time-Bounded Satisfiability

Key idea: eliminate the metric by ‘vertical stacking’.

◮ Let ϕ be an MSO(<,+1) formula and let T ∈ N. ◮ Construct an MSO(<) formula ϕ such that:

ϕ is satisfiable over [0, T) ⇐ ⇒ ϕ is satisfiable over [0, 1)

slide-103
SLIDE 103

MSO(<,+1) Time-Bounded Satisfiability

Key idea: eliminate the metric by ‘vertical stacking’.

◮ Let ϕ be an MSO(<,+1) formula and let T ∈ N. ◮ Construct an MSO(<) formula ϕ such that:

ϕ is satisfiable over [0, T) ⇐ ⇒ ϕ is satisfiable over [0, 1)

◮ Conclude by invoking decidability of MSO(<).

slide-104
SLIDE 104

From MSO(<,+1) to MSO(<)

1 3 2

P P : : : P

1 1 1

P:

1 2 3

slide-105
SLIDE 105

From MSO(<,+1) to MSO(<)

1 3 2

P P : : : P P:

1 1 1 1 2 3

slide-106
SLIDE 106

From MSO(<,+1) to MSO(<)

1 3 2

P P : : : P

1 1 1

P:

1 2 3

slide-107
SLIDE 107

From MSO(<,+1) to MSO(<)

2 1

P P P : : :

1 1 1

P:

1 2 3

slide-108
SLIDE 108

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-109
SLIDE 109

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-110
SLIDE 110

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-111
SLIDE 111

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-112
SLIDE 112

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-113
SLIDE 113

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-114
SLIDE 114

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-115
SLIDE 115

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

slide-116
SLIDE 116

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

slide-117
SLIDE 117

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

slide-118
SLIDE 118

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

◮ x + k1 < y + k2

slide-119
SLIDE 119

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

◮ x + k1 < y + k2

by    x < y if k1 = k2 true if k1 < k2 false if k1 > k2

slide-120
SLIDE 120

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

◮ x + k1 < y + k2

by    x < y if k1 = k2 true if k1 < k2 false if k1 > k2

◮ P(x + k)

slide-121
SLIDE 121

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

◮ x + k1 < y + k2

by    x < y if k1 = k2 true if k1 < k2 false if k1 > k2

◮ P(x + k)

by Pk(x)

slide-122
SLIDE 122

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

◮ x + k1 < y + k2

by    x < y if k1 = k2 true if k1 < k2 false if k1 > k2

◮ P(x + k)

by Pk(x)

◮ ∀P ψ

slide-123
SLIDE 123

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

◮ x + k1 < y + k2

by    x < y if k1 = k2 true if k1 < k2 false if k1 > k2

◮ P(x + k)

by Pk(x)

◮ ∀P ψ

by ∀P0 ∀P1 ∀P2 ψ

slide-124
SLIDE 124

From MSO(<,+1) to MSO(<)

2 1 1 1 1

P: P P P

1 2 3

: : :

Replace every:

◮ ∀x ψ(x)

by ∀x (ψ(x) ∧ ψ(x + 1) ∧ ψ(x + 2))

◮ x + k1 < y + k2

by    x < y if k1 = k2 true if k1 < k2 false if k1 > k2

◮ P(x + k)

by Pk(x)

◮ ∀P ψ

by ∀P0 ∀P1 ∀P2 ψ Then ϕ is satisfiable over [0, T) ⇐ ⇒ ϕ is satisfiable over [0, 1).

slide-125
SLIDE 125

The Time-Bounded Theory: Expressiveness

FO(<) LTL alternating timed automata

slide-126
SLIDE 126

The Time-Bounded Theory: Expressiveness

FO(<) LTL FO(<,+1) MTL alternating timed automata

slide-127
SLIDE 127

The Time-Bounded Theory: Expressiveness

FO(<) LTL MSO(<) MSO(<,+1) FO(<,+1) MTL automata timed alternating timed automata automata

slide-128
SLIDE 128

The Time-Bounded Theory: Expressiveness

FO(<) LTL MSO(<) MSO(<,+1) FO(<,+1) MTL alternating timed automata automata timed automata

slide-129
SLIDE 129

The Time-Bounded Theory: Complexity

. . .

NLOGSPACE−complete reachability PSPACE−complete LTL model checking PSPACE−complete language inclusion MSO(<) model checking NON−ELEMENTARY FO(<) model checking NON−ELEMENTARY ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Time−Bounded Theory

slide-130
SLIDE 130

The Time-Bounded Theory: Complexity

. . .

NLOGSPACE−complete reachability PSPACE−complete LTL model checking PSPACE−complete language inclusion reachability PSPACE−complete MSO(<) model checking NON−ELEMENTARY FO(<) model checking NON−ELEMENTARY ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Time−Bounded Theory

slide-131
SLIDE 131

The Time-Bounded Theory: Complexity

. . .

NLOGSPACE−complete reachability PSPACE−complete LTL model checking PSPACE−complete language inclusion MTL model checking EXPSPACE−complete reachability PSPACE−complete MSO(<) model checking NON−ELEMENTARY FO(<) model checking NON−ELEMENTARY ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Time−Bounded Theory

slide-132
SLIDE 132

The Time-Bounded Theory: Complexity

. . .

NLOGSPACE−complete reachability PSPACE−complete LTL model checking PSPACE−complete language inclusion MTL model checking EXPSPACE−complete reachability PSPACE−complete language inclusion 2EXPSPACE−complete MSO(<) model checking NON−ELEMENTARY FO(<) model checking NON−ELEMENTARY ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Time−Bounded Theory

slide-133
SLIDE 133

The Time-Bounded Theory: Complexity

. . .

NLOGSPACE−complete reachability PSPACE−complete LTL model checking PSPACE−complete language inclusion MTL model checking EXPSPACE−complete reachability PSPACE−complete language inclusion 2EXPSPACE−complete MSO(<) model checking NON−ELEMENTARY FO(<) model checking NON−ELEMENTARY FO(<,+1) model checking NON−ELEMENTARY ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Time−Bounded Theory

slide-134
SLIDE 134

The Time-Bounded Theory: Complexity

. . .

NLOGSPACE−complete reachability PSPACE−complete LTL model checking PSPACE−complete language inclusion MTL model checking EXPSPACE−complete reachability PSPACE−complete language inclusion 2EXPSPACE−complete MSO(<) model checking NON−ELEMENTARY FO(<) model checking NON−ELEMENTARY FO(<,+1) model checking NON−ELEMENTARY MSO(<,+1) model checking NON−ELEMENTARY ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Time−Bounded Theory

slide-135
SLIDE 135

The Time-Bounded Theory: Complexity

. . .

NLOGSPACE−complete reachability PSPACE−complete LTL model checking PSPACE−complete language inclusion MTL model checking EXPSPACE−complete reachability PSPACE−complete language inclusion 2EXPSPACE−complete MSO(<) model checking NON−ELEMENTARY FO(<) model checking NON−ELEMENTARY FO(<,+1) model checking NON−ELEMENTARY MSO(<,+1) model checking NON−ELEMENTARY NON−ELEMENTARY alternating timed automata ELEMENTARY (PRIMITIVE RECURSIVE) NON−ELEMENTARY SPACE NLOG− P PSPACE 3EXPSPACE EXPSPACE NP NON−PRIMITIVE RECURSIVE

UNDECIDABLE

2EXPSPACE

Classical Theory Time−Bounded Theory

slide-136
SLIDE 136

Conclusion and Future Work

◮ For real-time systems, the time-bounded theory is much

better behaved than the real-time theory.

slide-137
SLIDE 137

Conclusion and Future Work

◮ For real-time systems, the time-bounded theory is much

better behaved than the real-time theory. Future work:

◮ Extend the theory further!

◮ Branching-time ◮ Timed games and synthesis ◮ Weighted and hybrid automata ◮ . . .

◮ Algorithmic and complexity issues ◮ Expressiveness issues ◮ Implementation and case studies