On Time Petri Nets and Scheduling Didier Lime IRCCyN / Ecole - - PowerPoint PPT Presentation

on time petri nets and scheduling
SMART_READER_LITE
LIVE PREVIEW

On Time Petri Nets and Scheduling Didier Lime IRCCyN / Ecole - - PowerPoint PPT Presentation

On Time Petri Nets and Scheduling Didier Lime IRCCyN / Ecole Centrale de Nantes 5 septembre 2007 Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 1 / 48 Plan I Introduction Time Petri Nets with Stopwatches (and more) Petri Nets and


slide-1
SLIDE 1

On Time Petri Nets and Scheduling

Didier Lime

IRCCyN / ´ Ecole Centrale de Nantes

5 septembre 2007

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 1 / 48

slide-2
SLIDE 2

Plan I

Introduction Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions Time Petri Nets Scheduling Time Petri Nets Abstractions for Scheduling-TPNs The State Class Graph Polyhedra On Demand! Verifying properties Observers Model-checking Conclusion and Future Work

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 2 / 48

slide-3
SLIDE 3

Introduction

Plan I

Introduction Time Petri Nets with Stopwatches (and more) Abstractions for Scheduling-TPNs Verifying properties Conclusion and Future Work

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 3 / 48

slide-4
SLIDE 4

Introduction

Introduction

◮ Results in this talk owe credit to Olivier H. Roux, Bernard

Berthomieu, Morgan Magnin and Fran¸ cois Vernadat;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 4 / 48

slide-5
SLIDE 5

Introduction

Introduction

◮ Results in this talk owe credit to Olivier H. Roux, Bernard

Berthomieu, Morgan Magnin and Fran¸ cois Vernadat;

◮ Verification of real-time systems is a tough problem: time,

uncertainty, complex synchronizations, preemptive scheduler,

  • distribution. . .

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 4 / 48

slide-6
SLIDE 6

Introduction

Introduction

◮ Results in this talk owe credit to Olivier H. Roux, Bernard

Berthomieu, Morgan Magnin and Fran¸ cois Vernadat;

◮ Verification of real-time systems is a tough problem: time,

uncertainty, complex synchronizations, preemptive scheduler,

  • distribution. . .

◮ A lot of work has been devoted to analytical results of

schedulability, giving worst-case response-time for tasks;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 4 / 48

slide-7
SLIDE 7

Introduction

Introduction

◮ Results in this talk owe credit to Olivier H. Roux, Bernard

Berthomieu, Morgan Magnin and Fran¸ cois Vernadat;

◮ Verification of real-time systems is a tough problem: time,

uncertainty, complex synchronizations, preemptive scheduler,

  • distribution. . .

◮ A lot of work has been devoted to analytical results of

schedulability, giving worst-case response-time for tasks;

◮ They are very good with simple settings;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 4 / 48

slide-8
SLIDE 8

Introduction

Introduction

◮ Results in this talk owe credit to Olivier H. Roux, Bernard

Berthomieu, Morgan Magnin and Fran¸ cois Vernadat;

◮ Verification of real-time systems is a tough problem: time,

uncertainty, complex synchronizations, preemptive scheduler,

  • distribution. . .

◮ A lot of work has been devoted to analytical results of

schedulability, giving worst-case response-time for tasks;

◮ They are very good with simple settings; ◮ They are not so good with precedences, timing uncertainties,

distribution, . . .

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 4 / 48

slide-9
SLIDE 9

Introduction

A well-known paradox

τ1 5 10 15 20 τ4 5 10 15 20 τ3 5 10 15 20 τ2 5 10 15 20

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 5 / 48

slide-10
SLIDE 10

Introduction

A well-known paradox

τ1 5 10 15 20 τ4 5 10 15 20 τ3 5 10 15 20 τ2 5 10 15 20

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 6 / 48

slide-11
SLIDE 11

Time Petri Nets with Stopwatches (and more)

Plan I

Introduction Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions Time Petri Nets Scheduling Time Petri Nets Abstractions for Scheduling-TPNs Verifying properties Conclusion and Future Work

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 7 / 48

slide-12
SLIDE 12

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Nets

p1 p2 p3 p4 t1 t3 t2

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 8 / 48

slide-13
SLIDE 13

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Nets

p1 p2 p3 p4 t1 t3 t2

  • if M ≥ •t then M′ = M − •t + t•

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 8 / 48

slide-14
SLIDE 14

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Basic Semaphore Synchronization

P2 P4 P3 P1 Psem TsemV TsemP T1 T2

  • (τ1)

(τ2)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 9 / 48

slide-15
SLIDE 15

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Mutual Exclusion

sc P1 Psem sc P3 semV semP semV semP

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 10 / 48

slide-16
SLIDE 16

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Peterson’s Algorithm

P: d ← false loop <non critical section> d ← true turn ← 1 wait(¬d′∨ turn= 0) <critical section> d ← false end loop P′: d′ ← false loop <non critical section> d′ ← true turn ← 0 wait(¬d∨ turn= 1) <critical section> d′ ← false end loop

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 11 / 48

