scispace - formally typeset
Open AccessProceedings ArticleDOI

Improved Parallel Composition of Labelled Petri Nets

TLDR
An optimised algorithm for computing the parallel composition of labelled Petri nets is proposed, which often produces nets with fewer implicit places, which are thus better suited for subsequent application of structural methods.
Abstract
Parallel composition of labelled Petri nets is a fundamental operation in modular design. It is often used to combine models of subsystems into a model of the whole system. Unfortunately, the standard definition of parallel composition almost always yields a 'messy' Petri net, with many implicit places, causing performance deterioration in tools that are based on structural methods. In this paper we propose an optimised algorithm for computing the parallel composition. It often produces nets with fewer implicit places, which are thus better suited for subsequent application of structural methods.

read more

Content maybe subject to copyright    Report

Improved Parallel Composition of Labelled Petri Nets
Arseniy Alekseyev
1
Victor Khomenko
2
Andrey Mokhov
2
Dominic Wist
2
Alex Yakovlev
1
1
School of Electrical, Electronic and Computer Engineering
2
School of Computing Science
Newcastle University, UK
{Arseniy.Alekseyev,Victor.Khomenko,Andrey.Mokhov,Dominic.Wist,Alex.Yakovlev}@ncl.ac.uk
Abstract
Parallel composition of labelled Petri nets is a fun-
damental operation in modular design. It is often used
to combine models of subsystems into a model of the
whole system. Unfortunately, the standard definition
of parallel composition almost always yields a ‘messy’
Petri net, with many implicit places, causing perfor-
mance deterioration in tools that are based on struc-
tural methods. In this paper we propose an optimised
algorithm for computing the parallel composition. It of-
ten produces nets with fewer implicit places, which are
thus better suited for subsequent application of struc-
tural methods.
Keywords: parallel composition, re-synthesis, STG,
asynchronous circuits.
1. Introduction
Parallel composition (a.k.a. synchronous product)
of labelled Petri nets is a fundamental operation in mod-
ular design. It is often used to combine models of sub-
systems into a model of the whole system. In particular,
there is a nice correspondence between parallel com-
position of Signal Transition Graphs (STGs), a class of
labelled Petri nets used for modelling asynchronous cir-
cuits, and connecting circuits by wires. Hence perform-
ing this operation efficiently is important in practice.
Unfortunately, the standard definition of parallel
composition almost always yields a ‘messy’ Petri net,
with many implicit places (even if the component Petri
nets did not have them). Some of these places are easy
to remove (e.g. duplicate places, which have the same
pre- and postsets), but in general for removing others
one needs full-blown model checking, which is infeasi-
ble if the resulting composition is large. Although im-
plicit places do not have noticeable effect on tools based
on state space exploration, such as PETRIFY [2], the
performance of tools that are based on structural meth-
ods, such as DESIJ [12], often deteriorates.
Consider an example shown in Fig. 1, which shows
the STG specifications of two components (a,b) and the
specification of the environment (c). (The used short-
hand drawing notation for STGs is explained in Sect. 2.)
The model of the behaviour of the entire system can
be obtained by constructing the parallel composition of
these three STGs, which is shown in part ( d) of this fig-
ure. One can see that it contains a few implicit places
(which are not duplicate places); intuitively, they appear
due to repeated causality specifications for every signal:
the one coming from the component where this signal
is an output, and others from the components where
it is an input. Removing these places yields a much
‘cleaner’ STG, coinciding with that shown in Fig. 2(d).
One operation where implicit places matter is tran-
sition contraction, [15] which is a crucial part of the re-
synthesis approach [1, 8, 11]. The idea is to hide the
internal communication between the components (by
labelling the corresponding transitions as ‘dummy’
they correspond to signals a and b in our example),
contract as many of these dummy transitions as pos-
sible (whereby reducing the size of the STG), and re-
synthesise the obtained STG as a circuit (which is often
smaller than the original circuit due to removal of some
signals). Transition contraction has to be performed on
very large STGs (corresponding to the whole control
path of the circuit), and so, for efficiency, it has to be
a structural operation. Unfortunately, such structural
contractions are not always possible (s ee Sect. 2), and
implicit places in the preset and/or postset of a transi-
tion can prevent contracting it, even if a contraction is
possible after removing these implicit places. I n our ex-
ample, DESIJ cannot contract any of the dummy tran-
sitions in the STG in Fig. 1(d), even though it performs
some structural tests for place redundancy; however, it
is able to contract all the dummy transitions if the im-
plicit places are removed, i.e. when applied to the STG
in Fig. 2(d).

