Petri Nets Tutorial, Parametric Verification (session 1) tienne - - PowerPoint PPT Presentation

petri nets tutorial parametric verification session 1
SMART_READER_LITE
LIVE PREVIEW

Petri Nets Tutorial, Parametric Verification (session 1) tienne - - PowerPoint PPT Presentation

Petri Nets Tutorial, Parametric Verification (session 1) tienne Andr, Didier Lime, Wojciech Penczek, Laure Petrucci LIPN, Universit Paris 13 Etienne.Andre@lipn.univ-paris13.fr IRCCyN, cole Centrale de Nantes Didier.Lime@ec-nantes.fr


slide-1
SLIDE 1

Petri Nets Tutorial, Parametric Verification (session 1)

Étienne André, Didier Lime, Wojciech Penczek, Laure Petrucci

Etienne.Andre@lipn.univ-paris13.fr LIPN, Université Paris 13 Didier.Lime@ec-nantes.fr IRCCyN, École Centrale de Nantes penczek@ipipan.waw.pl IPI-PAN, Warsaw Laure.Petrucci@lipn.univ-paris13.fr LIPN, Université Paris 13

June 21st, 2016

1 / 91

slide-2
SLIDE 2

Thanks

Thanks for their support to... project PACS ANR-14-CE28-0002 IPI-PAN, IRCCyN, LIPN and of course... All the developers of the tools

2 / 91

slide-3
SLIDE 3

Outline

General Introduction

Why parameters and of what kind? Modelling languages: PN, PTA and their extensions. Problems of interest.

Parametric Timed Automata

Basic definitions and examples. Decidability results. EFSynth and IM algorithms. Distributed algorithms. IMITATOR in a nutshell.

Parametric Interval Markov Chains

Basic definitions and examples. Algorithm for Parameter Synthesis. Detailed example.

3 / 91

slide-4
SLIDE 4

4 / 91

slide-5
SLIDE 5

General Introduction

5 / 91

slide-6
SLIDE 6

First of all. . .

You know about automata and/or Petri nets: about their structure about their behaviour some analysis techniques

6 / 91

slide-7
SLIDE 7

First of all. . .

You know about automata and/or Petri nets: about their structure about their behaviour some analysis techniques Nice means to model and analyse concurrent systems. . . . . . but . . . need for tuning the model need for parametrisation

6 / 91

slide-8
SLIDE 8

First of all. . .

You know about automata and/or Petri nets: about their structure about their behaviour some analysis techniques Nice means to model and analyse concurrent systems. . . . . . but . . . need for tuning the model need for parametrisation Let us have a deeper look into this now

6 / 91

slide-9
SLIDE 9

Why parameters and of what kind?

Why parameters?

1

several copies of a same process or component, dimensioning, e.g.:

sensors in a wireless sensor network

2

multiple a priori possible actions, e.g.:

modelling different design choices

3

several hardware characteristics, e.g.:

different response time of electronic components

7 / 91

slide-10
SLIDE 10

Why parameters and of what kind?

Why parameters?

1

several copies of a same process or component, dimensioning, e.g.:

sensors in a wireless sensor network

2

multiple a priori possible actions, e.g.:

modelling different design choices

3

several hardware characteristics, e.g.:

different response time of electronic components

What kind of parameters?

1

instances numbering

2

enabled/disabled actions

3

time or probabilities

7 / 91

slide-11
SLIDE 11

Modelling languages: PN, automata and their extensions

Usual modelling languages are not sufficient: numbering possible with CPN, but fixed a priori no specific handling of (un)controllable actions timing included in TA or TPN, but also fixed

8 / 91

slide-12
SLIDE 12

Problems of interest

model parts of interest with parameters find some constraints on parameters guaranteeing desired properties find all parameter values guaranteeing these properties

9 / 91

slide-13
SLIDE 13

Conclusion

At this stage: you have an idea on parametric modelling issues

instances (un)controllable actions time or probability constraints

. . . and problems to address

10 / 91

slide-14
SLIDE 14

Conclusion

At this stage: you have an idea on parametric modelling issues

instances (un)controllable actions time or probability constraints

. . . and problems to address Let us start with timing parameters (next sequence)

10 / 91

slide-15
SLIDE 15

11 / 91

slide-16
SLIDE 16

Parametric Timed Automata: Basic definitions and examples

12 / 91

slide-17
SLIDE 17

First of all. . .

You have an idea on: parametric modelling issues

instances (un)controllable actions time or probability constraints

problems to address

13 / 91

slide-18
SLIDE 18

First of all. . .

You have an idea on: parametric modelling issues

instances (un)controllable actions time or probability constraints

problems to address Let us introduce timing parameters now

13 / 91

slide-19
SLIDE 19

Timed automaton (TA)

Finite state automaton (sets of locations )

14 / 91

slide-20
SLIDE 20

Timed automaton (TA)

Finite state automaton (sets of locations and actions)

start? cup! sugar? coffee!

14 / 91

slide-21
SLIDE 21

Timed automaton (TA)

Finite state automaton (sets of locations and actions) augmented with a set X

  • f clocks Alur and Dill [1994]

Real-valued variables evolving linearly at the same rate

start? cup! sugar? coffee!

14 / 91

slide-22
SLIDE 22

Timed automaton (TA)

Finite state automaton (sets of locations and actions) augmented with a set X

  • f clocks Alur and Dill [1994]

Real-valued variables evolving linearly at the same rate Can be compared to integer constants in invariants

Features

Location invariant: property to be verified to stay at a location

y ≤ 5 y ≤ 8 start? cup! sugar? coffee!

14 / 91

slide-23
SLIDE 23

Timed automaton (TA)

Finite state automaton (sets of locations and actions) augmented with a set X

  • f clocks Alur and Dill [1994]

Real-valued variables evolving linearly at the same rate Can be compared to integer constants in invariants and guards

Features

Location invariant: property to be verified to stay at a location Transition guard: property to be verified to enable a transition

y ≤ 5 y ≤ 8 start? y = 5 cup! x ≥ 1 sugar? y = 8 coffee!

14 / 91

slide-24
SLIDE 24

Timed automaton (TA)

Finite state automaton (sets of locations and actions) augmented with a set X

  • f clocks Alur and Dill [1994]

Real-valued variables evolving linearly at the same rate Can be compared to integer constants in invariants and guards

Features

Location invariant: property to be verified to stay at a location Transition guard: property to be verified to enable a transition Clock reset: some of the clocks can be set to 0 at each transition

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

14 / 91

slide-25
SLIDE 25

Concrete semantics of timed automata

Concrete state of a TA: pair (l, w), where

l is a location, w is a valuation of each clock

Concrete run: alternating sequence of concrete states and actions or time elapse

15 / 91

slide-26
SLIDE 26

Examples of concrete runs

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Possible concrete runs for the coffee machine

16 / 91

slide-27
SLIDE 27

Examples of concrete runs

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Possible concrete runs for the coffee machine

Coffee with no sugar

x y 15.4 15.4 5 5 5 5 8 8 8 8 15.4 start? 5 cup! 3 coffee!

16 / 91

slide-28
SLIDE 28

Examples of concrete runs

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Possible concrete runs for the coffee machine

Coffee with no sugar

x y 15.4 15.4 5 5 5 5 8 8 8 8 15.4 start? 5 cup! 3 coffee!

Coffee with 2 doses of sugar

x y 1.5 1.5 1.5 2.7 4.2 4.2 0.8 5 0.8 5 3.8 8 3.8 8 start? 1.5 sugar? 2.7 sugar? 0.8 cup! 3 coffee!

16 / 91

slide-29
SLIDE 29

Verification of (timed) properties

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Decide whether the following properties are satisfied for the timed coffee vending machine “Once the cup is delivered, coffee will come next within 2 seconds.” “It is possible to get a coffee with 5 doses of sugar.” “After the start button is pressed, a coffee is always eventually delivered.” “It is impossible to press the sugar button twice within 1 second.”

17 / 91

slide-30
SLIDE 30