slide-17
SLIDE 17

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Peterson’s Algorithm

P1 P2 sc d0 d1 d′ d′

1

turn0 turn1 update wait wait′ endsc

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 12 / 48

slide-18
SLIDE 18

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Peterson’s Algorithm

P1 P2 sc d0 d1 d′ d′

1

turn0 turn1 update wait wait′ endsc

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 12 / 48

slide-19
SLIDE 19

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Peterson’s Algorithm

P1 P2 sc d0 d1 d′ d′

1

turn0 turn1 update wait wait′ endsc

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 12 / 48

slide-20
SLIDE 20

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Peterson’s Algorithm

P1 P2 sc d0 d1 d′ d′

1

turn0 turn1 update wait wait′ endsc

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 12 / 48

slide-21
SLIDE 21

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Read Arcs

P0 P0 T0 T0

  • if M ≥ •t and M ≥ ⋄t then M′ = M − •t + t•

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 13 / 48

slide-22
SLIDE 22

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Inhibitor Arcs

P0 P1 T0

  • if M ≥ •t and M < ◦t then M′ = M − •t + t•

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 14 / 48

slide-23
SLIDE 23

Time Petri Nets with Stopwatches (and more) Petri Nets and Extensions

Petri Net Example: Fixed Priority Scheduling (non-preemptive)

P0 P1 P2 P′ P′

1

P′

2

Pe T0 T1 T2 Tin0 Tin1 Tin2 T ′ T ′

1

T ′

2

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 15 / 48

slide-24
SLIDE 24

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Petri Nets

p1 p2 p3 p4 t1 t3 t2

  • A Petri Net

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 16 / 48

slide-25
SLIDE 25

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Petri Nets

p1 p2 p3 p4 t1[0, 1] t3[2, 3] t2[1, 3]

  • A Time Petri Net

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 16 / 48

slide-26
SLIDE 26

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Petri Nets

p1 p2 p3 p4 t1[0, 1] t3[2, 3] t2[1, 3]

  • A Time Petri Net
  • M0, t1 = 0,

t3 = 0

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 16 / 48

slide-27
SLIDE 27

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Petri Nets

p1 p2 p3 p4 t1[0, 1] t3[2, 3] t2[1, 3]

  • A Time Petri Net
  • M0, t1 = 0,

t3 = 0 0.62 − − →

  • M0, t1 = 0.62,

t3 = 0.62

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 16 / 48

slide-28
SLIDE 28

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Petri Nets

p1 p2 p3 p4 t1[0, 1] t3[2, 3] t2[1, 3]

  • A Time Petri Net
  • M0, t1 = 0,

t3 = 0 0.62 − − →

  • M0, t1 = 0.62,

t3 = 0.62 t1 − →

  • M1, t1 = 0.62,

t2 = 0

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 16 / 48

slide-29
SLIDE 29

Time Petri Nets with Stopwatches (and more) Time Petri Nets

About newly enabled transitions

P1 t1 [0, 6] t2 [0, 3]

  • Fire t1

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 17 / 48

slide-30
SLIDE 30

Time Petri Nets with Stopwatches (and more) Time Petri Nets

About newly enabled transitions

P1 t1 [0, 6] t2 [0, 3]

Fire t1 t1 and t2 are not enabled by M − •t1

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 17 / 48

slide-31
SLIDE 31

Time Petri Nets with Stopwatches (and more) Time Petri Nets

About newly enabled transitions

P1 t1 [0, 6] t2 [0, 3]

  • Fire t1

t1 and t2 are not enabled by M − •t1 t1 and t2 are newly enabled

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 17 / 48

slide-32
SLIDE 32

Time Petri Nets with Stopwatches (and more) Time Petri Nets

About newly enabled transitions

P1 t1 [0, 6] t2 [0, 3]

  • Fire t1

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 17 / 48

slide-33
SLIDE 33

Time Petri Nets with Stopwatches (and more) Time Petri Nets

About newly enabled transitions

P1 t1 [0, 6] t2 [0, 3]

  • Fire t1

t1 and t2 are enabled by M − •t1 but t1 is the fired transition

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 17 / 48

slide-34
SLIDE 34

Time Petri Nets with Stopwatches (and more) Time Petri Nets

About newly enabled transitions

P1 t1 [0, 6] t2 [0, 3]

  • Fire t1

t1 and t2 are enabled by M − •t1 but t1 is the fired transition t2 remains enabled, t1 is newly enabled

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 17 / 48

slide-35
SLIDE 35

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Petri Net Example: Fixed Priority Scheduling (non-preemptive)

P0 P1 P2 P′ P′

1

P′

2

Pe T0[0, 0] T1[0, 0] T2[0, 0] Tin0[2, 5] Tin1[0, 4] Tin2[1, 4] T ′

0[1, 2]

T ′

1[3, 3]

