model checking of time petri nets

65
Model Checking of Time Petri Nets Marwa K. U. Al- Rikaby Babylon University IT College

Category:

Education


1 download

TRANSCRIPT

Page 1: Model checking of time petri nets

Model Checking of Time Petri Nets

Marwa K. U. Al-Rikaby

Babylon UniversityIT College

Page 2: Model checking of time petri nets

Outlines: Introduction. Time Petri nets. Temporal Logics for time Petri nets. TPN state space abstraction. Model checking timed properties of TPN.

Page 3: Model checking of time petri nets

Introduction

Why time Petri nets? TPN model is a good compromise

between modeling power and verification complexity of concurrent systems with timed constraints (real time systems).

Page 4: Model checking of time petri nets

Introduction

Why time Petri nets? TPN are able to model time constraints

even if the exact delays or durations of events aren't known.

TPN specify time constraints of real time systems by giving worst case boundaries.

Page 5: Model checking of time petri nets

Introduction How TPN differ from ordinary PN? A firing interval is associated with each transition

specifying the minimum and maximum times it must be maintained enabled, before its firing.

Firing takes no time, but may lead to another marking.

In real world, events (firings) takes a time to complete, but in Petri nets it is omitted for simplicity.

Page 6: Model checking of time petri nets

Introduction Model checking techniques of systems: Applied by:

Representing the behavior of a system as a finite state transition system (state space).

Specifying properties of interest in a temporal logic (LTL, CTL, CTL*, MTL, TCTL).

Exploring the state space to determine whether they hold or not.

With TPN, an extra effort is required to abstract their generally infinite state space.

Page 7: Model checking of time petri nets

Outlines: Introduction.

Time Petri nets. Temporal Logics for time Petri nets. TPN state space abstraction. Model checking timed properties of TPN.

Page 8: Model checking of time petri nets

Time Petri nets Definition:A TPN is PN with time intervals attached to its transitions, it is a 6 tuple ϰ =(P, T, Pre, Post, m0,Is) where:

P and T are finite sets of places and transitions, P∩T=Ø. Pre and Post are the backward and forward incidence

functions: P×T N. m0 is the initial marking: P N. Is is a static firing interval associated with each transition t,

T Q+ × (Q+ U {∞}). ↓Int is the lower bound. ↑Int is the upper bound.

Page 9: Model checking of time petri nets

Time Petri nets Example:

P={ p0,p1,p2,p3}

T={t0,t1}

pre={(1,1),(1,1)}

post={(1,1),(1,1)}

m0={1, 0, 1, 3}

Is={[1,2],[1, ∞]}

ϰ =(P, T, Pre, Post, m0,Is)

Page 10: Model checking of time petri nets

Time Petri nets In ordinary PN, a transition t is said to be

enabled if there are enough tokens in its input places.

In TPN, that’s not enough, the time in which the transition has the needed number of tokens must not be less than the lower bound nor exceeds the upper bound of the transition interval.

Page 11: Model checking of time petri nets

Time Petri nets

Keep these notations in your mind: En(m) : is the set of all enabled transitions

in a marking m. s and s’: are two different states of TPN in

the state space. θ R+ is a number of time units.

Page 12: Model checking of time petri nets

Time Petri nets The semantics of TPNDefines the TPN state as a marking and a

function. Definition based on clocks:

associates with each transition t of the model a clock to measure the time elapsed since t became enabled most recently.

Definition based on intervals:associates a firing interval with each enabled transition.

Page 13: Model checking of time petri nets

Time Petri nets Clocks based TPN:

TPN clock state is a pair s=(m,v), where m is a marking and v is a valuation function, v: En(m) R+ .

The initial clock state is: s0=(m0,v0) m0 is the initial marking. v0(t)=0 for all transitions in En(m).

TPN state evolves either by time progression or by firing transitions.

Page 14: Model checking of time petri nets

Time Petri nets Clocks based TPN:

When t becomes enabled, its clock initialized to 0 and increases synchronously with time until t is fired or disabled by another transition firing.

t can fire if its clock value is inside its static firing interval Is(t).

If the clock reached ↑Is(t) then t must fire immediately without any delay.

Page 15: Model checking of time petri nets

Time Petri nets

Page 16: Model checking of time petri nets

Time Petri nets

Page 17: Model checking of time petri nets

Time Petri nets Intervals based TPN

The TPN interval state is a couple s=(m,I), where m is a marking and I:En(m) Q+ × (Q+ U {∞}) is an interval function.

The initial interval state is s0=(m0,I0) m0 is the initial marking. I0(t)=is(t) for all t in En(m0).

TPN state evolves either by time progression or by firing transitions.

Page 18: Model checking of time petri nets

Time Petri nets Interval based TPN

When a transition t becomes enabled, its firing interval is set to its static firing interval Is(t).

The lower and upper bounds of this interval decrease synchronously with time, until t is fired or disabled by another firing.

t can fire, if the lower bound of its firing interval reaches 0, but must be fired, without any additional delay, if the upper bound of its firing interval reaches 0.

Page 19: Model checking of time petri nets