Verification of (timed) properties

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Decide whether the following properties are satisfied for the timed coffee vending machine × “Once the cup is delivered, coffee will come next within 2 seconds.” “It is possible to get a coffee with 5 doses of sugar.” “After the start button is pressed, a coffee is always eventually delivered.” “It is impossible to press the sugar button twice within 1 second.”

17 / 91

slide-31
SLIDE 31

Verification of (timed) properties

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Decide whether the following properties are satisfied for the timed coffee vending machine × “Once the cup is delivered, coffee will come next within 2 seconds.” √ “It is possible to get a coffee with 5 doses of sugar.” “After the start button is pressed, a coffee is always eventually delivered.” “It is impossible to press the sugar button twice within 1 second.”

17 / 91

slide-32
SLIDE 32

Verification of (timed) properties

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Decide whether the following properties are satisfied for the timed coffee vending machine × “Once the cup is delivered, coffee will come next within 2 seconds.” √ “It is possible to get a coffee with 5 doses of sugar.” √ “After the start button is pressed, a coffee is always eventually delivered.” “It is impossible to press the sugar button twice within 1 second.”

17 / 91

slide-33
SLIDE 33

Verification of (timed) properties

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

Decide whether the following properties are satisfied for the timed coffee vending machine × “Once the cup is delivered, coffee will come next within 2 seconds.” √ “It is possible to get a coffee with 5 doses of sugar.” √ “After the start button is pressed, a coffee is always eventually delivered.” × “It is impossible to press the sugar button twice within 1 second.”

17 / 91

slide-34
SLIDE 34

Why timing parameters?

Challenge 1: systems incompletely specified

Some delays may not be known yet, or may change

Challenge 2: Robustness Markey [2011]

What happens if 8 is implemented with 7.99? Can I really get a coffee with 5 doses of sugar?

Challenge 3: Optimisation of timing constants

Up to which value of the delay between two actions sugar? can I still order a coffee with 3 doses of sugar?

Challenge 4: Avoid numerous verifications

If one of the timing delays of the model changes, should I model check again the whole system?

18 / 91

slide-35
SLIDE 35

Why timing parameters?

Challenge 1: systems incompletely specified

Some delays may not be known yet, or may change

Challenge 2: Robustness Markey [2011]

What happens if 8 is implemented with 7.99? Can I really get a coffee with 5 doses of sugar?

Challenge 3: Optimisation of timing constants

Up to which value of the delay between two actions sugar? can I still order a coffee with 3 doses of sugar?

Challenge 4: Avoid numerous verifications

If one of the timing delays of the model changes, should I model check again the whole system?

A solution: Parametric analysis

Consider that timing constants are unknown (parameters) Find good values for the parameters s.t. the system behaves well

18 / 91

slide-36
SLIDE 36

Parametric Timed Automaton (PTA)

Timed automaton (sets of locations, actions and clocks)

y ≤ 5 y ≤ 8 start? x := 0 y := 0 y = 5 cup! x ≥ 1 sugar? x := 0 y = 8 coffee!

19 / 91

slide-37
SLIDE 37

Parametric Timed Automaton (PTA)

Timed automaton (sets of locations, actions and clocks) augmented with a set P of parameters Alur et al. [1993]

Unknown constants compared to a clock in guards and invariants

y ≤ p2 y ≤ 8 start? x := 0 y := 0 y = p2 cup! x ≥ p1 sugar? x := 0 y = p3 coffee!

19 / 91

slide-38
SLIDE 38

Conclusion

At this stage: you have an idea on Parametric Timed Automata and the challenges for parametric analysis

20 / 91

slide-39
SLIDE 39

Conclusion

At this stage: you have an idea on Parametric Timed Automata and the challenges for parametric analysis Let us go for decidability results (next sequence)

20 / 91

slide-40
SLIDE 40

21 / 91

slide-41
SLIDE 41

Decidability results for Parametric Timed Automata

22 / 91

slide-42
SLIDE 42

First of all. . .

You have an idea on: Parametric Timed Automata the challenges for parametric analysis

23 / 91

slide-43
SLIDE 43

First of all. . .

You have an idea on: Parametric Timed Automata the challenges for parametric analysis Let us now see some decidability results

23 / 91

slide-44
SLIDE 44

What is decidability?

A decision problem is decidable if one can design an algorithm that, for any input

  • f the problem, can answer yes or no (in a finite time, with a finite memory).

24 / 91

slide-45
SLIDE 45

What is decidability?

A decision problem is decidable if one can design an algorithm that, for any input

  • f the problem, can answer yes or no (in a finite time, with a finite memory).

Examples: “given three integers, is one of them the product of the other two?” “given a timed automaton, does there exist a run from the initial state to a given location l?” “given a context-free grammar, does it generate all strings?” “given a Turing machine, will it eventually halt?”

24 / 91

slide-46
SLIDE 46

What is decidability?

A decision problem is decidable if one can design an algorithm that, for any input

  • f the problem, can answer yes or no (in a finite time, with a finite memory).

Examples: √ “given three integers, is one of them the product of the other two?” “given a timed automaton, does there exist a run from the initial state to a given location l?” “given a context-free grammar, does it generate all strings?” “given a Turing machine, will it eventually halt?”

24 / 91

slide-47
SLIDE 47

What is decidability?

A decision problem is decidable if one can design an algorithm that, for any input

  • f the problem, can answer yes or no (in a finite time, with a finite memory).

Examples: √ “given three integers, is one of them the product of the other two?” √ “given a timed automaton, does there exist a run from the initial state to a given location l?” “given a context-free grammar, does it generate all strings?” “given a Turing machine, will it eventually halt?”

24 / 91

slide-48
SLIDE 48

What is decidability?

A decision problem is decidable if one can design an algorithm that, for any input

  • f the problem, can answer yes or no (in a finite time, with a finite memory).

Examples: √ “given three integers, is one of them the product of the other two?” √ “given a timed automaton, does there exist a run from the initial state to a given location l?” × “given a context-free grammar, does it generate all strings?” “given a Turing machine, will it eventually halt?”

24 / 91

slide-49
SLIDE 49

What is decidability?

A decision problem is decidable if one can design an algorithm that, for any input

  • f the problem, can answer yes or no (in a finite time, with a finite memory).

Examples: √ “given three integers, is one of them the product of the other two?” √ “given a timed automaton, does there exist a run from the initial state to a given location l?” × “given a context-free grammar, does it generate all strings?” × “given a Turing machine, will it eventually halt?”

24 / 91

slide-50
SLIDE 50

Why studying decidability?

If a decision problem is undecidable, it is hopeless to look for algorithms yielding exact solutions for computation problems (because that is impossible)

25 / 91

slide-51
SLIDE 51

Why studying decidability?

If a decision problem is undecidable, it is hopeless to look for algorithms yielding exact solutions for computation problems (because that is impossible) However, one can: design semi-algorithms: if the algorithm halts, then its result is correct design algorithms yielding over- or under-approximations

25 / 91

slide-52
SLIDE 52

Decision and computation problems for PTA

EF-Emptiness “Does there exist a parameter valuation for which a given location l is reachable?” Example: “Does there exist at least one parameter valuation for which I can get a coffee with 2 sugars?” EF-Universality “Do all parameter valuations allow to reach a given location l?” Example: “Are all parameter valuations such that I may eventually get a coffee?” Preservation of the untimed language “Given a parameter valuation, does there exist another valuation with the same untimed language?” Example: “Given the valuation p1 = 1, p2 = 5, p3 = 8, do there exist other valuations with the same possible untimed behaviours?” EF-Synthesis “Find all parameter valuations for which a given location l is reachable” Example: “What are all parameter valuations such that one may eventually get a coffee?”

26 / 91

slide-53
SLIDE 53

Decision and computation problems for PTA