T ′

2[4, 6]

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 18 / 48

slide-36
SLIDE 36

Time Petri Nets with Stopwatches (and more) Time Petri Nets

TPN Example: Task Activation

Px P1 Po P2 P1 P1 Px Tx [3, 3] T1 [1, 2] To [1, 1] Tx [3, 3] T1 [1, 2] T1 [1, 2] Tx [0, 0]

  • (a)

(b) (c)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 19 / 48

slide-37
SLIDE 37

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Read Arcs and Time

P0 T0[3, 4] T1[1, 2]

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 20 / 48

slide-38
SLIDE 38

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Read Arcs and Time

P0 T0[3, 4] T1[1, 2]

  • Read should not be destructive:
  • M0, T0 = 0,

T1 = 0

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 20 / 48

slide-39
SLIDE 39

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Read Arcs and Time

P0 T0[3, 4] T1[1, 2]

  • Read should not be destructive:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 20 / 48

slide-40
SLIDE 40

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Read Arcs and Time

P0 T0[3, 4] T1[1, 2]

  • Read should not be destructive:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T0 − →

  • M0, T0 = 0,

T1 = 0

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 20 / 48

slide-41
SLIDE 41

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Read Arcs and Time

P0 P0 T0[3, 4] T1[1, 2] T0[3, 4] T1[1, 2] =

  • Read should not be destructive:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T0 − →

  • M0, T0 = 0,

T1 = 0

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 20 / 48

slide-42
SLIDE 42

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-43
SLIDE 43

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-44
SLIDE 44

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-45
SLIDE 45

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T1 − → (M1, T2 = 0)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 21 / 48

slide-46
SLIDE 46

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T1 − → (M1, T2 = 0)

0.2

− − → (M1, T2 = 0.2)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 21 / 48

slide-47
SLIDE 47

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T1 − → (M1, T2 = 0)

0.2

− − → (M1, T2 = 0.2) T2 − →

  • M0, T0 = 0,

T1 = 0

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-48
SLIDE 48

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T1 − →

  • M1, T0 = 1.62,

T2 = 0

  • 0.2

− − → (M1, T2 = 0.2) T2 − →

  • M0, T0 = 0,

T1 = 0 0.31 − − →

  • M0, T0 = 0.31,

T1 = 0.31

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-49
SLIDE 49

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T1 − →

  • M1, T0 = 1.62,

T2 = 0

  • 0.2

− − →

  • M1, T0 = 1.62,

T2 = 0.2 T2 − →

  • M0, T0 = 0,

T1 = 0 0.31 − − →

  • M0, T0 = 0.31,

T1 = 0.31

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-50
SLIDE 50

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T1 − →

  • M1, T0 = 1.62,

T2 = 0

  • 0.2

− − →

  • M1, T0 = 1.62,

T2 = 0.2 T2 − →

  • M0, T0 = 1.62,

T1 = 0 0.31 − − →

  • M0, T0 = 0.31,

T1 = 0.31

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-51
SLIDE 51

Time Petri Nets with Stopwatches (and more) Time Petri Nets

From Read Arcs To Activator Arcs

P0 P1 P2 T0[3, 4] T1[1, 2] T2[0, 1]

  • Memory / No Memory:
  • M0, T0 = 0,

T1 = 0 1.62 − − →

  • M0, T0 = 1.62,

T1 = 1.62 T1 − →

  • M1, T0 = 1.62,

T2 = 0

  • 0.2

− − →

  • M1, T0 = 1.62,

T2 = 0.2 T2 − →

  • M0, T0 = 1.62,

T1 = 0 0.31 − − →

  • M0, T0 = 1.93,

T1 = 0.31

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 21 / 48

slide-52
SLIDE 52

Time Petri Nets with Stopwatches (and more) Time Petri Nets

TPN with Stopwatches Example: Round-Robin Scheduling

P0 P1 P2 P2 T0[3, 4] T1[2, 3] Ts1[1, 1] Ts2[1, 1]

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 22 / 48

slide-53
SLIDE 53

Time Petri Nets with Stopwatches (and more) Time Petri Nets

TPN with Stopwatches Example: Round-Robin Scheduling

P0 P1 P2 P2 T0[3, 4] T1[2, 3] Ts1[1, 1] Ts2[1, 1]

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 22 / 48

slide-54
SLIDE 54

Time Petri Nets with Stopwatches (and more) Time Petri Nets

TPN with Stopwatches Example: Round-Robin Scheduling

P0 P1 P2 P2 T0[3, 4] T1[2, 3] Ts1[1, 1] Ts2[1, 1]

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 22 / 48

slide-55
SLIDE 55

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 =?

T1 = 0 T2 =?

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-56
SLIDE 56

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 =?

T1 = 0.22 T2 =?

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-57
SLIDE 57

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 =?

T1 = 0.22 T2 = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-58
SLIDE 58

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 =?

T1 = 1.6 T2 = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-59
SLIDE 59

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 = 0