(a) Toggle
(b) Call
(c) Environment (d) Composition
Figure 1. Example of standard STG composi-
tion.
The main contribution of this paper is a new me-
thod for computing the parallel composition of labelled
Petri nets, that generates fewer implicit places. It uses
the freeness from computation interference (FCI) as-
sumption, stating that the situation when one compo-
nent wants to produce an output, but is prevented from
doing so by another component which is not ready to
receive it, is impossible. Violation of FCI means that
the behaviour of the composition does not correspond
to that of the physical system. For example, an output
of a circuit component cannot be physically disabled by
another component that is not ready to receive this sig-
nal, and so producing this output will lead to malfunc-
tion; however, the composition will be oblivious to it,
and behave as if such an output could not be produced.
Hence FCI is a basic correctness requirement if it is
violated, there is no point in computing parallel com-
position, as it s behaviour will not describe that of the
physical system. In practice, FCI is often guaranteed by
construction, e.g. it i s always guaranteed for the con-
trol path of a BALSA [4] or HASTE/TANGRAM [10, 14]
specification of an asynchronous circuit. The idea of
using the FCI condition is reminiscent of the method
of input/output exposure in the synthesis by direct map-
ping described in [13], and of the correct by construc-
(a) Toggle
(b) Call
(c) Environment (d) Composition
Figure 2. Example of improved STG com-
position: the components are obtained from
the corresponding ones in Fig. 1 by removing
some places, and then the standard parallel
composition i s applied to these modified com-
ponents.
tion composition of Petri nets for circuit components
and the environment used in the DI2PN tool [5].
The main idea of the method propose here is illus-
trated by the example in Fig. 2. Before doing the par-
allel composition, one can remove some of the places
in the components as shown in parts (a–c) of the figure
and then compose t he modified STGs. The precise con-
ditions that allow to remove a particular place will be
stated in Sect. 3; at this point it is only important that
they are structural and thus can be efficiently checked.
This guarantees that the number of places in the result-
ing Petri net is smaller (as the number of places in the
composition is the total number of places in all the com-
ponents), and, under the FCI assumption, the resulting
behaviour will be the s ame (in the sense of isomorphism
of the reachability graphs). In particular, in our ex-
ample, composing the modified components yields the
STG in Fig. 2(d), which in this case contains no implicit
places. Observe that the modified components on their
own can have rather bad behaviour and in particular can
be non-implementable; however, it does not matter, as
they are never used on their own, but only in composi-