EF-Emptiness “Does there exist a parameter valuation for which a given location l is reachable?” Example: “Does there exist at least one parameter valuation for which I can get a coffee with 2 sugars?” √, e.g. p1 = 1, p2 = 5, p3 = 8 EF-Universality “Do all parameter valuations allow to reach a given location l?” Example: “Are all parameter valuations such that I may eventually get a coffee?” Preservation of the untimed language “Given a parameter valuation, does there exist another valuation with the same untimed language?” Example: “Given the valuation p1 = 1, p2 = 5, p3 = 8, do there exist other valuations with the same possible untimed behaviours?” EF-Synthesis “Find all parameter valuations for which a given location l is reachable” Example: “What are all parameter valuations such that one may eventually get a coffee?”

26 / 91

slide-54
SLIDE 54

Decision and computation problems for PTA

EF-Emptiness “Does there exist a parameter valuation for which a given location l is reachable?” Example: “Does there exist at least one parameter valuation for which I can get a coffee with 2 sugars?” √, e.g. p1 = 1, p2 = 5, p3 = 8 EF-Universality “Do all parameter valuations allow to reach a given location l?” Example: “Are all parameter valuations such that I may eventually get a coffee?” ×, e.g. p1 = 1, p2 = 5, p3 = 2 Preservation of the untimed language “Given a parameter valuation, does there exist another valuation with the same untimed language?” Example: “Given the valuation p1 = 1, p2 = 5, p3 = 8, do there exist other valuations with the same possible untimed behaviours?” EF-Synthesis “Find all parameter valuations for which a given location l is reachable” Example: “What are all parameter valuations such that one may eventually get a coffee?”

26 / 91

slide-55
SLIDE 55

Decision and computation problems for PTA

EF-Emptiness “Does there exist a parameter valuation for which a given location l is reachable?” Example: “Does there exist at least one parameter valuation for which I can get a coffee with 2 sugars?” √, e.g. p1 = 1, p2 = 5, p3 = 8 EF-Universality “Do all parameter valuations allow to reach a given location l?” Example: “Are all parameter valuations such that I may eventually get a coffee?” ×, e.g. p1 = 1, p2 = 5, p3 = 2 Preservation of the untimed language “Given a parameter valuation, does there exist another valuation with the same untimed language?” Example: “Given the valuation p1 = 1, p2 = 5, p3 = 8, do there exist other valuations with the same possible untimed behaviours?” √ EF-Synthesis “Find all parameter valuations for which a given location l is reachable” Example: “What are all parameter valuations such that one may eventually get a coffee?”

26 / 91

slide-56
SLIDE 56

Decision and computation problems for PTA

EF-Emptiness “Does there exist a parameter valuation for which a given location l is reachable?” Example: “Does there exist at least one parameter valuation for which I can get a coffee with 2 sugars?” √, e.g. p1 = 1, p2 = 5, p3 = 8 EF-Universality “Do all parameter valuations allow to reach a given location l?” Example: “Are all parameter valuations such that I may eventually get a coffee?” ×, e.g. p1 = 1, p2 = 5, p3 = 2 Preservation of the untimed language “Given a parameter valuation, does there exist another valuation with the same untimed language?” Example: “Given the valuation p1 = 1, p2 = 5, p3 = 8, do there exist other valuations with the same possible untimed behaviours?” √ EF-Synthesis “Find all parameter valuations for which a given location l is reachable” Example: “What are all parameter valuations such that one may eventually get a coffee?” 0 ≤ p2 ≤ p3 ≤ 8

26 / 91

slide-57
SLIDE 57

Decidability for PTA

EF-emptiness problem “Does there exist a parameter valuation for which a given location l is reachable?” undecidable

Alur et al. [1993]; Beneš et al. [2015]

27 / 91

slide-58
SLIDE 58

Decidability for PTA

EF-emptiness problem “Does there exist a parameter valuation for which a given location l is reachable?” undecidable

Alur et al. [1993]; Beneš et al. [2015]

EF-universality problem “Do all parameter valuations allow to reach a given location l?” undecidable

André et al. [2016]

27 / 91

slide-59
SLIDE 59

Decidability for PTA

EF-emptiness problem “Does there exist a parameter valuation for which a given location l is reachable?” undecidable

Alur et al. [1993]; Beneš et al. [2015]

EF-universality problem “Do all parameter valuations allow to reach a given location l?” undecidable

André et al. [2016]

Preservation of the untimed language “Given a parameter valuation, does there exist another valuations with the same untimed language?” undecidable

André and Markey [2015]

27 / 91

slide-60
SLIDE 60

Decidability for PTA

EF-emptiness problem “Does there exist a parameter valuation for which a given location l is reachable?” undecidable

Alur et al. [1993]; Beneš et al. [2015]

EF-universality problem “Do all parameter valuations allow to reach a given location l?” undecidable

André et al. [2016]

Preservation of the untimed language “Given a parameter valuation, does there exist another valuations with the same untimed language?” undecidable

André and Markey [2015]

In fact most interesting problems for PTAs are undecidable

André [2015]

27 / 91

slide-61
SLIDE 61

Limiting the number of clocks

Undecidability is achieved for a single parameter

Miller [2000]; Beneš et al. [2015]

However, reducing the number of clocks yields decidability of the EF-emptiness problem:

28 / 91

slide-62
SLIDE 62

Limiting the number of clocks

Undecidability is achieved for a single parameter

Miller [2000]; Beneš et al. [2015]

However, reducing the number of clocks yields decidability of the EF-emptiness problem: √ 1 parametric clock and arbitrarily many non-parametric clocks and integer-valued parameters

Beneš et al. [2015]

28 / 91

slide-63
SLIDE 63

Limiting the number of clocks

Undecidability is achieved for a single parameter

Miller [2000]; Beneš et al. [2015]

However, reducing the number of clocks yields decidability of the EF-emptiness problem: √ 1 parametric clock and arbitrarily many non-parametric clocks and integer-valued parameters

Beneš et al. [2015]

√ 1 parametric clock and arbitrarily many rational-valued parameters Miller [2000]

28 / 91

slide-64
SLIDE 64

Limiting the number of clocks

Undecidability is achieved for a single parameter

Miller [2000]; Beneš et al. [2015]

However, reducing the number of clocks yields decidability of the EF-emptiness problem: √ 1 parametric clock and arbitrarily many non-parametric clocks and integer-valued parameters

Beneš et al. [2015]

√ 1 parametric clock and arbitrarily many rational-valued parameters Miller [2000] √ 2 parametric clocks and 1 integer-valued parameter

Bundala and Ouaknine [2014]

28 / 91

slide-65
SLIDE 65

L/U-PTA

Definition

A lower/upper bound PTA (L/U-PTA) is a PTA in which each parameter p is always compared with clocks as an upper bound or always as a lower bound.

y ≤ p2 y ≤ 8 start? x := 0 y := 0 y ≤ p2 ∧ y = 6 cup! x ≥ p1 sugar? x := 0 p3 ≤ y ≤ p4 coffee!

Lower-bound parameters: Upped-bound parameters:

29 / 91

slide-66
SLIDE 66

L/U-PTA

Definition

A lower/upper bound PTA (L/U-PTA) is a PTA in which each parameter p is always compared with clocks as an upper bound or always as a lower bound.

y ≤ p2 y ≤ 8 start? x := 0 y := 0 y ≤ p2 ∧ y = 6 cup! x ≥ p1 sugar? x := 0 p3 ≤ y ≤ p4 coffee!

Lower-bound parameters: p1, p3 Upped-bound parameters:

29 / 91

slide-67
SLIDE 67

L/U-PTA

Definition

A lower/upper bound PTA (L/U-PTA) is a PTA in which each parameter p is always compared with clocks as an upper bound or always as a lower bound.

y ≤ p2 y ≤ 8 start? x := 0 y := 0 y ≤ p2 ∧ y = 6 cup! x ≥ p1 sugar? x := 0 p3 ≤ y ≤ p4 coffee!

Lower-bound parameters: p1, p3 Upped-bound parameters: p2, p4

29 / 91

slide-68
SLIDE 68

Decidable problems for L/U-PTA

EF-emptiness problem “Does there exist a parameter valuation for which a given location l is reachable?” decidable

