A New Type of Behaviour- Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko.
A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes
description
Transcript of A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes
![Page 1: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/1.jpg)
A New Type of Behaviour-
Preserving Transition Insertions
in Unfolding Prefixes
Victor Khomenko
![Page 2: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/2.jpg)
2
Motivation
• Some design methods based on PNs repeatedly execute the following steps: Analyze the PN Modify the PN by inserting a new
transition in a behaviour-preserving way:
– bisimilar
– safe
• E.g: synthesis of asynchronous circuits: Resolution of encoding conflicts Logic decomposition of complex gates
![Page 3: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/3.jpg)
3
Unfolding prefixes• Using unfolding prefixes for analysing the PN
alleviate state space explosion efficient analysis and synthesis algorithms good for visualisation
• It is desirable to avoid re-unfolding after each transformation, i.e. to mirror the PN transformation by local transformations in the unfolding prefix re-unfolding is time-consuming good for visualisation (re-unfolding can
dramatically change the look of the prefix) can transfer information (e.g. encoding conflicts)
between the iterations of the algorithm
the difficult bit and the main point of the paper
![Page 4: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/4.jpg)
4
Example: VME Bus Controller
lds-d- ldtack- ldtack+
dsr- dtack+ d+
dtack- dsr+ lds+
DeviceVME Bus
Controller
lds
ldtack
d
Data Transceiver
Bus
dsrdtack
![Page 5: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/5.jpg)
5
Example: Encoding Conflict
dtack- dsr+
dtack- dsr+
dtack- dsr+
00100
ldtack- ldtack- ldtack-
0000010000
lds- lds- lds-
01100 01000 11000
lds+
ldtack+
d+
dtack+dsr-d-
01110 01010 11010
01111 11111 11011
11010
10010
M’’ M’
![Page 6: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/6.jpg)
6
Example: Resolving the conflict
lds-d- ldtack- ldtack+
dsr- dtack+ d+
dtack- dsr+ lds+csc+
csc-
![Page 7: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/7.jpg)
7
Example: Resolving the conflict
dtack- dsr+
dtack- dsr+
dtack- dsr+
001000
ldtack- ldtack- ldtack-
000000 100000
lds- lds- lds-
011000 010000 110000
lds+
ldtack+
d+
dtack+dsr-
d-
011100 010100 110100
011111 111111 110111
110101
100101
011110
csc+
csc-
100001
M’’ M’
![Page 8: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/8.jpg)
8
Complex-gate implementation
Device
d
Data TransceiverBus
dsr
dtacklds
ldtack
csc
May be not in the gate library and has to be decomposed
![Page 9: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/9.jpg)
9
Naïve decomposition is hazardous
d
dsr
dtacklds
ldtack
csc
x
lds-d- ldtack- ldtack+
dsr- dtack+ d+
dtack- dsr+ lds+csc+
csc-
Unexpected!
Unexpected!
![Page 10: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/10.jpg)
10
Decompose at the PN level!
d
dsr
dtacklds
ldtack
csc
dec
lds-d- ldtack- ldtack+
dsr- dtack+ d+
dtack- dsr+ lds+csc+
csc-
dec+
dec-
Insert a new signal dec whose implementation is [dec] = ldtack + csc
![Page 11: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/11.jpg)
11
Previous work: Transformations
Sequential pre-insertion Sequential post-insertion
Concurrent insertion
![Page 12: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/12.jpg)
12
Previous work: main results• Validity criteria
safeness bisimilarity
• The validity can be checked before the transformation is performed, i.e. on the original prefix (to avoid backtracking)
• Avoiding re-unfolding
• The suite of transformations is good in practice for resolution of encoding conflicts
![Page 13: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/13.jpg)
13
Motivation for more transformations• The suite of transformations is not sufficient
for logic decomposition; intuitively: only linear (in the PN size) number of
sequential pre- and post-insertions (assuming that the pre- and postset sizes are bounded)
only quadratic (in the PN size) number of concurrent insertions
exponential number of ‘cuts’ in the PN where a Boolean expression can change its value
![Page 14: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/14.jpg)
14
Example: imec-sbuf-ram-writedec+
dec-
dec
Implementation of prbar:(csc2 req) csc1 wsldin
imec-sbuf-ram-writereq
prechargeddone
wsldinwenin
prbarwenwsenackwsld
![Page 15: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/15.jpg)
15
Lock relation• Transitions t and t’ are in the lock relation,
denoted t t’, if in every execution of the PN: their occurrences alternate the first occurrence of t precedes that of t’
• A conservative approximation of can be efficiently computed from the prefix
• The approximation is exact in the live case
![Page 16: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/16.jpg)
16
Generalised transition insertion (GTI)
s1
s2
s3
d1
d2
For each si:
• either si dj for each dj
• or dj si for each dj
• GTIs preserve safeness and yield bisimilar PNs
• It is possible to mirror a GTI by local transformations in the unfolding prefix
sources destinations
![Page 17: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/17.jpg)
17
Computing useful GTIs• There can be exponentially many GTIs (in the
size of the PN): more likely that an appropriate
transformation exists no longer practical to enumerate them all
• How to enumerate only the ‘potentially useful’ (for a particular application) GTIs?
• Can be done in two steps: computing sources (application-dependent,
but the main idea is quite general) computing the destinations for given
sources (relatively independent on the application)
![Page 18: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/18.jpg)
18
Computing sources (logic deco)• Given a Boolean expression E, find a position
where E changes its value, i.e. a configuration C whose causally maximal events e correspond to the support of E and are such that E(C\{e}) E(C)
• Reducible to SAT• When a solution is found:
add a clause removing all the solutions yielding the same sources
run the solver again repeat until all possible sets of sources are
computed• Incremental SAT
![Page 19: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/19.jpg)
19
Computing destinations
• Given a set of sources S, compute all possible sets of destinations yielding a valid GTI
W.l.o.g: no two transitions in S are locked
• Compute the set LS= {d | sS : sd ds} of transitions locked with each source
• Build the graph on LS: d1 and d2 are connected by an edge iff they are not locked with each other and are consistently locked with each source (i.e. sd1 iff sd2)
• Enumerate the non-empty cliques of this graph
![Page 20: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/20.jpg)
20
Summary of contributions• A method for computing the approximated
lock relation using an unfolding prefix; it is conservative, and exact in the live case
• A new kind of transition insertion preserving safeness and yielding a bisimilar PN
• An algorithm for applying a GTI on the existing prefix, avoiding thus (expensive) re-unfolding
• A method for computing ‘potentially useful’ GTIs in the context of logic decomposition; some parts of this method are relatively independent on the application
• These contributions form a complete framework for efficient use of GTIs together with the transformations developed earlier
![Page 21: A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes](https://reader034.fdocuments.us/reader034/viewer/2022042822/56815484550346895dc295e3/html5/thumbnails/21.jpg)
21
Thank you!Any questions?