1 / 21

A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes

A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes. Victor Khomenko. 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

dillan
Télécharger la présentation

A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A New Type of Behaviour-Preserving Transition Insertions in Unfolding Prefixes Victor Khomenko

  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. 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. Data Transceiver Device Bus d lds dsr VME Bus Controller ldtack dtack dtack- dsr+ lds+ d- lds- ldtack- ldtack+ dsr- dtack+ d+ Example: VME Bus Controller

  5. 10000 dtack- dsr+ 00100 00000 lds+ ldtack- ldtack- ldtack- dtack- dsr+ 10010 01100 01000 11000 ldtack+ lds- lds- lds- dtack- dsr+ 11010 01110 11010 M’’ M’ 01010 d+ d- dsr- dtack+ 01111 11111 11011 Example: Encoding Conflict

  6. dtack- dsr+ lds+ csc+ d- lds- ldtack- ldtack+ csc- dsr- dtack+ d+ Example: Resolving the conflict

  7. M’’ M’ Example: Resolving the conflict dtack- dsr+ csc+ 001000 100000 000000 100001 lds+ ldtack- ldtack- ldtack- dtack- dsr+ 011000 100101 010000 110000 ldtack+ lds- lds- lds- dtack- dsr+ 110101 011100 110100 010100 d+ d- dsr- dtack+ csc- 011111 111111 110111 011110

  8. May be not in the gate library and has to be decomposed Complex-gate implementation Data Transceiver Device Bus d lds dtack dsr csc ldtack

  9. Unexpected! Unexpected! Naïve decomposition is hazardous dtack- dsr+ lds+ csc+ d- lds- ldtack- ldtack+ csc- dsr- dtack+ d+ d lds dtack dsr csc x ldtack

  10. Insert a new signal dec whose implementation is [dec] = ldtack + csc Decompose at the PN level! dtack- dsr+ lds+ csc+ ldtack+ d- lds- ldtack- dec+ dec- csc- dsr- dtack+ d+ d lds dtack dsr csc dec ldtack

  11. Previous work: Transformations Sequential pre-insertion Sequential post-insertion Concurrent insertion

  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. 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. Example: imec-sbuf-ram-write dec+ imec-sbuf-ram-write prbar req wen precharged wsen done ack wsldin wsld wenin dec- Implementation of prbar: (csc2 req)  csc1  wsldin dec

  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. Generalised transition insertion (GTI) s1 d1 sources s2 destinations d2 s3 • 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

  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. 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. 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 | sS : sd ds} 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. sd1 iff sd2) Enumerate the non-empty cliques of this graph

  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. Thank you! Any questions?

More Related