Hune et al. [2002]

30 / 91

slide-69
SLIDE 69

Decidable problems for L/U-PTA

EF-emptiness problem “Does there exist a parameter valuation for which a given location l is reachable?” decidable

Hune et al. [2002]

EF-universality problem “Do all parameter valuations allow to reach a given location l?” decidable

Bozzelli and La Torre [2009]

30 / 91

slide-70
SLIDE 70

Decidable problems for L/U-PTA

EF-emptiness problem “Does there exist a parameter valuation for which a given location l is reachable?” decidable

Hune et al. [2002]

EF-universality problem “Do all parameter valuations allow to reach a given location l?” decidable

Bozzelli and La Torre [2009]

EF-finiteness problem “Is the set of parameter valuations allowing to reach a given location l finite?” decidable (for integer valuations)

Bozzelli and La Torre [2009]

30 / 91

slide-71
SLIDE 71

Undecidable problems for L/U-PTA

AF-emptiness problem “Does there exist a parameter valuation for which a given location l is always eventually reachable?” undecidable

Jovanovi´ c et al. [2015]

31 / 91

slide-72
SLIDE 72

Undecidable problems for L/U-PTA

AF-emptiness problem “Does there exist a parameter valuation for which a given location l is always eventually reachable?” undecidable

Jovanovi´ c et al. [2015]

AF-universality problem “Are all valuations such that a given location l is always eventually reachable?” undecidable (but. . . )

André and Lime [2016]

31 / 91

slide-73
SLIDE 73

Undecidable problems for L/U-PTA

AF-emptiness problem “Does there exist a parameter valuation for which a given location l is always eventually reachable?” undecidable

Jovanovi´ c et al. [2015]

AF-universality problem “Are all valuations such that a given location l is always eventually reachable?” undecidable (but. . . )

André and Lime [2016]

language preservation emptiness problem “Given a parameter valuation v, can we find another valuation with the same untimed language?” undecidable

André and Markey [2015]

31 / 91

slide-74
SLIDE 74

What can we do with L/U-PTA?

In an L/U PTA, can we syntactically. . . use an equality (=) in a guard or invariant? use an equality x = p in a guard or invariant?

32 / 91

slide-75
SLIDE 75

What can we do with L/U-PTA?

In an L/U PTA, can we syntactically. . . use an equality (=) in a guard or invariant? yes (without parameters!) use an equality x = p in a guard or invariant?

32 / 91

slide-76
SLIDE 76

What can we do with L/U-PTA?

In an L/U PTA, can we syntactically. . . use an equality (=) in a guard or invariant? yes (without parameters!) use an equality x = p in a guard or invariant? no!

32 / 91

slide-77
SLIDE 77

What fits into the class of L/U-PTA?

Any model with parametric delays given in the form of intervals

E.g.: [pmin, pmax]

Many communication protocols All hardware circuits modeled using a bi-bounded inertial delay model

33 / 91

slide-78
SLIDE 78

Conclusion

Most interesting problems are undecidable for PTA . . . but some become decidable when bounding the number of clocks, or adding restrictions on the use of parameters (L/U-PTA)

34 / 91

slide-79
SLIDE 79

Conclusion

Most interesting problems are undecidable for PTA . . . but some become decidable when bounding the number of clocks, or adding restrictions on the use of parameters (L/U-PTA) Let us go for some parameter synthesis algorithms (next sequence)

34 / 91

slide-80
SLIDE 80

35 / 91

slide-81
SLIDE 81

Parameter synthesis algorithms

36 / 91

slide-82
SLIDE 82

First of all. . .

You know that: most problems are undecidable for Parametric Timed Automata but some are decidable on specific classes

37 / 91

slide-83
SLIDE 83

First of all. . .

You know that: most problems are undecidable for Parametric Timed Automata but some are decidable on specific classes Let us now see some parameter synthesis algorithms

37 / 91

slide-84
SLIDE 84

Symbolic states for timed automata

Objective: group all concrete states reachable by the same sequence of discrete actions Symbolic state: a location l and a (infinite) set of states Z For timed automata, Z can be represented by a convex polyhedron with a special form called zone, with constraints −d0i ≤ xi ≤ di0 and xi − xj ≤ dij Computation of successive reachable symbolic states can be performed symbolically with polyhedral operations: for edge e = (l, a, g, R, l′): Succ((l, Z), e) = (l′, (Z ∩ g)[R] ∩ Inv(l′))ր ∩ Inv(l′)) With an additional technicality there is a finite number of reachable zones in a TA.

38 / 91

slide-85
SLIDE 85

Symbolic states for timed automata: Example

y ≤ 4 x ≥ 2 y := 0

y x {(0, 0)}

39 / 91

slide-86
SLIDE 86

Symbolic states for timed automata: Example

y ≤ 4 x ≥ 2 y := 0

y x Z0 = {(0, 0)}ր ∩ Inv(•)

39 / 91

slide-87
SLIDE 87

Symbolic states for timed automata: Example

y ≤ 4 x ≥ 2 y := 0

y x Z0 = {(0, 0)}ր ∩ Inv(•) y x Z0

39 / 91

slide-88
SLIDE 88

Symbolic states for timed automata: Example

y ≤ 4 x ≥ 2 y := 0

y x Z0 = {(0, 0)}ր ∩ Inv(•) y x Z0 ∩ (x ≥ 2)

39 / 91

slide-89
SLIDE 89

Symbolic states for timed automata: Example

y ≤ 4 x ≥ 2 y := 0

y x Z0 = {(0, 0)}ր ∩ Inv(•) y x (Z0 ∩ (x ≥ 2))[{y}]

39 / 91

slide-90
SLIDE 90

Symbolic states for timed automata: Example

y ≤ 4 x ≥ 2 y := 0

y x Z0 = {(0, 0)}ր ∩ Inv(•) y x Z1 = (Z0 ∩ (x ≥ 2))[{y}]ր

39 / 91

slide-91
SLIDE 91

Symbolic states for parametric TA

Symbolic state (l, Z): location + convex polyhedron constraining both clocks and parameters; Straightforward extension of reset and future that act only on the clock variables; Convex polyhedra obtained have a special form called parametric zone Hune

et al. [2002].

y ≤ p x ≥ q y := 0 Z0 =          x = y 0 ≤ y ≤ p p, q ≥ 0 Z1 =          q ≤ x − y ≤ p (q ≤ p) x, y, p, q ≥ 0

40 / 91

slide-92
SLIDE 92

Symbolic states for parametric TA

Symbolic state (l, Z): location + convex polyhedron constraining both clocks and parameters; Straightforward extension of reset and future that act only on the clock variables; Convex polyhedra obtained have a special form called parametric zone Hune

et al. [2002].

y ≤ p x ≥ q y := 0 Z0 =          x = y 0 ≤ y ≤ p p, q ≥ 0 Z1 =          q ≤ x − y ≤ p (q ≤ p) x, y, p, q ≥ 0 There exists in general an infinite number of such symbolic states in a PTA

40 / 91

slide-93
SLIDE 93

A semi-algorithm for parametric reachability

EFG(S, M) =              Z↓P if l ∈ G ∅ if S ∈ M

  • e∈E

S′=Succ(S,e)

EFG

  • S′, M ∪ {S}
  • therwise.

S = (l, Z); G a set of locations to reach; M is a list of visited symbolic states; Succ(S, e) computes the symbolic successor of S by edge e; EF collects the parametric reachability condition of all symbolic states with a goal location;

Jovanovi´ c et al. [2015]

correctness and completeness guaranteed if the algorithm terminates, but. . .

41 / 91

slide-94
SLIDE 94

A semi-algorithm for parametric reachability

EFG(S, M) =              Z↓P if l ∈ G ∅ if S ∈ M

  • e∈E

S′=Succ(S,e)

EFG

  • S′, M ∪ {S}
  • therwise.

S = (l, Z); G a set of locations to reach; M is a list of visited symbolic states; Succ(S, e) computes the symbolic successor of S by edge e; EF collects the parametric reachability condition of all symbolic states with a goal location;

