BehaviourPreserving Transition Insertions in Unfolding Prefixes - PowerPoint PPT Presentation

About This Presentation
Title:

BehaviourPreserving Transition Insertions in Unfolding Prefixes

Description:

Some design methods based on Petri nets repeatedly execute the following steps: ... that the new transition never steals' tokens from any other enabled transition ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 30
Provided by: udo7
Category:

less

Transcript and Presenter's Notes

Title: BehaviourPreserving Transition Insertions in Unfolding Prefixes


1
Behaviour-Preserving Transition Insertions in
Unfolding Prefixes
  • Victor Khomenko
  • University of Newcastle upon Tyne

2
Motivation
  • Some design methods based on Petri nets
    repeatedly execute the following steps
  • Analyze the original PN spec
  • Modify the PN by behaviour-preserving transition
    insertion

3
Example VME Bus Controller
4
Example Encoding Conflict
5
State Graphs vs. Unfoldings
  • State Graphs
  • Relatively easy theory
  • Many efficient algorithms
  • Not visual
  • State space explosion problem

6
State Graphs vs. Unfoldings
  • Unfoldings
  • Alleviate the state space explosion problem
  • More visual than state graphs
  • Proven efficient for model checking
  • Quite complicated theory
  • Not sufficiently investigated
  • Relatively few algorithms

7
Example Encoding Conflict
e10
e8
dtack-
dsr
e1
e2
e3
e4
e5
e6
e7
e12
lds
ldtack
dtack
dsr
lds
d-
dsr-
d
Code(conf)10110
Code(conf)10110
lds-
ldtack-
e9
e11
8
Example Resolving the conflict
9
Example Resolving the conflict
dtack-
dsr
csc
001000
000000
100000
100001
lds
ldtack-
ldtack-
ldtack-
dtack-
dsr
011000
100101
010000
110000
ldtack
lds-
lds-
lds-
dtack-
dsr
110101
011100
110100
010100
d
d-
dtack
dsr-
csc-
011111
111111
110111
011110
10
Example Resulting Circuit
Data Transceiver
Device
Bus
d
lds
dtack
dsr
csc
ldtack
11
Motivation validity
  • Need to check the validity of the transformation
  • safeness
  • bisimulation
  • The validity should be checked before the
    transformation is performed, i.e. on the original
    prefix (to avoid backtracking)

12
Motivation avoid re-unfolding
  • Perform the transformation directly on the prefix
    to avoid re-unfolding
  • Re-unfolding is time-consuming
  • Good for visualization (re-unfolding can
    dramatically change the look of the prefix)
  • Can transfer information (e.g. encoding
    conflicts) between the iterations of the algorithm

13
Example Re-unfolding
14
Sequential pre-insertion
  • Preserves safeness
  • Preserves traces
  • Can introduce deadlocks need to check that the
    new transition never steals tokens from any
    other enabled transition
  • simple state property
  • can be checked on the original prefix

15
Sequential post-insertion
  • Preserves safeness
  • Yields a bisimular PN
  • Nothing to check!

16
Concurrent insertion
  • Can introduce unsafeness
  • Can introduce deadlocks

17
Place insertion token
t
t
p
  • If the place insertion is valid and t or t is
    not dead then p contains token iff there is a
    t-labelled event in the prefix which does not
    have t-labelled predecessor

18
Place insertion validity
t
t
n
p
  • Tokens(C)n tC tC
  • The transformation is valid if
  • for all instances e of t and t of the prefix,
    Tokens(e)??0,1, and
  • for all cut-offs e with a corresponding
    configuration C, Tokens(e)Tokens(C)
  • If a valid transformation is rejected by this
    criterion then t and t are not live

19
Pre-insertion in the prefix
  • Naïve splitting can yield an incomplete prefix!

20
Pre-insertion in the prefix
  • Naïve splitting can yield an object which is not
    a branching process!

21
Pre-insertion in the prefix
  • Find all possible extensions of the prefix by the
    new transition
  • Amend the instances of the split transitions
  • Amend the cut-off corresponding configurations

22
Post-insertion in the prefix
  • Naïve splitting can yield an incomplete prefix!

23
Post-insertion in the prefix
  • Definition a configuration is extendible if in
    the modified prefix it can be extended by an
    instance of the new transition
  • If there is a cut-off event e with a
    corresponding configuration C such that e is
    extendible and C is not extendible then terminate
    unsuccessfully
  • Amend the instances of the split transition
  • Amend the cut-off corresponding configurations

24
Place insertion in the prefix
  • Assumption the place insertion has passed the
    validity check
  • If n 1 then create a new (causally minimal)
    instance cmin of p
  • For each instance e of t' (including cut-offs),
    create a new instance of p and connect it to e
  • For each instance e of t'' (including cut-offs)
    connect e to cmin if e has no t'-labelled
    predecessor and to the instance of p in the
    postset of the (unique) maximal t'-labelled
    predecessor of e otherwise

25
Concurrent insertion in the prefix
  • Perform the corresponding place insertion
  • Perform the sequential pre-insertion
  • This two steps can easily be combined

26
Equivalent insertions
  • Equivalence is easy to check
  • Fewer transformations to consider
  • Can convert to canonical form, e.g.
    pre-insertions good for unfolding
  • No need to check validity post-insertions are
    always valid

27
Commutative insertions
  • Definition two transition insertions commute if
    they can be performed in any order
  • concurrent insertions commute with any other
    insertions
  • pre-insertions commute with post-insertions
  • two pre/post-insertions commute iff they split
    different transitions or the sets of split off
    places do not overlap
  • A valid insertion remains valid if another valid
    commutative insertion is applied first, i.e. the
    validity needs to be checked only once

28
Summary
  • Rigorous validity criteria developed
  • can be checked on the original prefix no
    backtracking
  • Algorithms for performing transformations
    directly on the prefix
  • avoids re-unfolding, good for performance and
    visualization
  • proofs of correctness
  • Optimisation
  • equivalent transformations
  • commutative transformations

29
  • Thank you!
  • Any questions?
Write a Comment
User Comments (0)
About PowerShow.com