T1 = 1.6 T2 = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-60
SLIDE 60

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 = 1.5

T1 = 1.6 T2 = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-61
SLIDE 61

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 =?

T1 = 1.6 T2 = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-62
SLIDE 62

Time Petri Nets with Stopwatches (and more) Time Petri Nets

Time Inhibitor Arcs: Fixed Priority Scheduling (Preemptive)

P0 P1 P2 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • T0 =?

T1 = 1.8 T2 = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 23 / 48

slide-63
SLIDE 63

Time Petri Nets with Stopwatches (and more) Time Petri Nets

The price of expressiveness

The reachability problem: General case Bounded Petri Nets decidable decidable Petri Nets w/ Inhibitor undecidable[8] decidable Time Petri Nets undecidable [9] decidable [1] Stopwatch Time Petri Nets undecidable [2] undecidable[2]

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 24 / 48

slide-64
SLIDE 64

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Scheduling Time Petri Nets

◮ A model in the class of Time Petri Nets w/ Stopwatches;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 25 / 48

slide-65
SLIDE 65

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Scheduling Time Petri Nets

◮ A model in the class of Time Petri Nets w/ Stopwatches; ◮ Dedicated to the modelling of preemptive scheduling policies;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 25 / 48

slide-66
SLIDE 66

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Scheduling Time Petri Nets

◮ A model in the class of Time Petri Nets w/ Stopwatches; ◮ Dedicated to the modelling of preemptive scheduling policies; ◮ Places and transitions are associated with tasks;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 25 / 48

slide-67
SLIDE 67

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Scheduling Time Petri Nets

◮ A model in the class of Time Petri Nets w/ Stopwatches; ◮ Dedicated to the modelling of preemptive scheduling policies; ◮ Places and transitions are associated with tasks; ◮ Tasks are given a processor and priority (or deadline or . . . );

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 25 / 48

slide-68
SLIDE 68

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Scheduling Time Petri Nets

◮ A model in the class of Time Petri Nets w/ Stopwatches; ◮ Dedicated to the modelling of preemptive scheduling policies; ◮ Places and transitions are associated with tasks; ◮ Tasks are given a processor and priority (or deadline or . . . ); ◮ Processors are given a scheduling policy.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 25 / 48

slide-69
SLIDE 69

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Scheduling Time Petri Nets

◮ A model in the class of Time Petri Nets w/ Stopwatches; ◮ Dedicated to the modelling of preemptive scheduling policies; ◮ Places and transitions are associated with tasks; ◮ Tasks are given a processor and priority (or deadline or . . . ); ◮ Processors are given a scheduling policy. ◮ With the state of the net of progress rate for each transition is

computed at each change of marking.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 25 / 48

slide-70
SLIDE 70

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Fixed Priority Scehduling (Preemptive)

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 3 Proc(τ2) = 1 Prio(τ2) = 2 Proc(τ3) = 1 Prio(τ3) = 1

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 26 / 48

slide-71
SLIDE 71

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Fixed Priority Scehduling (Preemptive)

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 3 Proc(τ2) = 1 Prio(τ2) = 2 Proc(τ3) = 1 Prio(τ3) = 1

Flow(T0) = 1, Flow(T1) = 0, Flow(T2) = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 26 / 48

slide-72
SLIDE 72

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Fixed Priority Scehduling (Preemptive)

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 3 Proc(τ2) = 1 Prio(τ2) = 2 Proc(τ3) = 1 Prio(τ3) = 1

Flow(T0) =?, Flow(T1) = 1, Flow(T2) = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 26 / 48

slide-73
SLIDE 73

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Fixed Priority Scehduling (Preemptive)

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 3 Proc(τ2) = 1 Prio(τ2) = 2 Proc(τ3) = 1 Prio(τ3) = 1

Flow(T0) =?, Flow(T1) =?, Flow(T2) = 1

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 26 / 48

slide-74
SLIDE 74

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Round-Robin

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 1 Proc(τ2) = 1 Prio(τ2) = 1 Proc(τ3) = 1 Prio(τ3) = 1

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 27 / 48

slide-75
SLIDE 75

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Round-Robin

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 1 Proc(τ2) = 1 Prio(τ2) = 1 Proc(τ3) = 1 Prio(τ3) = 1

Flow(T0) = 1

3, Flow(T1) = 1 3, Flow(T2) = 1 3

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 27 / 48

slide-76
SLIDE 76

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Round-Robin

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 1 Proc(τ2) = 1 Prio(τ2) = 1 Proc(τ3) = 1 Prio(τ3) = 1

Flow(T0) =?, Flow(T1) = 1

2, Flow(T2) = 1 2

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 27 / 48

slide-77
SLIDE 77

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Round-Robin

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 1 Proc(τ2) = 1 Prio(τ2) = 1 Proc(τ3) = 1 Prio(τ3) = 1

Flow(T0) =?, Flow(T1) =?, Flow(T2) = 1

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 27 / 48