Time Petri nets

Page 20: Model checking of time petri nets
Page 21: Model checking of time petri nets

Timed Petri nets

Page 22: Model checking of time petri nets

Timed Petri nets π(s) is the set of all execution paths starting from

state s. π(s0) is the set of all execution paths in the TPN

since it starts from s0. The TPN state space defines the

branching semantics of the TPN model, where as defines its linear semantics.

Page 23: Model checking of time petri nets

Outlines: Introduction. Time Petri nets.

Temporal Logics for time Petri nets.

TPN state space abstraction. Model checking timed properties of TPN.

Page 24: Model checking of time petri nets

Temporal logics of TPN Properties of timed systems are usually specified using temporal logics, we introduce:

CTL* (computation tree logic star).TCTL (timed computation tree logic).

Markings are represented as atomic propositions.

Page 25: Model checking of time petri nets

Temporal logics of TPN

Page 26: Model checking of time petri nets
Page 27: Model checking of time petri nets
Page 28: Model checking of time petri nets
Page 29: Model checking of time petri nets
Page 30: Model checking of time petri nets
Page 31: Model checking of time petri nets
Page 32: Model checking of time petri nets
Page 33: Model checking of time petri nets
Page 34: Model checking of time petri nets

Temporal logics of TPN TCTL

A time extension of CTL, in which a time interval is associated with each temporal operator.

Defined as:

When interval I is omitted, its value is [0,∞] by default.

Page 35: Model checking of time petri nets

Outlines: Introduction. Time Petri nets. Temporal Logics for time Petri nets.

TPN state space abstraction.

Model checking timed properties of TPN.

Page 36: Model checking of time petri nets

TPN state space abstractions Aim to construct a finite contraction of the model

state space by removing irrelevant details. Must preserve interested properties (markings,

linear and branching properties), which would be verified using classical model checking techniques later.

The challenge is to construct a much coarser abstraction with less resources (time and space).

Page 37: Model checking of time petri nets

TPN state space abstractions

Abstraction process going into:1. Abstract state space.2. Abstract states.3. Abstractions preserving linear

properties.4. Abstractions preserving branching

properties.

Page 38: Model checking of time petri nets
Page 39: Model checking of time petri nets
Page 40: Model checking of time petri nets
Page 41: Model checking of time petri nets
Page 42: Model checking of time petri nets
Page 43: Model checking of time petri nets

TPN state space abstractions

2. Abstract states: Each transition enabled in m is

represented in f by a time variable with the same name, Var(f)=En(m).

All time variables are either clocks (clock abstract state) or delays (interval abstract state).

Page 44: Model checking of time petri nets

TPN state space abstractions3. Abstractions preserving linear properties: Have exactly the same firing sequences as their

concrete state space. Three levels of abstractions:

States reachable by time progression may either represented or abstracted.

States reachable by the same firing sequence independently of their firing times are agglomerated in the same node.

The agglomerated states are then considered modulo some relation of equivalence or approximation.

Page 45: Model checking of time petri nets

TPN state space abstractions3. Abstractions preserving linear properties:

t

Page 46: Model checking of time petri nets

TPN state space abstractions4. Abstractions preserving branching

properties: Can be done on two steps:

Intermediate abstraction: does not necessarily preserve branching

properties. Refinement process: restore the condition AE (the resulting

graph is atomic).

Page 47: Model checking of time petri nets

TPN state space abstractions4. Abstractions preserving branching properties:

Step1: Intermediate abstraction:1. group abstract states whenever one of them includes all the others or their union is convex.

2. replace the grouped states set by a new abstract state representing their union.

3. all transitions between these abstract states become loops for their union.

4. ingoing and outgoing transitions of the grouped abstract states become ingoing and outgoing of their union.

5. if one of the grouped abstract states contains the initial abstract state then their union become the initial abstract state.

Page 48: Model checking of time petri nets
Page 49: Model checking of time petri nets

TPN state space abstractions4. Abstractions preserving branching properties:

Step2: Refinement Process:1. partition a into a set of convex subclasses so as isolate the predecessors of a’ by t in a from those are not.

2. replace a by its partition.

3. each subclass inherets all connections of a according to condition EE.

4. repeat refinement process until condition AE is established.

This step process generates a finite graph iff the intermediate abstraction is finite.

Page 50: Model checking of time petri nets

Outlines: Introduction. Time Petri nets. Temporal Logics for time Petri nets. TPN state space abstraction.

Model checking timed properties of TPN.

Page 51: Model checking of time petri nets
Page 52: Model checking of time petri nets
Page 53: Model checking of time petri nets
Page 54: Model checking of time petri nets
Page 55: Model checking of time petri nets
Page 56: Model checking of time petri nets
Page 57: Model checking of time petri nets
Page 58: Model checking of time petri nets
Page 59: Model checking of time petri nets
Page 60: Model checking of time petri nets
Page 61: Model checking of time petri nets
Page 62: Model checking of time petri nets
Page 63: Model checking of time petri nets
Page 64: Model checking of time petri nets
Page 65: Model checking of time petri nets