Dynamic Slicing Techniques for Petri Nets M. Llorens, J. Oliver, J. - - PowerPoint PPT Presentation

dynamic slicing techniques for petri nets
SMART_READER_LITE
LIVE PREVIEW

Dynamic Slicing Techniques for Petri Nets M. Llorens, J. Oliver, J. - - PowerPoint PPT Presentation

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Dynamic Slicing Techniques for Petri Nets M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal Dep. of


slide-1
SLIDE 1

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work

Dynamic Slicing Techniques for Petri Nets

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal
  • Dep. of Information Systems and Computation (DSIC)

Technical University of Valencia (UPV)

4th International Workshop on Programming Language Interference and Dependence (PLID 2008)

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-2
SLIDE 2

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-3
SLIDE 3

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-4
SLIDE 4

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

Program Slicing

Method for decomposing programs in order to extract parts

  • f them, called program slices, which are of interest.

Mark Weiser (1979). Program debugging ⇒ For isolating the program statements that may contain a bug. In general, slicing extracts the statements that may affect some point of interest, referred to as slicing criterion. Classified into two classes:

Static: if the input of the program is unknown. Dynamic: if a particular input for the program is provided.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-5
SLIDE 5

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

Program Slicing

Example

(a) Example program. (b) Slice

  • f

this program w.r.t. the slicing criterion (10,product).

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-6
SLIDE 6

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-7
SLIDE 7

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

Petri Net

Graphic, mathematical tool used to model and verify the behavior of systems that are concurrent, asynchronous, distributed, parallel, non-deterministic and/or stochastic. Verification ⇒ Methods explore the state space, as the reachability graph. State explosion problem ⇒ various approaches have been proposed to minimize the number of system states to be studied.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-8
SLIDE 8

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-9
SLIDE 9

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

Static Slicing in PN

C.K. Chang and H. Wang. A slicing algorithm of concurrency modelling based on Petri nets. In Proc. of the 1986 Int. Conf. on Parallel Processing, IEEE Computer Society Press, pp. 789-792, 1987. W.J. Lee, S.D. Cha, Y.R. Kwon, and H.N. Kim. A Slicing-based Approach to Enhance Petri Net Reachability Analysis. In Journal

  • f Research and Practice in Information Technology, vol. 32(2),
  • pp. 131-143, 2000.
  • A. Rakow. Slicing Petri Nets. Technical Report, Department für

Informatik, Carl von Ossietzky Universität, Oldenburg, 2007.

  • A. Rakow. Slicing Petri Nets with an Application to Workflow
  • Verification. In Proc. of the 34th Conf. on Current Trends in

Theory and Practice of Computer Science (SOFSEM 2008) , Springer LNCS 4910, pp. 436-447, 2008.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-10
SLIDE 10

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

Algorithm of Rakow’07

The slicing criterion for N = (P, T, F) is Q where Q ⊆ P is a set of places. It computes all the parts of the Petri net which could transmit tokens to the slicing criterion Q.

1

The marking of a place p depends on its input and output transitions,

2

a transition may only be fired if it is enabled, and

3

the enabling of a transition depends on the marking of its input places.

The slice N ′ = (P′, T ′, F ′) is a subnet of N that includes all input places of all transitions connected to any place p in P′, starting with Q ⊆ P′. Limitation ⇒ Big slices due to no initial marking nor firing sequence were considered.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-11
SLIDE 11

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-12
SLIDE 12

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

Dynamic Slicing in PN

Proposal 1: It extends the slicing criterion in Rakow’07 in

  • rder to also consider an initial marking.

Proposal 2: It reduces the size of the computed slice by

  • nly considering a particular execution, a sequence of

transition firings.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-13
SLIDE 13

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-14
SLIDE 14

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Motivation

Dynamic ⇒ Initial marking ⇒ Debugging In a particular trace of a marked Petri net, an erroneous state is reached. Extracting the set of places and transitions that may erroneously contribute tokens to the places of interest.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-15
SLIDE 15

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-16
SLIDE 16

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Intuitive idea

The slicing criterion for N = (P, T, F) is a pair M0, Q where M0 is an initial marking for N and Q ⊆ P is a set of places. The slice N ′ = (P′, T ′, F ′) is a subnet with those places and transitions of N which can contribute to change the marking of Q in any execution starting in M0. How?