slide-78
SLIDE 78

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Round-Robin

P0, γ = τ1 P1, γ = τ2 P2, γ = τ3 T0[1, 3] T1[4, 10] T2[2, 3] Tin0[1, 3] Tin1[0, 2] Tin2[0, 1]

  • Proc(τ1) = 1

Prio(τ1) = 1 Proc(τ2) = 1 Prio(τ2) = 1 Proc(τ3) = 1 Prio(τ3) = 1

A fluid approach: minimize the number of discrete changes.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 27 / 48

slide-79
SLIDE 79

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Earliest Deadline First

p1 γ = φ p2 γ = τ1 p3 γ = τ1 p4 γ = τ2 t1 [10, 10] t2 [1, 3] t3 [3, 3] t4 [2, 2]

  • Proc(τ1) = 1

Deadline(τ1) = 10 B(τ1) = {t1}, E(τ1) = {t3} Proc(τ2) = 1 Deadline(τ2) = 8 B(τ2) = {t2} E(τ2) = {t4}

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 28 / 48

slide-80
SLIDE 80

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Earliest Deadline First

p1 γ = φ p2 γ = τ1 p3 γ = τ1 p4 γ = τ2 t1 [10, 10] t2 [1, 3] t3 [3, 3] t4 [2, 2]

  • Proc(τ1) = 1

Deadline(τ1) = 10 B(τ1) = {t1}, E(τ1) = {t3} Proc(τ2) = 1 Deadline(τ2) = 8 B(τ2) = {t2} E(τ2) = {t4} Flow(t1) = 1 Flow(t2) = 1 Flow(t3) =? Flow(t4) =?

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 28 / 48

slide-81
SLIDE 81

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Earliest Deadline First

p1 γ = φ p2 γ = τ1 p3 γ = τ1 p4 γ = τ2 t1 [10, 10] t2 [1, 3] t3 [3, 3] t4 [2, 2]

  • Proc(τ1) = 1

Deadline(τ1) = 10 B(τ1) = {t1}, E(τ1) = {t3} Proc(τ2) = 1 Deadline(τ2) = 8 B(τ2) = {t2} E(τ2) = {t4} if t2 was fired before 2 Flow(t1) = 1 Flow(t2) =? Flow(t3) = 0 Flow(t4) = 1 if t2 was fired after 2 Flow(t1) = 1 Flow(t2) =? Flow(t3) = 1 Flow(t4) = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 28 / 48

slide-82
SLIDE 82

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Earliest Deadline First

p1 γ = φ p2 γ = τ1 p3 γ = τ1 p4 γ = τ2 xτ1 xτ2 t1 [10, 10] t2 [1, 3] t3 [3, 3] t4 [2, 2] Dτ1[10, 10] Dτ2[8, 8]

  • Proc(τ1) = 1

Deadline(τ1) = 10 B(τ1) = {t1}, E(τ1) = {t3} Proc(τ2) = 1 Deadline(τ2) = 8 B(τ2) = {t2} E(τ2) = {t4} if t2 was fired before 2 Flow(t1) = 1 Flow(t2) =? Flow(t3) = 0 Flow(t4) = 1 if t2 was fired after 2 Flow(t1) = 1 Flow(t2) =? Flow(t3) = 1 Flow(t4) = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 28 / 48

slide-83
SLIDE 83

Time Petri Nets with Stopwatches (and more) Scheduling Time Petri Nets

Example: Earliest Deadline First

p1 γ = φ p2 γ = τ1 p3 γ = τ1 p4 γ = τ2 xτ1 xτ2 t1 [10, 10] t2 [1, 3] t3 [3, 3] t4 [2, 2] Dτ1[10, 10] Dτ2[8, 8]

  • Proc(τ1) = 1

Deadline(τ1) = 10 B(τ1) = {t1}, E(τ1) = {t3} Proc(τ2) = 1 Deadline(τ2) = 8 B(τ2) = {t2} E(τ2) = {t4} if Dτ2 ≤ Dτ1 Flow(t1) = 1 Flow(t2) =? Flow(t3) = 0 Flow(t4) = 1 if Dτ1 < Dτ2 Flow(t1) = 1 Flow(t2) =? Flow(t3) = 1 Flow(t4) = 0

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 28 / 48

slide-84
SLIDE 84

Abstractions for Scheduling-TPNs

Plan I

Introduction Time Petri Nets with Stopwatches (and more) Abstractions for Scheduling-TPNs The State Class Graph Polyhedra On Demand! Verifying properties Conclusion and Future Work

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 29 / 48

slide-85
SLIDE 85

Abstractions for Scheduling-TPNs

Abstractions

◮ Infinite state-space ⇒ Abstractions ◮ TPNs: Zone-based simulation graph [5] ◮ TPNs: State class graph [1] ◮ TPNs w/ stopwatches (IHTPNs,. . . ): State class graph [10, 11, 3]

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 30 / 48

slide-86
SLIDE 86

