Download presentation
Presentation is loading. Please wait.
1
A New Type of Behaviour- Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko
2
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
3
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
4
4 Example: VME Bus Controller lds-d-ldtack-ldtack+ dsr-dtack+d+ dtack-dsr+lds+ Device VME Bus Controller lds ldtack d Data Transceiver Bus dsr dtack
5
5 Example: Encoding Conflict dtack-dsr+ dtack-dsr+ dtack-dsr+ 00100 ldtack- 00000 10000 lds- 01100 01000 11000 lds+ ldtack+ d+ dtack+dsr- d- 01110 01010 11010 011111111111011 11010 10010 M’’M’
6
6 Example: Resolving the conflict lds-d-ldtack-ldtack+ dsr-dtack+d+ dtack-dsr+lds+ csc+ csc-
7
7 Example: Resolving the conflict dtack-dsr+ dtack-dsr+ dtack-dsr+ 001000 ldtack- 000000 100000 lds- 011000 010000 110000 lds+ ldtack+ d+ dtack+dsr- d- 011100 010100 110100 011111111111110111 110101 100101 011110 csc+ csc- 100001 M’’M’
8
8 Complex-gate implementation Device d Data Transceiver Bus dsr dtack lds ldtack csc May be not in the gate library and has to be decomposed
9
9 Naïve decomposition is hazardous d dsr dtack lds ldtack csc x lds-d-ldtack-ldtack+ dsr-dtack+d+ dtack-dsr+lds+ csc+ csc- Unexpected!
10
10 Decompose at the PN level! d dsr dtack lds 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
11
11 Previous work: Transformations Sequential pre-insertionSequential post-insertion Concurrent insertion
12
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
13
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
14
14 Example: imec-sbuf-ram-write dec+ dec- dec Implementation of prbar: (csc2 req) csc1 wsldin imec-sbuf-ram-write req precharged done wsldin wenin prbar wen wsen ack wsld
15
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
16
16 Generalised transition insertion (GTI) s1s1 s2s2 s3s3 d1d1 d2d2 For each s i : either s i d j for each d j or d j s i for each d j GTIs preserve safeness and yield bisimilar PNs It is possible to mirror a GTI by local transformations in the unfolding prefix sources destinations
17
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)
18
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
19
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 L S = {d | s S : s d d s} of transitions locked with each source Build the graph on L S : d 1 and d 2 are connected by an edge iff they are not locked with each other and are consistently locked with each source (i.e. s d 1 iff s d 2 ) Enumerate the non-empty cliques of this graph
20
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
21
21 Thank you! Any questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.