1

We first compute the possible paths which lead to the slicing criterion (backward slice).

2

We also compute the paths that may be followed by the tokens of the initial marking (forward slice).

3

The result is the intersection of backward and forward slices.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-17
SLIDE 17

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-18
SLIDE 18

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Initial PN (N, M0) and slicing criterion M0, {p5, p7, p8}

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-19
SLIDE 19

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Backward slice (N1, M0|P1)

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-20
SLIDE 20

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Forward slice (N2, M0|P2)

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-21
SLIDE 21

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Intersection: Final result of Algorithm 1

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-22
SLIDE 22

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-23
SLIDE 23

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Comparison

Rakow’s slice Our slice {p5, p7, p8} M0, {p5, p7, p8}

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-24
SLIDE 24

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Comparison

Rakow’s algorithm computes all the parts of the Petri net which could transmit tokens to Q. We compute all the parts of the Petri net which could transmit tokens to Q from M0. Our technique is more general than Rakow’s technique ⇒ the Rakow’s slice w.r.t. Q is the same as our slice w.r.t. M0, Q if M0(p) > 0 for all p ∈ P. But it keeps its simplicity and efficiency. Its cost is bounded by the number of transitions T of the

  • riginal Petri net, O(2T).
  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-25
SLIDE 25

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-26
SLIDE 26

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Motivation

We refine the notion of slicing criterion including the firing sequence that represents the erroneous simulation. The slice is more precise than the one produced by previous proposal.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-27
SLIDE 27

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-28
SLIDE 28

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Intuitive idea

The slicing criterion for N = (P, T, F) is M0,σ, Q. The slice N ′ = (P′, T ′, F ′) is a subnet with those places and transitions of N which are necessary to move tokens to the places in Q, following σ= t1t2 . . . tn (M0

t1

− → M1

t2

− → . . . Mi−1

ti

− → Mi . . .

tn

− → Mn). How?

Function slice(Mn, Q) is called, where Mn is a marking reachable from M0 through σ. slice(Mi, W) =    W if i = 0 slice(Mi−1, W) if ∀p ∈ W. Mi−1(p) ≥ Mi(p), i > 0 {ti} ∪ slice(Mi−1, W ∪ •ti) if ∃p ∈ W. Mi−1(p) < Mi(p), i > 0

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-29
SLIDE 29

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-30
SLIDE 30

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Slicing criterion M0, σ = t5t2t3t0t2t3, {p5, p7, p8}

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-31
SLIDE 31

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Slice result of Algorithm 2

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-32
SLIDE 32

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

1

Motivation Program Slicing Petri Nets Static Slicing in PN Dynamic Slicing in PN

2

Dynamic Slicing in PN from an initial marking Motivation Intuitive idea Example Comparison

3

Dynamic Slicing in PN from a firing sequence Motivation Intuitive idea Example Comparison

4

Conclusions and Future Work

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-33
SLIDE 33

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work Motivation Intuitive idea Example Comparison

Comparison

First slice Second slice M0, {p5, p7, p8} M0, σ = t5t2t3t0t2t3, {p5, p7, p8}

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-34
SLIDE 34

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work

Conclusions

We have introduced two different techniques for dynamic slicing of Petri nets. To the best of our knowledge, this is the first approach to dynamic slicing for Petri nets. The first proposal takes into account the Petri net and an initial marking, but produces a slice w.r.t. any possibly firing sequence. The second proposal further reduces the computed slice by fixing a particular firing sequence. In general, our slices are smaller than previous (static) approaches where no initial marking nor firing sequence were considered.

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets

slide-35
SLIDE 35

Motivation Dynamic Slicing in PN from an initial marking Dynamic Slicing in PN from a firing sequence Conclusions and Future Work

Future work

We plan to carry on an experimental evaluation of our slicing techniques in order to test its viability in practice. We also find it useful to extend our slicing techniques to

  • ther kind of Petri nets (e.g., coloured Petri nets

[Jensen97] and marked-controlled reconfigurable nets [Llorens and Oliver04]).

  • M. Llorens, J. Oliver, J. Silva, S. Tamarit, G. Vidal

Dynamic Slicing Techniques for Petri Nets