Jovanovi´ c et al. [2015]

correctness and completeness guaranteed if the algorithm terminates, but. . . termination is not guaranteed (because the underlying problem is undecidable)

41 / 91

slide-95
SLIDE 95

Beyond EFSynth

EFSynth is the most basic synthesis semi-algorithm for PTA; Termination can be ensured, using the notion of integer hull Jovanovi´

c et al. [2015]; André et al. [2015b]:

y x

at the cost of completeness; for bounded parameters; but preserves all integer points.

Similar (semi-)algorithms are also available for more complex properties (e.g. invevitability Jovanovi´

c et al. [2015]);

EFSynth is implemented in IMITATOR and Rom´ eo.

42 / 91

slide-96
SLIDE 96

Beyond EFSynth

EFSynth is the most basic synthesis semi-algorithm for PTA; Termination can be ensured, using the notion of integer hull Jovanovi´

c et al. [2015]; André et al. [2015b]:

y x

at the cost of completeness; for bounded parameters; but preserves all integer points.

Similar (semi-)algorithms are also available for more complex properties (e.g. invevitability Jovanovi´

c et al. [2015]);

EFSynth is implemented in IMITATOR and Rom´ eo.

42 / 91

slide-97
SLIDE 97

Beyond EFSynth

EFSynth is the most basic synthesis semi-algorithm for PTA; Termination can be ensured, using the notion of integer hull Jovanovi´

c et al. [2015]; André et al. [2015b]:

y x

at the cost of completeness; for bounded parameters; but preserves all integer points.

Similar (semi-)algorithms are also available for more complex properties (e.g. invevitability Jovanovi´

c et al. [2015]);

EFSynth is implemented in IMITATOR and Rom´ eo.

42 / 91

slide-98
SLIDE 98

TPsynth: preserving the untimed behaviour

The trace preservation problem

Given a PTA A and a parameter valuation v0, synthesize other valuations yielding the same time-abstract behaviour (trace set). André et al. [2009]; André and Markey [2015]

·

v0

43 / 91

slide-99
SLIDE 99

TPsynth: preserving the untimed behaviour

The trace preservation problem

Given a PTA A and a parameter valuation v0, synthesize other valuations yielding the same time-abstract behaviour (trace set). André et al. [2009]; André and Markey [2015]

K0· v0

43 / 91

slide-100
SLIDE 100

TPsynth (“inverse method”): Simplified algorithm

Two parts:

1 Forbid all v0-incompatible behaviours 2 Require all v0-compatible behaviours

Algorithm TPsynth(A, v0): Start with K0 = true REPEAT

1 Compute a set S of reachable symbolic states under K0 2 Refine K0 by removing a v0-incompatible state from S

Select a v0-incompatible state (l, C) within S (i.e. v0 |= C) Add ¬C↓P to K0

UNTIL no more v0-incompatible state in S RETURN the intersection of all states

44 / 91

slide-101
SLIDE 101

An example of flip-flop circuit

An asynchronous circuit

Clarisó and Cortadella [2007]

D CK Q G1 G2 G3 G4 D CK Q

Concurrent behaviour

4 elements: G1, G2, G3, G4 2 input signals (D and CK), 1 output signal (Q)

45 / 91

slide-102
SLIDE 102

An example of flip-flop circuit

An asynchronous circuit

Clarisó and Cortadella [2007]

D CK Q G1 G2 G3 G4 [7; 7] [5; 6] [8; 10] [3; 7] D CK Q

Concurrent behaviour

4 elements: G1, G2, G3, G4 2 input signals (D and CK), 1 output signal (Q)

Timing delays

Traversal delays of the gates: one interval per gate

45 / 91

slide-103
SLIDE 103

An example of flip-flop circuit

An asynchronous circuit

Clarisó and Cortadella [2007]

D CK Q G1 G2 G3 G4 [7; 7] [5; 6] [8; 10] [3; 7] D CK Q 10 17 15 24

Concurrent behaviour

4 elements: G1, G2, G3, G4 2 input signals (D and CK), 1 output signal (Q)

Timing delays

Traversal delays of the gates: one interval per gate Environment timing constants

45 / 91

slide-104
SLIDE 104

An example of flip-flop circuit

An asynchronous circuit

Clarisó and Cortadella [2007]

D CK Q G1 G2 G3 G4 [7; 7] [5; 6] [8; 10] [3; 7] D CK Q 10 17 15 24

Concurrent behaviour

4 elements: G1, G2, G3, G4 2 input signals (D and CK), 1 output signal (Q)

Timing delays

Traversal delays of the gates: one interval per gate Environment timing constants

Question

For these timing delays, does the rise of Q always occur before the fall of CK?

45 / 91

slide-105
SLIDE 105

An example of flip-flop circuit

An asynchronous circuit

Clarisó and Cortadella [2007]

D CK Q G1 G2 G3 G4 [7; 7] [5; 6] [8; 10] [3; 7] D CK Q 10 17 15 24

Concurrent behaviour

4 elements: G1, G2, G3, G4 2 input signals (D and CK), 1 output signal (Q)

Timing delays

Traversal delays of the gates: one interval per gate Environment timing constants

Question

For these timing delays, does the rise of Q always occur before the fall of CK? Timed model checking gives the answer: yes

45 / 91

slide-106
SLIDE 106

Flip-flop circuit: Timing parameters

G02 D CK Q G1 G2 G3 G4 [ 7 ; 7 ] [ 5 ; 6 ] [ 8 ; 10 ] [ 3 ; 7 ] D CK Q 10 17 15 24 46 / 91

slide-107
SLIDE 107

Flip-flop circuit: Timing parameters

G02 D CK Q G1 G2 G3 G4 [ δ− 1 ; δ+ 1 ] [ δ− 2 ; δ+ 2 ] [ δ− 3 ; δ+ 3 ] [ δ− 4 ; δ+ 4 ] D CK Q TSetup THold TLO THI

Timing parameters

Traversal delays of the gates: one interval per gate 4 environment parameters: TLO, THI, TSetup and THold

46 / 91

slide-108
SLIDE 108

Flip-flop circuit: Timing parameters

G02 D CK Q G1 G2 G3 G4 [ δ− 1 ; δ+ 1 ] [ δ− 2 ; δ+ 2 ] [ δ− 3 ; δ+ 3 ] [ δ− 4 ; δ+ 4 ] D CK Q TSetup THold TLO THI

Timing parameters

Traversal delays of the gates: one interval per gate 4 environment parameters: TLO, THI, TSetup and THold

Question: which values of the parameters yield the same untimed behavior as the reference valuation (and hence for which the rise of Q always occur before the fall of CK)?

46 / 91

slide-109
SLIDE 109

Trace set

Trace set: set of all traces of a PTA Graphical representation under the form of a tree

(Does not give any information on the branching behavior though)

47 / 91

slide-110
SLIDE 110

Trace set

Trace set: set of all traces of a PTA Graphical representation under the form of a tree

(Does not give any information on the branching behavior though)

Example: trace set of the flip-flop circuit for the original valuation v0

D↑ G↓

1

CK↑ G↓

3

D↓ Q↑ Q↑ D↓ CK↓ CK↓

47 / 91

slide-111
SLIDE 111

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = true TSetup ≤ TLO

48 / 91

slide-112
SLIDE 112

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = true

D↑

TSetup ≤ TLO TSetup ≤ TLO

48 / 91

slide-113
SLIDE 113

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = true

D↑

TSetup ≤ TLO TSetup ≤ TLO

g↓

1

TSetup ≤ TLO ∧ TSetup ≥ δ−

1

CK↑

TSetup ≤ TLO ∧ TSetup ≤ δ+

1 48 / 91

slide-114
SLIDE 114

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = TSetup > δ+

1

D↑

TSetup ≤ TLO ∧ TSetup > δ+

1

TSetup ≤ TLO ∧ TSetup > δ+

1

g↓

1

TSetup ≤ TLO ∧ TSetup > δ+

1

CK↑

