View
35
Download
1
Category
Tags:
Preview:
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
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
Example: VME Bus Controller
lds-d- ldtack- ldtack+
dsr- dtack+ d+
dtack- dsr+ lds+
DeviceVME Bus
Controller
lds
ldtack
d
Data Transceiver
Bus
dsrdtack
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’
6
Example: Resolving the conflict
lds-d- ldtack- ldtack+
dsr- dtack+ d+
dtack- dsr+ lds+csc+
csc-
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’
8
Complex-gate implementation
Device
d
Data TransceiverBus
dsr
dtacklds
ldtack
csc
May be not in the gate library and has to be decomposed
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!
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
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-writedec+
dec-
dec
Implementation of prbar:(csc2 req) csc1 wsldin
imec-sbuf-ram-writereq
prechargeddone
wsldinwenin
prbarwenwsenackwsld
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
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
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 | 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
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?
Recommended