Abstractions for Scheduling-TPNs The State Class Graph

Basic Algorithm

begin Passed = ∅ Waiting = {C0} while Waiting = ∅ C = pop(Waiting) Passed = Passed ∪ C for t firable from C C ′ = AbstractSuccessor(C, t) if C ′ ∈ Passed Waiting = Waiting ∪ C ′ end if end for end while end

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 31 / 48

slide-87
SLIDE 87

Abstractions for Scheduling-TPNs The State Class Graph

State Class

C =                  1 2 1       ,            TPNs: Zone (encoded by a Difference Bound Matrix (DBM) [dij]i,j∈[0..n]): −d0i ≤ θi−0 ≤ di0, θi − θj ≤ dij

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 32 / 48

slide-88
SLIDE 88

Abstractions for Scheduling-TPNs The State Class Graph

State Class

C =                  1 2 1       ,            SwTPNs: General polyhedron: A¯ Θ ≤ B

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 32 / 48

slide-89
SLIDE 89

Abstractions for Scheduling-TPNs The State Class Graph

Over-approximation

C =                  1 2 1       ,            Over-approximation using the smallest englobing zone

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 33 / 48

slide-90
SLIDE 90

Abstractions for Scheduling-TPNs The State Class Graph

Over-approximation

C =                  1 2 1       ,            Over-approximation using the smallest englobing zone

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 33 / 48

slide-91
SLIDE 91

Abstractions for Scheduling-TPNs The State Class Graph

Computing the state class graph (normal)

Let C = (M, D) and D = (A.Θ ≤ B). We fire tf .

◮ M′ = M − •tf + tf • ◮ D′ is computed by:

◮ for all enabled transitions ti s.t. Flow(ti) = 0, constrain by θf ≤ θi ◮ for all enabled transitions ti s.t. Flow(ti) = 0, θ′

i = θi − θf

◮ eliminate variables for disabled transitions (e.g. using Fourier-Motzkin

method [4])

◮ add new variables for newly enabled transitions ti:

α(ti) ≤ θi ≤ β(ti)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 34 / 48

slide-92
SLIDE 92

Abstractions for Scheduling-TPNs The State Class Graph

Computing the state class graph (round-robin)

Let C = (M, D) and D = (A.Θ ≤ B). We fire tf .

◮ M′ = M − •tf + tf • ◮ D′ is computed by:

◮ for all enabled transitions ti s.t. Flow(ti) = 0, constrain by θf ≤ θi ◮ for all enabled transitions ti s.t. Flow(ti) = 0, θ′

i = θi − Flow(tj) Flow(tf)θf

◮ eliminate variables for disabled transitions (e.g. using Fourier-Motzkin

method [4])

◮ add new variables for newly enabled transitions ti:

α(ti) ≤ θi ≤ β(ti)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 35 / 48

slide-93
SLIDE 93

Abstractions for Scheduling-TPNs The State Class Graph

Computing the state class graph (earliest deadline first)

Let C = (M, D) and D = (A.Θ ≤ B). We fire tf .

◮ M′ = M − •tf + tf • ◮ D′ is computed by:

◮ for all enabled transitions ti s.t. Flow(ti) = 0, constrain by θf ≤ θi ◮ for all enabled transitions ti s.t. Flow(ti) = 0, θ′

i = θi − θf

◮ eliminate variables for disabled transitions (e.g. using Fourier-Motzkin

method [4])

◮ add new variables for newly enabled transitions ti:

α(ti) ≤ θi ≤ β(ti)

◮ partition D with Dτ ≤ Dτ ′ and Dτ > Dτ ′ Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 36 / 48

slide-94
SLIDE 94

Abstractions for Scheduling-TPNs The State Class Graph

Example

P1 P2 P3 P4 t1 [4, 5] t2 [1, 1] t3 [1, 2] t4 [2, 4]

  • C0

C1 C2 C3 C4 C5 C6 T2 T3 T4 T4 T3 T1 T1    4 ≤ θ1 ≤ 5 θ2 = 1 2 ≤ θ4 ≤ 4    3 ≤ θ1 ≤ 4 1 ≤ θ3 ≤ 2 1 ≤ θ4 ≤ 3 . . .    3 ≤ θ1 0 ≤ θ3 ≤ 1 θ1 + θ3 ≤ 5 . . . . . . . . . {P1, P2, P4} {P2, P3, P4} {P1, P4} {P1, P3} {P1} {P1} ∅

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 37 / 48

slide-95
SLIDE 95

Abstractions for Scheduling-TPNs Polyhedra On Demand!

The Way of the Middle (1/2)

For IHTPNs:

◮ The polyhedron in the initial state class is always a zone. ◮ The successor of a non-zone polyhedron might be a zone ◮ The successor of a zone might not be a zone

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 38 / 48

slide-96
SLIDE 96

Abstractions for Scheduling-TPNs Polyhedra On Demand!

The Way of the Middle (1/2)

For IHTPNs:

◮ The polyhedron in the initial state class is always a zone. ◮ The successor of a non-zone polyhedron might be a zone ◮ The successor of a zone might not be a zone

We want to start to compute with zones and fall back to general polyhedra when needed (and return to zones asap).

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 38 / 48

slide-97
SLIDE 97

Abstractions for Scheduling-TPNs Polyhedra On Demand!

The Way of the Middle (1/2)

For IHTPNs:

◮ The polyhedron in the initial state class is always a zone. ◮ The successor of a non-zone polyhedron might be a zone

(easy to check: O(n2))

◮ The successor of a zone might not be a zone

(not so easy to check) We want to start to compute with zones and fall back to general polyhedra when needed (and return to zones asap).

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 38 / 48

slide-98
SLIDE 98

Abstractions for Scheduling-TPNs Polyhedra On Demand!

Abstractions: The Way of the Middle (2/2)

D = [dij]i,j∈[0..n] and (M′, D′) = AbstractSuccessor((M, D), tf ). D′ is not a zone iff there are at least three enabled transitions ti, tj, tk in D such that:

  • 1. ti, tj, tk are not disabled when firing tf ;
  • 2. Flow(ti) = 0 and Flow(tk) = 0;
  • 3. Flow(tj) = 0;
  • 4. dj0 + dki > dk0 + dji or d0j − dik < d0k − dij

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 39 / 48

slide-99
SLIDE 99

Abstractions for Scheduling-TPNs Polyhedra On Demand!

Abstractions: The Way of the Middle (2/2)

D = [dij]i,j∈[0..n] and (M′, D′) = AbstractSuccessor((M, D), tf ). D′ is not a zone iff there are at least three enabled transitions ti, tj, tk in D such that:

  • 1. ti, tj, tk are not disabled when firing tf ;
  • 2. Flow(ti) = 0 and Flow(tk) = 0;
  • 3. Flow(tj) = 0;
  • 4. dj0 + dki > dk0 + dji or d0j − dik < d0k − dij

Complexity: O(n3)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 39 / 48

slide-100
SLIDE 100

Verifying properties

Plan I

Introduction Time Petri Nets with Stopwatches (and more) Abstractions for Scheduling-TPNs Verifying properties Observers Model-checking Conclusion and Future Work

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 40 / 48

slide-101
SLIDE 101

Verifying properties Observers

Observing durations

p1 p3 p2 pobs p4 t1 [0, 4] t3 [5, 6] t2 [3, 4] tobs [5, 5] t4 [0, 0]

  • Didier Lime (IRCCyN / ECN)

ETR 2007 5 septembre 2007 41 / 48

slide-102
SLIDE 102

Verifying properties Observers

Observing durations

p1 p3 p2 pobs p4 t1 [0, 4] t3 [5, 6] t2 [3, 4] tobs [5, 5] t4 [0, 0]

  • There can be ≥ 5 t.u. between the firings of t1 and t2 iff tobs is fired.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 41 / 48

slide-103
SLIDE 103

Verifying properties Observers

Observing durations

p1 p3 p2 pobs p4 t1 [0, 4] t3 [5, 6] t2 [3, 4] tobs [5, 5] t4 [0, 0]

  • the max sojourn time of the token is max(M,D)∈Classes{5 − min(D|tobs )}.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 41 / 48

slide-104
SLIDE 104

Verifying properties Model-checking

TCTL Model-checking

◮ Techniques for the verification of Timed Computation Tree Logic

(TCTL) exist for TPNs ([6, 7]).

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 42 / 48

slide-105
SLIDE 105

Verifying properties Model-checking

TCTL Model-checking

◮ Techniques for the verification of Timed Computation Tree Logic

(TCTL) exist for TPNs ([6, 7]).

◮ They can be (easily) extended to work with SwTPNs.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 42 / 48

slide-106
SLIDE 106

Verifying properties Model-checking

TCTL Model-checking

◮ Techniques for the verification of Timed Computation Tree Logic

(TCTL) exist for TPNs ([6, 7]).

◮ They can be (easily) extended to work with SwTPNs. ◮ One can check for instance AG(M(p2) ≥ 1) ⇒ EF[0, 5](M(p2) = 0))

(bounded response).

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 42 / 48

slide-107
SLIDE 107

Verifying properties Model-checking

TCTL Model-checking

◮ Techniques for the verification of Timed Computation Tree Logic

(TCTL) exist for TPNs ([6, 7]).

◮ They can be (easily) extended to work with SwTPNs. ◮ One can check for instance AG(M(p2) ≥ 1) ⇒ EF[0, 5](M(p2) = 0))

(bounded response).

◮ This is implemented ina Romeo!

(http://romeo.rts-software.org)

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 42 / 48

slide-108
SLIDE 108

Verifying properties Model-checking

TCTL Model-checking

◮ Techniques for the verification of Timed Computation Tree Logic

(TCTL) exist for TPNs ([6, 7]).

◮ They can be (easily) extended to work with SwTPNs. ◮ One can check for instance AG(M(p2) ≥ 1) ⇒ EF[0, 5](M(p2) = 0))