TSetup ≤ TLO ∧ TSetup ≤ δ+

1 48 / 91

slide-115
SLIDE 115

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = TSetup > δ+

1

D↑

TSetup ≤ TLO ∧ TSetup > δ+

1

TSetup ≤ TLO ∧ TSetup > δ+

1

g↓

1

TSetup ≤ TLO ∧ TSetup > δ+

1 48 / 91

slide-116
SLIDE 116

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = TSetup > δ+

1

D↑

TSetup ≤ TLO ∧ TSetup > δ+

1

TSetup ≤ TLO ∧ TSetup > δ+

1

g↓

1

TSetup ≤ TLO ∧ TSetup > δ+

1

CK↑

TSetup ≤ TLO ∧ TSetup > δ+

1 48 / 91

slide-117
SLIDE 117

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = TSetup > δ+

1

D↑

TSetup ≤ TLO ∧ TSetup > δ+

1

TSetup ≤ TLO ∧ TSetup > δ+

1

g↓

1

TSetup ≤ TLO ∧ TSetup > δ+

1

CK↑

TSetup ≤ TLO ∧ TSetup > δ+

1

D↓

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THI ≥ THold ∧ δ+

3 ≥ THold

g↓

3

TSetup ≤ TLO ∧ TSetup > δ+

1 48 / 91

slide-118
SLIDE 118

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = TSetup > δ+

1

∧ THold > δ+

3

D↑

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

g↓

1

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

CK↑

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

D↓

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THI ≥ THold ∧ δ+

3 ≥ THold

g↓

3

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3 48 / 91

slide-119
SLIDE 119

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = TSetup > δ+

1

∧ THold > δ+

3

D↑

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

g↓

1

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

CK↑

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

g↓

3

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3 48 / 91

slide-120
SLIDE 120

Application of TPsynth to the flip-flop circuit

v0 : δ−

1 = 7

δ+

1 = 7

THI = 24 δ−

2 = 5

δ+

2 = 6

TLO = 15 δ−

3 = 8

δ+

3 = 10

TSetup = 10 δ−

4 = 3

δ+

4 = 7

THold = 17 K0 = TSetup > δ+

1

∧ δ+

3 + δ+ 4 ≥ THold

∧ THold > δ+

3

∧ δ+

3 + δ+ 4 < THI

∧ TSetup ≤ TLO ∧ δ−

3 + δ− 4 ≤ THold

∧ δ−

1 > 0

D↑

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

∧ . . . TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

∧ . . .

g↓

1

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

∧ . . .

CK↑

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

∧ . . .

g↓

3

TSetup ≤ TLO ∧ TSetup > δ+

1

∧ THold > δ+

3

∧ . . .

Q↑ D↓ D↓ Q↑ CK↓ CK↓

48 / 91

slide-121
SLIDE 121

Software supporting parametric timed automata

Specification and verification of parametric models using parametric timed automata are supported by several software tools HyTech (also hybrid automata)

Henzinger et al. [1997]

PHAVer (also hybrid systems)

Frehse [2005]

Rom´ eo (based on parametric time Petri nets)

Lime et al. [2009]

IMITATOR

André et al. [2012]

49 / 91

slide-122
SLIDE 122

Conclusion

Two algorithms: EFsynth: parametric reachability TPsynth: parametric trace preservation, with a measure of robustness Markey

[2011]

Other algorithms (not presented): AFsynth: unavoidability synthesis (implemented in Rom´ eo) Behavioural cartography (implemented in IMITATOR) . . . but all these algorithms are costly.

50 / 91

slide-123
SLIDE 123

Conclusion

Two algorithms: EFsynth: parametric reachability TPsynth: parametric trace preservation, with a measure of robustness Markey

[2011]

Other algorithms (not presented): AFsynth: unavoidability synthesis (implemented in Rom´ eo) Behavioural cartography (implemented in IMITATOR) . . . but all these algorithms are costly. Let us see how to improve performances with distributed algorithms (next sequence)

50 / 91

slide-124
SLIDE 124

51 / 91

slide-125
SLIDE 125

Towards Distributed Synthesis Algorithms

52 / 91

slide-126
SLIDE 126

First of all. . .

You have seen some synthesis algorithms for PTA addressing: parametric reachability (EFsynth) parametric trace preservation (TPsynth) . . . but all these algorithms are costly.

53 / 91

slide-127
SLIDE 127

First of all. . .

You have seen some synthesis algorithms for PTA addressing: parametric reachability (EFsynth) parametric trace preservation (TPsynth) . . . but all these algorithms are costly. Let us now see how to improve performances with distributed algorithms

53 / 91

slide-128
SLIDE 128

Why distributed algorithms?

Algorithms for parameter synthesis for PTA are very costly time memory Some reasons: expensive operations on polyhedra no known efficient data structure (such as BDDs or DBMs for timed automata)

54 / 91

slide-129
SLIDE 129

Why distributed algorithms?

Algorithms for parameter synthesis for PTA are very costly time memory Some reasons: expensive operations on polyhedra no known efficient data structure (such as BDDs or DBMs for timed automata) Idea: benefit from the power of clusters Cluster: large set of nodes (computers with their own memory and processor) Communication between nodes over a network

54 / 91

slide-130
SLIDE 130

A first naive approach

Naive approach to distribute EFsynth: Each node handles a subpart of the parameter domain Each node launches EFsynth on its parameter domain Drawback: bad performances if the analysis is much more costly in some subdomains than in others

55 / 91

slide-131
SLIDE 131

A more elaborate master-worker approach

Workers: run a “hybrid” algorithm PRP: parametric reachability preservation inspired by both EFsynth (to look for bad valuations) and TPsynth (to only explore a limited part of the symbolic state space, while “imitating” a reference valuation) based on integer points: guarantees the coverage of all integer points (but rational-valued points may be missing) Master: responsible for gathering results and distributing reference valuations (“points”) among workers

56 / 91

slide-132
SLIDE 132

Master worker scheme

Master-worker distribution scheme: Workers: ask the master for a point (integer parameter valuation), calls PRP

  • n that point, and send the result (constraint) to the master

Master: is responsible for smart repartition of data between the workers

Note: not trivial at all

André et al. [2014, 2015a]

57 / 91

slide-133
SLIDE 133

Dynamic domain decomposition

Most efficient distributed algorithm (so far!): “Domain decomposition” scheme Master

1

initially splits the parameter domain into subdomains and send them to the workers

2

when a worker has completed its subdomain, the master splits another subdomain, and sends it to the idle worker

Workers

1

receive the subdomain from the master

2

call PRP on the points of this subdomain

3

send the results (list of constraints) back to the master

4

ask for more work

58 / 91

slide-134
SLIDE 134

Domain decomposition: Initial splitting

Prevent choosing close points Prevent bottleneck phenomenon at the master’s side

Master only responsible for gathering constraints and splitting subdomains

59 / 91

slide-135
SLIDE 135

Domain decomposition: Dynamic splitting

Master can balance workload between workers

60 / 91

slide-136
SLIDE 136

Implementation in IMITATOR

Implemented in IMITATOR using the MPI paradigm (message passing interface) Distributed version up to 44 times faster using 128 nodes than the monolithic EFsynth

André et al. [2015a]

61 / 91

slide-137
SLIDE 137

Conclusion

First version of distributed algorithms for PTA What remains to be done. . . ? Large space for improvement (44 faster with 128 nodes leaves much space for speedup) Multi-core parameter synthesis (on a single machine with several processors)

62 / 91

slide-138
SLIDE 138

Conclusion

First version of distributed algorithms for PTA What remains to be done. . . ? Large space for improvement (44 faster with 128 nodes leaves much space for speedup) Multi-core parameter synthesis (on a single machine with several processors) Let us see some tool support (next sequence)

62 / 91

slide-139
SLIDE 139

63 / 91

slide-140
SLIDE 140

IMITATOR in a nutshell

64 / 91

slide-141
SLIDE 141

First of all. . .

You now know about: Parametric timed automata parameter synthesis algorithms

65 / 91