tion with other components, and the resulting behaviour
of the composition is guaranteed to correspond to that
of the standard composition.
Re-synthesis of asynchronous circuits is the in-
tended application of the proposed method. However,
we envisage t hat it has a much wider applicability, as
composition of labelled Petri nets is a fundamental op-
eration, and the FCI assumption often holds in practice.
2. Basic Definitions
A Petri net is a 4-tuple N = (P,T,W, M
N
) where P
is a finite set of places and T is a finite set of transitions
with P T = /0, W : P × T T × P N
0
is the weight
function, and M
N
is the initial marking, where a mark-
ing is a multiset of places, i.e. a function P N
0
which
assigns a number of tokens to each place. A Petri net
can be considered as a bipartite graph with weighted
arcs between places and transitions. If necessary, we
write P
N
etc. for the components of N or P
(P
i
) etc. for
the net N
(N
i
) etc.
The preset of a place or transition x is denoted as
x and defined by
x
df
= {y P T | W (y,x) > 0}, the
postset of x is denoted as x
and defined by x
df
= {y
P T | W (x, y) > 0}. These notions are extended to sets
as usual. We say that there is an arc from each y
x
to x.
A transition t is enabled under a marking M if
p
t : M(p) W (p,t), which is denoted by M[ti.
An enabled transition t can fire yielding a new mark-
ing M
, written as M[tiM
, where M
(p) = M(p)
W (p,t) +W(t, p), for all p P. A transition sequence
σ
= t
1
.. .t
n
is enabled under a marking M (yielding M
)
if M[t
1
iM
1
[t
2
i. . . M
n1
[t
n
iM
n
= M
, and we write M[
σ
i,
M[
σ
iM
resp.;
σ
is called execution of N if M
N
[
σ
i.
The empty transition sequence
λ
is enabled under every
marking. M is called reachable if a transition sequence
σ
with M
N
[
σ
iM exists.
N is called bounded if, for every reachable marking
M and every place p, M(p) k for some constant k N;
if k = 1, N is called safe. N is bounded if and only if the
set [M
N
i of reachable markings is finite. In this paper,
we are mostly concerned with bounded Petri nets.
A place p is implicit if it can be deleted from the
net without changing the set of executions, and so an
implicit place can be removed from the net without af-
fecting its behaviour.
1
Unfortunately, detecting implicit
places is expensive: the problem is PSPACE-complete
for safe and EXPSPACE-complete for general Petri nets.
A place p is duplicate if there is another place p
with
1
Note that an implicit place can cease to be implicit if another
implicit place is removed first.
the same pre- and postsets whose initial marking does
not exceed that of p. Duplicate places are implicit, and
are cheap to detect.
An STG is a tuple N = (P, T,W, M
N
,In, Out, )
where (P, T,W,M
N
) is a Petri net and In and Out are dis-
joint sets of input and output signals. For Sig = In Out
being the set of all signals, : T Sig × {+, −} {
λ
}
is the labelling function. Sig × {+,−} or short Sig
±
is
the set of signal transitions; its elements are denoted
as s
+
, s
resp. instead of (s, +), (s,) resp. A plus
sign denotes that a signal value changes from logical
low (written as 0) to logical high (written as 1), and a
minus sign denotes the opposite direction. We write s
±
if it is not important or unknown which direction takes
place.
An STG can contain transitions labelled with
λ
,
called dummy transitions, which do not correspond to
any signal change. Hiding a signal s means to change
the label of all transitions labelled with s
±
to
λ
. (The
idea of re-synthesis approach is to hide the signals used
for communication between components, which results
in an STG with fewer signals that often has a simpler
implementation as a circuit.) The labelling of an STG
is called injective if for each pair of distinct non-dummy
transitions t and t
, (t) 6= (t
).
Examples of STGs are shown in Figs. 1 and 2.
Places are drawn as circles containing a number of to-
kens corresponding to the initial marking. Unmarked
places which have only one transition in their presets
and postsets are not drawn if the corresponding arcs
have the weight 1; they are implicitly given by an arc be-
tween these two transitions (and if such a place contains
tokens, they are drawn on the arc itself). Transitions are
drawn simply as their labels, and the weight function is
drawn as directed arcs (x, y) whenever W (x, y) 6= 0 (and
labelled with W (x, y) if W (x , y) > 1).
We lift the notion of enabledness to transition la-
bels: we write M[(t)iiM
if M[tiM
. This is extended
to sequences as usual deleting
λ
-labels automatically
since
λ
is the empty word; i.e. M[s
±
iiM
means that a
sequence of transitions fires, where one of them is la-
belled s
±
while the others (if any) are
λ
-labelled. A
sequence
ν
(Sig
±
)
is called a trace of a marking M
if M[
ν
ii, and a trace of N if M = M
N
. The language
L(N) of N is the set of all traces of N.
The reachability graph RG(N) of an STG N is an
arc-labelled directed graph on the reachable markings
of N with M
N
as the root; there is an arc from M to
M
labelled (t) whenever M[tiM
. For bounded Petri
nets and STGs, RG(N) can be seen as a finite automa-
ton (where all states are accepting), and L(N) is the lan-
guage of this automaton. Observe that automata with

accepting states only can be regarded as STGs (with the
states as places, the initial state being the only marked
place, etc.); hence, all definitions for STGs also apply
to automata.
N is deterministic if RG(N) is a deterministic au-
tomaton: it contains no
λ
-labelled transitions and there
are no dynamic auto-conflicts, i.e. for each reachable
marking M and each signal transition s
±
there is at most
one M
with M[s
±
iiM
. (Note that a deterministic STG
can have choices between different outputs, e.g. an STG
modelling the standard arbiter is deterministic).
For deterministic STGs, language equivalence and
bisimulation coincide, and the language can be taken
as the semantics of such a specification. Unfortunately,
the class of deterministic STGs is too restrictive in prac-
tice [6], e.g.:
using dummy transitions is often convenient in
manual design;
modelling OR-causality [16] as a safe STG re-
quires non-determinism;
hiding internal communication (and thus introduc-
ing dummy transitions) is a crucial step in re-
synthesis.
Hence, one has to deal with non-deterministic STGs as
well.
One might think that if RG(N) is non-deterministic,
it can be determinised (using well-known automata-the-
oretic methods), i.e. turned into a language-equivalent
deterministic automaton with accepting states only; in
particular, the resulting automaton will have no
λ
-arcs.
Unfortunately, this i s a bad idea, as shown in [6], where
the semantics of non-deterministic STGs was devel-
oped. It is based on the concept of output-determinacy,
which is a relaxation of determinism: An STG N is
output-determinate (OD) if M
N
[
ν
iiM
1
and M
N
[
ν
iiM
2
implies for every x Out
N
that M
1
[x
±
ii iff M
2
[x
±
ii.
It turns out that OD STGs are exactly the STGs which
have correct implementations according to the imple-
mentation relation introduced in [6]. Hence, non-OD
STGs are ill-formed, and in particular cannot be cor-
rectly implemented as circuits. This shows that in gen-
eral, the language is not a satisfactory semantics of non-
deterministic STGs; in particular, synthesising the de-
terminised reachability graph of a non-OD STG will ei-
ther fail or result in an incorrect circuit. On the other
hand, for the class of OD STGs [6] shows that their
language is an adequate semantics, and implementation
relation can be formulated purely in terms of the lan-
guage. An important property of OD STGs is that in
them the enabledness of an output signal is a function
of the trace, i.e. given a trace
ν
, the set of outputs by
which
ν
can be extended is uniquely determined, even
though there could be multiple executions correspond-
ing to
ν
.
In the following definition of parallel composi-
tion k, see e.g. [15], we will have to consider the dis-
tinction between input and output signals. The idea of
parallel composition is that the composed systems run
in parallel and synchronise on common actions cor-
responding to circuits that are connected on the wires
corresponding to the signals. Since a system controls
its outputs, we cannot allow a signal to be an output of
more than one component; input signals, on the other
hand, can be shared. An output signal of a component
may be an input of other components, and in any case it
is an output of the composition.
The parallel composition of STGs N
1
and N
2
is de-
fined if Out
1
Out
2
= /0. If we drop this requirement,
the definition gives the synchronous product N
1
× N
2
,
which is often useful. The place set of the composition
is the disjoint union of the place sets of the components;
therefore, we can consider markings of the composition
(regarded as multisets) as the disjoint union of markings
of the components, and we will also write such a mark-
ing M
1
˙
M
2
of the composition as (M
1
,M
2
). To define
the transitions, let A = (In
1
Out
1
)(In
2
Out
2
) be the
set of common signals. If e.g. s is an output of N
1
and
an input of N
2
, then firing of s
±
in N
1
is ‘seen’ by N
2
,
i.e. it must be accompanied by firing of s
±
in N
2
. Since
we do not know a priori which s
±
-labelled transition
of N
2
will fire together with some s
±
-labelled transi-
tion of N
1
, we have to allow for each possible pairing.
Thus, the parallel composition N = N
1
k N
2
is obtained
from the disjoint union of N
1
and N
2
by fusing each s
±
-
labelled transition t
1
of N
1
with each s
±
-labelled transi-
tion t
2
from N
2
if s A. Such transitions are pairs and
the firing (M
1
,M
2
)[(t
1
,t
2
)i(M
1
,M
2
) of N corresponds
to the firings M
i
[t
i
iM
i
in N
i
, i = 1, 2; for an exam-
ple of a parallel composition, see Fig. 3. More gener-
ally, we have (M
1
,M
2
)[
ν
ii(M
1
,M
2
) iff M
i
[
ν
|
N
i
iiM
i
for
i {1, 2}, where
ν
|
N
i
denotes the projection of the tr ace
ν
onto the signals of the STG N
i
. Hence, all reachable
markings of N have the form (M
1
,M
2
), where M
i
is a
reachable marking of N
i
, i = 1, 2.
Obviously, one can extend the notion of the paral-
lel composition to a finite family (or collection) (C
i
)
iI
of STGs as k
iI
C
i
, provided that no signal is an output
signal of more than one of the C
i
. We will also denote
the markings of such a composition by (M
1
,. . . , M
n
) if
M
i
is a marking of C
i
for i I = {1, ..., n}. As above,
(M
1
,M
2
,. . . , M
n
)[
ν
ii(M
1
,M
2
,. . . , M
n
) iff M
i
[
ν
|
C
i
iiM
i
for all i {1, . . . , n}. It is easy to see that C is deter-
ministic if all C
i
are. However, this is not true for a
composition of OD STGs, as the result, in general, can

be non-OD in such a case.
A composition can also be ill-defined due to com-
putation interference, see e.g. [3]. Let C
df
=k
iI
C
i
be a
composition of STGs. It is free from computation in-
terference (FCI) if for every trace
ν
of C the following
holds: if
ν
|
C
j
x
±
is a trace of C
j
for some output x of C
j
,
then
ν
|
C
x
±
is a trace of C.
Transition contraction [15] is an important opera-
tion in circuit re-synthesis. It removes a dummy transi-
tion from an STG and combines each place of its pre-
set with each place of its postset to ‘simulate’ the fir-
ing of the deleted transition, see Fig. 4. Unfortunately,
transition contractions are sometimes undefined (e.g. in
case the transition has a s elf-l oop, i.e. some place occurs
in both its preset and postset); moreover, even when a
contraction is defined, it might change the semantics of
the STG. Hence, [15] uses the notion of secure contrac-
tions, that preserve the semantics.
Transition contractions preserve boundedness, but
in general, can turn a safe net into a non-safe one, as
well as introduce weighted arcs. In practice, it is often
convenient to work with safe nets, and for this [7] intro-
duced safeness-preserving contractions, i.e. ones which
guarantee that the transformed STG is safe if the initial
one was. (Note that the transitions with weighted arcs
must be dead in a s afe Petri net, and so we can assume
that the initial and all the intermediate STGs contain no
such arcs.) Also, [7] developed a sufficient structural
condition for a contraction to be safeness-preserving.
From the point of view of this paper, it is impor-
tant to remark that implicit places can adversely affect
the (secure) contractibility of a transition, i.e. it is pos-
sible to have a situation when a transition is not con-
tractible (or not securely contractible), but becomes se-
curely contractible after some implicit place is removed
from the STG. As detecting implicit places is expen-
sive, it is very desirable to reduce their number by some
other means, in particular the approach proposed in this
paper reduces the number of such places in STGs ob-
tained by parallel composition. This has a direct effect
on re-synthesis: if the composed STG has fewer im-
plicit places, more dummy transitions in it can be con-
tracted, and so it will be easier to synthesise the result.
3. Improved parallel composition
The improved parallel composition algorithm ex-
tends the conventional one by adding a pre-processing
step, where some places are removed from the compo-
nents, as they are guaranteed to be implicit in the re-
sult. To identify these places, one can note that a place
is required in the final composition only if under some
reachable marking it can be the only place that disables
some transition in its postset.
For simplicity, consider the parallel composition
C = C
1
k C
2
, whose components synchronise on a sin-
gle signal s which is an output of C
1
and an input of C
2
.
Let (M
1
,M
2
) be a reachable marking of C, where M
1
and M
2
are some reachable markings of C
1
and C
2
, re-
spectively. Furthermore, suppose that M
1
enables, say,
s
+
in C
1
, where s is an output. Now, if M
2
does not
enable s
+
in C
2
, where s is an input, then there is com-
putation interference. Therefore, if the FCI assumption
holds, M
2
has to enable s
+
in C
2
, i.e. whenever s
+
is
enabled in C
1
, it is also enabled in C
2
. In other words,
the firing of s
+
in C is fully controlled by C
1
, and so
the constraints on firing of s that are present in C
2
can
be ignored. This means that the places in the preset of
an s
+
-labelled transition in C
2
will be implicit in the
composition (subject t o some technical conditions for-
mulated below), and so can be removed before t he com-
position is performed.
The above is true for the simple case of STGs
with injective labelling and no dummies. However, the
general picture is more complicated. In case of non-
injective labelling, there can be multiple transitions cor-
responding to the same input signal transition, and the
FCI assumption only guarantees the enabledness of one
of them. Hence, some ‘memory’ (in the form of places)
is required to trace which of these transitions has to be
fired, which prohibits the removal of places from their
presets. Furthermore, if the STG contains dummies, re-
moving places from their postsets introduces some un-
desirable effects explained later. These considerations
lead to the following conditions of applicability of the
proposed optimisation.
Proposition 1. Let C
df
=k
iI
C
i
be a composition of STGs
that satisfies the FCI property and yields an output-
determinate STG, and, for each i I, C
i
be the STG
obtained from C
i
by deleting all places p such that:
1. each transition t p
is labelled with a signal, say
s, and:
a) s is an input;
b) there is an STG C
j
for which s is an output;
c) there are at most one s
+
- and at most one s
-la-
belled transition in C
i
;
2.
p does not contain dummy transitions.
Then C
df
=k
iI
C
i
and C have isomorphic reachability
graphs.
Proof. First of all, observe that C
can be obtained from
C by deleting some places. Hence, RG(C) is a subgraph

Citations
More filters
Proceedings ArticleDOI

De-elastisation: from asynchronous dataflows to synchronous circuits

TL;DR: This work proposes `De-elastisation' in a CAD flow for asynchronous dataflow networks to improve the circuits' performance and area and shows 3× improvement for the first category of circuits, suitable for iterative realisations and DSP-like architectures and 4× for the second category which are suitable for concurrent realisations.
Journal ArticleDOI

An UML Based Performance Evaluation of Real-Time Systems Using Timed Petri Net

TL;DR: An early stage automated performance evaluation methodology to analyse system performance using the UML sequence diagram model annotated with modeling and analysis of real-time and embedded systems (MARTE) profile is presented.
Proceedings ArticleDOI

Opportunistic Merge Element

TL;DR: An important characteristic of the presented implementation of the Opportunistic Merge element is that the arbitration is removed from the critical path, thereby providing a fast response to the incoming requests.
Proceedings ArticleDOI

Compositional design of asynchronous circuits from behavioural concepts

TL;DR: A compositional design flow for asynchronous circuits using concepts - a set of formalised descriptions for system requirements is introduced, to simplify the process of capturing system requirements in the form of a formal specification.
Journal ArticleDOI

High-Level Asynchronous Concepts at the Interface Between Analog and Digital Worlds

TL;DR: A novel high-level description language for asynchronous circuits is introduced, which is based on behavioral concepts—high-level descriptions of asynchronous circuit requirements that can be shared, reused, and extended by users, and can be automatically translated to STGs for further processing by conventional asynchronous and synchronous electronic design automation tools.
References
More filters
Journal Article

Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers

TL;DR: Petrify as discussed by the authors is a tool for manipulating concurrent specifications and synthesis and optimization of asynchronous control circuits given a Petri Net (PN), a Signal Transition Graph (STG), or a Transition System (TS) it generates another PN or STG which is simpler than the original description and produces an optimized net-list of an asynchronous controller in the target gate library.
Proceedings ArticleDOI

The VLSI-programming language Tangram and its translation into handshake circuits

TL;DR: A silicon compiler is constructed that automates the translation of Tangram programs into handshake circuits and converts these handshake circuits into asynchronous circuits and subsequently into VLSI layouts.
Journal ArticleDOI

Balsa: An Asynchronous Hardware Synthesis Language

TL;DR: This paper introduces Balsa, a language and framework for synthesizing circuits using a technique of syntax direct translation and introduces the key features of the language.
Journal ArticleDOI

On the models for asynchronous circuit behaviour with OR causality

TL;DR: The Causal Logic Net as discussed by the authors is based on Petri nets and change diagrams, but has an explicit logic causality annotation for transitions, which allows the modelling of non-commutative state transition behaviour in a purely causal form.
Proceedings ArticleDOI

Resynthesis and peephole transformations for the optimization of large-scale asynchronous systems

TL;DR: In this article, a set of transformations for syntax-directed compilation of asynchronous circuits from high-level specification languages, such as Balsa and Tangram, are presented, which can be used an optimizing back-end for Balsa.
Frequently Asked Questions (11)
Q1. What contributions have the authors mentioned in the paper "Improved parallel composition of labelled petri nets" ?

In this paper the authors propose an optimised algorithm for computing the parallel composition. 

The main contribution of this paper is a new method for computing the parallel composition of labelled Petri nets, that generates fewer implicit places. 

(The idea of re-synthesis approach is to hide the signals used for communication between components, which results in an STG with fewer signals that often has a simpler implementation as a circuit.) 

One might think that if RG(N) is non-deterministic, it can be determinised (using well-known automata-theoretic methods), i.e. turned into a language-equivalent deterministic automaton with accepting states only; in particular, the resulting automaton will have no λ -arcs. 

Due to the output-determinacy of C, the set of outputs by which ν can be extended is uniquely determined, and so s+ must be enabled by x (perhaps, after firing several dummy transitions). 

some ‘memory’ (in the form of places) is required to trace which of these transitions has to be fired, which prohibits the removal of places from their presets. 

This has a direct effect on re-synthesis: if the composed STG has fewer implicit places, more dummy transitions in it can be contracted, and so it will be easier to synthesise the result. 

the class of deterministic STGs is too restrictive in practice [6], e.g.:• using dummy transitions is often convenient in manual design;• modelling OR-causality [16] as a safe STG requires non-determinism;• hiding internal communication (and thus introducing dummy transitions) is a crucial step in re-synthesis. 

Some of these places are easy to remove (e.g. duplicate places, which have the same pre- and postsets), but in general for removing others one needs full-blown model checking, which is infeasible if the resulting composition is large. 

It removes a dummy transition from an STG and combines each place of its preset with each place of its postset to ‘simulate’ the firing of the deleted transition, see Fig. 

In practice, it is often convenient to work with safe nets, and for this [7] introduced safeness-preserving contractions, i.e. ones which guarantee that the transformed STG is safe if the initial one was.