(bounded response).

◮ This is implemented ina Romeo!

(http://romeo.rts-software.org)

◮ Warning: It cannot express properties on stopwatches (response

times but not cumulated execution durations).

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 42 / 48

slide-109
SLIDE 109

Conclusion and Future Work

Plan I

Introduction Time Petri Nets with Stopwatches (and more) Abstractions for Scheduling-TPNs Verifying properties Conclusion and Future Work

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 43 / 48

slide-110
SLIDE 110

Conclusion and Future Work

Conclusion

◮ Time Petri Nets with Stopwatches (and more) are a very nice

formalism for real-time systems modelling, including (preemptive) scheduling;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 44 / 48

slide-111
SLIDE 111

Conclusion and Future Work

Conclusion

◮ Time Petri Nets with Stopwatches (and more) are a very nice

formalism for real-time systems modelling, including (preemptive) scheduling;

◮ Theoretical properties are not good but they are usable in practice!

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 44 / 48

slide-112
SLIDE 112

Conclusion and Future Work

Conclusion

◮ Time Petri Nets with Stopwatches (and more) are a very nice

formalism for real-time systems modelling, including (preemptive) scheduling;

◮ Theoretical properties are not good but they are usable in practice! ◮ Some tools exist including Romeo (IRCCyN, Nantes) and Tina

(LAAS, Toulouse).

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 44 / 48

slide-113
SLIDE 113

Conclusion and Future Work

Future Work

Future work includes:

◮ Interaction with higher-level models and specifications languages;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 45 / 48

slide-114
SLIDE 114

Conclusion and Future Work

Future Work

Future work includes:

◮ Interaction with higher-level models and specifications languages; ◮ Discrete time semantics;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 45 / 48

slide-115
SLIDE 115

Conclusion and Future Work

Future Work

Future work includes:

◮ Interaction with higher-level models and specifications languages; ◮ Discrete time semantics; ◮ Parametric extensions;

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 45 / 48

slide-116
SLIDE 116

Conclusion and Future Work

Future Work

Future work includes:

◮ Interaction with higher-level models and specifications languages; ◮ Discrete time semantics; ◮ Parametric extensions; ◮ Control problems.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 45 / 48

slide-117
SLIDE 117

Conclusion and Future Work

  • B. Berthomieu and M. Diaz.

Modeling and verification of time dependent systems using time Petri nets. IEEE transactions on software engineering, 17(3):259–273, 1991.

  • B. Berthomieu, D. Lime, O.H. Roux, and F. Vernadat.

Reachability problems and abstract state spaces for time petri nets with stopwatches. Journal of Discrete Event Dynamic Systems (jDEDS), 17(2):133–158, 2007.

  • G. Bucci, A. Fedeli, L. Sassoli, and E. Vicario.

Time state space analysis of real-time preemptive systems. IEEE transactions on software engineering, 30(2):97–111, February 2004. G.B. Dantzig. Linear programming and extensions. IEICE Transactions on Information and Systems, 1963.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 46 / 48

slide-118
SLIDE 118

Conclusion and Future Work

  • G. Gardey, O.H. Roux, and O.F. Roux.

State space computation and analysis of time Petri nets. Theory and Practice of Logic Programming (TPLP). Special Issue on Specification Analysis and Verification of Reactive Systems, 2005. to appear. Guillaume Gardey. Rseaux de Petri temporels. PhD thesis, Universit´ e de Nantes, Nantes, France, 2005. Rachid Hadjidj and Hanifa Boucheneb. On-the-fly tctl model checking for time petri nets using state class graphs. In Sixth International Conference on Application of Concurrency to System Design (ACSD’06), pages 111–122, 2006.

  • R. Janicki and M. Koutny.

Semantics of inhibitor nets. Information and Computation, 123(1):1–15, 1995.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 47 / 48

slide-119
SLIDE 119

Conclusion and Future Work

N.D. Jones, L.H. Landweber, and Y.E. Lien. Complexity of some problems in Petri nets. Theoretical Computer Science 4, pages 277–299, 1977.

  • D. Lime and O.H. Roux.

Expressiveness and analysis of scheduling extended time Petri nets. In 5th IFAC International Conference on Fieldbus Systems and their Applications, (FET 2003), Aveiro, Portugal, July 2003. Elsevier Science. O.H. Roux and D. Lime. Time Petri nets with inhibitor hyperarcs. Formal semantics and state space computation. In Jordi Cortadella and Wolfgang Reisig, editors, The 25th International Conference on Application and Theory of Petri Nets, (ICATPN 2004), volume 3099 of Lecture Notes in Computer Science, pages 371–390, Bologna, Italy, June 2004. Springer-Verlag.

Didier Lime (IRCCyN / ECN) ETR 2007 5 septembre 2007 48 / 48