slide-142
SLIDE 142

First of all. . .

You now know about: Parametric timed automata parameter synthesis algorithms Let us now see some tool support

65 / 91

slide-143
SLIDE 143

IMITATOR

A tool for modelling and verifying real-time systems with unknown constants modelled with Parametric Timed Automata

Communication through (strong) broadcast synchronisation Integer-valued discrete variables Stopwatches, to model schedulability problems with preemption

Verification

Computation of the symbolic state space Parametric model checking (using a subset of TCTL) Language and trace preservation, and robustness analysis Parametric deadlock-freeness checking Behavioural cartography

66 / 91

slide-144
SLIDE 144

IMITATOR

Under continuous development since 2008

André et al. [2012]

A library of benchmarks Communication protocols Schedulability problems Asynchronous circuits . . . and more Free and open source software: Available under the GNU-GPL license

67 / 91

slide-145
SLIDE 145

IMITATOR

Under continuous development since 2008

André et al. [2012]

A library of benchmarks Communication protocols Schedulability problems Asynchronous circuits . . . and more Free and open source software: Available under the GNU-GPL license Try it!

www.imitator.fr

67 / 91

slide-146
SLIDE 146

Some success stories

Modelled and verified an asynchronous memory circuit by ST-Microelectronics

Project ANR Valmem

Parametric schedulability analysis of a prospective architecture for the flight control system of the next generation of spacecrafts designed at ASTRIUM Space Transportation

Fribourg et al. [2012]

Solution to a challenge related to a distributed video processing system by Thales Formal timing analysis of music scores

Fanchon and Jacquemard [2013]

68 / 91

slide-147
SLIDE 147

Conclusion

At this stage, you know: Parametric timed automata synthesis algorithms for timing parameters

69 / 91

slide-148
SLIDE 148

Conclusion

At this stage, you know: Parametric timed automata synthesis algorithms for timing parameters but need for parametric probabilities to capture: imprecisions robustness dimensioning Let us address Markov chains with parameters (next sequence)

69 / 91

slide-149
SLIDE 149

70 / 91

slide-150
SLIDE 150

Parametric Interval Markov Chains

71 / 91

slide-151
SLIDE 151

First of all. . .

You know about: parametric timed automata

72 / 91

slide-152
SLIDE 152

First of all. . .

You know about: parametric timed automata Need for parametric probabilities to capture: imprecisions robustness dimensioning

72 / 91

slide-153
SLIDE 153

First of all. . .

You know about: parametric timed automata Need for parametric probabilities to capture: imprecisions robustness dimensioning Let us now introduce Parametric Interval Markov Chains

72 / 91

slide-154
SLIDE 154

Markov Chains ( MCs)

1 2 3 0.7 0.3 0.5 0.5 0.5 0.5 1

73 / 91

slide-155
SLIDE 155

Interval Markov Chains (IMCs)

1 2 3 0.7 0.3 0.5 0.5 0.5 0.5 1 1 2 3 4 [0, 1] [0, 1] [0.5, 1] [0.3, 0.5] [0, 0.5] [0, 0.5] [0, 0.5] 0.6 1 [0.5, 1]

Specification (IMC)

73 / 91

slide-156
SLIDE 156

Interval Markov Chains (IMCs)

1 2 3 4 0.7 0.3 0.5 0.5 0.5 0.5 1 1 2 3 4 [0, 1] [0, 1] [0.5, 1] [0.3, 0.5] [0, 0.5] [0, 0.5] [0, 0.5] 0.6 1 [0.5, 1]

Implementation (MC) Specification (IMC)

73 / 91

slide-157
SLIDE 157

Interval Markov Chains (IMCs)

1 2 3 0.7 0.3 0.5 0.5 0.5 0.5 1 1 2 3 4 [0, 1] [0, 1] [0.5, 1] [0.3, 0.5] [0, 0.5] [0, 0.5] [0, 0.5] 0.6 1 [0.5, 1]

Implementation (MC) Specification (IMC) An IMC is consistent if it admits at least one implementation.

73 / 91

slide-158
SLIDE 158

Parametric Interval Markov Chains (pIMCs)

1 2 3 4 [0, 1] [0, 1] [q, 1] [0.3, q] [0, q] [0, p] [0, 0.5] [p, 0.3] 1 [0.5, p]

Valuating the parameters of I with valuation v gives an IMC v(I)

74 / 91

slide-159
SLIDE 159

n-consistency for IMCs

Definition

State s in an IMC is 0-consistent if there exists a probability distribution over the successors of s that matches the intervals; State s in an IMC is n-consistent (n ≥ 1) if:

1

there exists a probability distribution ρ over the successors of s that matches the intervals and

2

the successors s′ such that ρ(s′) > 0 are (n − 1)-consistent.

75 / 91

slide-160
SLIDE 160

n-consistency for IMCs

Definition

State s in an IMC is 0-consistent if there exists a probability distribution over the successors of s that matches the intervals; State s in an IMC is n-consistent (n ≥ 1) if:

1

there exists a probability distribution ρ over the successors of s that matches the intervals and

2

the successors s′ such that ρ(s′) > 0 are (n − 1)-consistent.

Theorem

An IMC with N states is consistent iff its initial state is N-consistent.

75 / 91

slide-161
SLIDE 161

n-consistency for IMCs: first example

1 2 3 4 ⊥ [0, 1] [0, 1] [0.5, 1] [0.3, 0.5] [0, 0.5] [0, 0.5] [0, 0.5] 0.6 1 [0.5, 1]

76 / 91

slide-162
SLIDE 162

n-consistency for IMCs: first example

1 2 3 4 1 1 1 1 ⊥ [0, 1] [0, 1] [0.5, 1] [0.3, 0.5] [0, 0.5] [0, 0.5] [0, 0.5] 0.6 1 [0.5, 1]

76 / 91

slide-163
SLIDE 163

n-consistency for IMCs: first example

1 2 3 4 ∗ ∗ ∗ ∗ ⊥ [0, 1] [0, 1] [0.5, 1] [0.3, 0.5] [0, 0.5] [0, 0.5] [0, 0.5] 0.6 1 [0.5, 1]

76 / 91

slide-164
SLIDE 164

n-consistency for IMCs: second example

1 2 ⊥ [0, 1] [0.5, 1] [0.5, 1] [0, 0.5] [0.3, 0.4] [0, 0.5]

77 / 91

slide-165
SLIDE 165

n-consistency for IMCs: second example

1 2 1 ⊥ [0, 1] [0.5, 1] [0.5, 1] [0, 0.5] [0.3, 0.4] [0, 0.5]

77 / 91

slide-166
SLIDE 166

n-consistency for IMCs: second example

1 2 1 ⊥ [0, 1] [0.5, 1] [0.5, 1] [0, 0.5] [0.3, 0.4] [0, 0.5]

77 / 91

slide-167
SLIDE 167

Conclusion

At this stage: you have an idea on Parametric Interval Markov Chains . . . you know how to check consistency for IMCs

78 / 91

slide-168
SLIDE 168

Conclusion

At this stage: you have an idea on Parametric Interval Markov Chains . . . you know how to check consistency for IMCs Let us see how to check consistency in PIMCs (next sequence)

78 / 91

slide-169
SLIDE 169

79 / 91

slide-170
SLIDE 170

Checking Consistency in Parametric Interval Markov Chains

80 / 91

slide-171
SLIDE 171

First of all. . .

You know about: the Parametric Interval Markov Chains model checking consistency for IMCs

81 / 91

slide-172
SLIDE 172

First of all. . .

You know about: the Parametric Interval Markov Chains model checking consistency for IMCs Consistency problem for PIMCs: Does there exists a parameter valuation v such that IMC v(I) is consistent? Is IMC v(I) consistent for all parameter valuations v? Compute all parameter valuations v such that IMC v(I) is consistent

81 / 91

slide-173
SLIDE 173

First of all. . .

You know about: the Parametric Interval Markov Chains model checking consistency for IMCs Consistency problem for PIMCs: Does there exists a parameter valuation v such that IMC v(I) is consistent? Is IMC v(I) consistent for all parameter valuations v? Compute all parameter valuations v such that IMC v(I) is consistent Let us now see how to check consistency in PIMCs

81 / 91

slide-174
SLIDE 174

n-consistency constraints for pIMCs

Local consistency constraint for state s wrt. some subset S′ of its successors:

LC(s, S′) =       

  • s′∈S′

Up(s, s′) ≥ 1        ∩       

  • s′∈S′

Low(s, s′) ≤ 1        ∩       

  • s′∈S′

Low(s, s′) ≤ Up(s, s′)       

82 / 91

slide-175
SLIDE 175

n-consistency constraints for pIMCs

n-consistency constraint for s given some cut-off successors: ConsX

0 (s) = LC(s, Succ(s) \ X) ∩ [ s′∈X Low(s, s′) = 0]

and for n ≥ 1, ConsX

n (s) =

        

  • s′∈Succ(s)\X

Consn−1(s′)          ∩ [LC(s, Succ(s) \ X)] ∩       

  • s′∈X

Low(s, s′) = 0        n-consistency constraint for s:

Consn(s) =

  • X⊆Z(s)

ConsX

n (s)

Z(s) contains the successors of s for which Low is either 0 or a parameter

83 / 91

slide-176
SLIDE 176

Consistency for pIMCs

Theorem (Delahaye et al. [2016])

Given a pIMC I with N states and initial state s0, and a parameter valuation v: v(I) is consistent iff v ∈ ConsN(s0)

84 / 91

slide-177
SLIDE 177

Consistency for PIMCs: a detailed example

1 2 3 4 [0, 1] [0, q] [0, 1] [q, 1] [0.3, q] [0, p] 1 [0, 0.5] [p, 0.3] [0.5, p]

[(q ≤ 0.7) ∩ (q ≥ 0.3)] ∪ (q = 1)

85 / 91

slide-178
SLIDE 178

Consistency for PIMCs: a detailed example

1 2 3 4 [0, 1] [0, q] [0, 1] [q, 1] [0.3, q] [0, p] 1 [0, 0.5] [p, 0.3] [0.5, p]

[(q ≤ 0.7) ∩ (q ≥ 0.3)] ∪ (q = 1)

85 / 91

slide-179
SLIDE 179

Consistency for PIMCs: a detailed example

1 2 3 4 [0, 1] [0, 1] [q, 1] [0.3, q] 1 [0, q] [0, 0.5] [p, 0.3] [0.5, p] [0, 1] [0, p] [0, 0.5]

[(q ≤ 0.7) ∩ (q ≥ 0.3)] ∪ (q = 1)

85 / 91

slide-180
SLIDE 180

Conclusion

At this stage: you know about parametric timed automata, their problems and algorithms you know about interval Markov chains with parametric probabilities

86 / 91

slide-181
SLIDE 181

Conclusion

At this stage: you know about parametric timed automata, their problems and algorithms you know about interval Markov chains with parametric probabilities Let us practice with IMITATOR

86 / 91

slide-182
SLIDE 182

87 / 91

slide-183
SLIDE 183

Bibliography

88 / 91

slide-184
SLIDE 184

References I

Alur, R. and Dill, D. L. (1994). A theory of timed automata. Theoretical Computer Science, 126(2):183–235. Alur, R., Henzinger, T. A., and Vardi, M. Y. (1993). Parametric real-time reasoning. In STOC, pages 592–601. ACM. André, É. (2015). What’s decidable about parametric timed automata? In Formal Techniques for Safety-Critical Systems - Fourth International Workshop, FTSCS 2015, Paris, France, pages 52–68. André, É., Chatain, Th., Encrenaz, E., and Fribourg, L. (2009). An inverse method for parametric timed automata. International Journal on Foundations of Computer Science, 20(5):819–836. André, É., Coti, C., and Evangelista, S. (2014). Distributed behavioral cartography of timed automata. In Dongarra, J., Ishikawa, Y., and Atsushi, H., editors, 21st European MPI Users’ Group Meeting (EuroMPI/ASIA’14), pages 109–114. ACM. André, É., Coti, C., and Nguyen, H. G. (2015a). Enhanced distributed behavioral cartography of parametric timed

  • automata. In Butler, M., Conchon, S., and Zaïdi, F., editors, Proceedings of the 17th International Conference on

Formal Engineering Methods (ICFEM’15), Lecture Notes in Computer Science. Springer. André, É., Fribourg, L., Kühne, U., and Soulat, R. (2012). IMITATOR 2.5: A tool for analyzing robustness in scheduling problems. In FM, volume 7436 of Lecture Notes in Computer Science, pages 33–36. Springer. André, É. and Lime, D. (2016). Liveness in L/U-parametric timed automata. Submitted. André, É., Lime, D., and Roux, O. H. (2015b). Integer-complete synthesis for bounded parametric timed automata. In RP, volume 9058 of Lecture Notes in Computer Science. Springer. André, É., Lime, D., and Roux, O. H. (2016). Decision problems for parametric timed automata. Technical report. André, É. and Markey, N. (2015). Language preservation problems in parametric timed automata. In FORMATS, volume 9268 of Lecture Notes in Computer Science, pages 27–43. Springer. Beneš, N., Bezdˇ ek, P ., Larsen, K. G., and Srba, J. (2015). Language emptiness of continuous-time parametric timed

  • automata. In ICALP

, Part II, volume 9135 of Lecture Notes in Computer Science, pages 69–81. Springer.

89 / 91

slide-185
SLIDE 185

References II

Bozzelli, L. and La Torre, S. (2009). Decision problems for lower/upper bound parametric timed automata. Formal Methods in System Design, 35(2):121–151. Bundala, D. and Ouaknine, J. (2014). Advances in parametric real-time reasoning. In MFCS, volume 8634 of Lecture Notes in Computer Science, pages 123–134. Springer. Clarisó, R. and Cortadella, J. (2007). The octahedron abstract domain. Science of Computer Programming, 64(1):115–139. Delahaye, B., Lime, D., and Petrucci, L. (2016). Parameter synthesis for parametric interval Markov chains. In Proc.

  • f the 17th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI’16), St.

Petersburg, Florida, USA, volume 9583, pages 372–390. Springer. Fanchon, L. and Jacquemard, F. (2013). Formal timing analysis of mixed music scores. In ICMC 2013 (International Computer Music Conference). Frehse, G. (2005). Phaver: Algorithmic verification of hybrid systems past HyTech. In Hybrid Systems: Computation and Control, 8th International Workshop, HSCC 2005, Zurich, Switzerland, pages 258–273. Fribourg, L., Lesens, D., Moro, P ., and Soulat, R. (2012). Robustness analysis for scheduling problems using the inverse method. In TIME’12, pages 73–80. IEEE Computer Society Press. Henzinger, T. A., Ho, P .-H., and Wong-Toi, H. (1997). HyTech: A model checker for hybrid systems. Software Tools for Technology Transfer, 1:110–122. Hune, T., Romijn, J., Stoelinga, M., and Vaandrager, F. W. (2002). Linear parametric model checking of timed

  • automata. Journal of Logic and Algebraic Programming, 52-53:183–220.

Jovanovi´ c, A., Lime, D., and Roux, O. H. (2015). Integer parameter synthesis for timed automata. IEEE Transactions

  • n Software Engineering, 41(5):445–461.

Lime, D., Roux, O. H., Seidner, C., and Traonouez, L.-M. (2009). Romeo: A parametric model-checker for Petri nets with stopwatches. In TACAS, volume 5505 of Lecture Notes in Computer Science, pages 54–57. Springer. Markey, N. (2011). Robustness in real-time systems. In SIES, pages 28–34. IEEE Computer Society Press. Miller, J. S. (2000). Decidability and complexity results for timed automata and semi-linear hybrid automata. In HSCC, volume 1790 of Lecture Notes in Computer Science, pages 296–309. Springer.

90 / 91

slide-186
SLIDE 186

91 / 91