<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Coloured hybrid Petri nets for systems biology</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mostafa Herajy</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fei Liu</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Rohr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Institute, Brandenburg University of Technology Postbox 10 13 44</institution>
          ,
          <addr-line>03013 Cottbus</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Control and Simulation Center, Harbin Institute of Technology</institution>
          ,
          <addr-line>Postbox 3006, 150080, Harbin</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Department of Mathematics and Computer Science, Faculty of Science, Port Said University</institution>
          ,
          <addr-line>42521 - Port Said</addr-line>
          ,
          <country country="EG">Egypt</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <volume>1159</volume>
      <fpage>60</fpage>
      <lpage>76</lpage>
      <abstract>
        <p>Coloured Petri nets are imperative for studying bigger biological models, particularly, those which expose repetition of components. Such models can be easily scaled by minor changes of a few parameters. Similarly, studying certain biological phenomena necessitates the existence of discrete and continuous variables as well as continuous and stochastic processes in one and the same model. Thus, hybrid modelling and simulation is indispensable to deal with these challenges. In this paper we introduce a generic Petri net class, Coloured Generalised Hybrid Petri Nets (GHPN C) by combining coloured Petri nets and Generalised Hybrid Petri Nets (GHPN ), which integrates discrete and continuous places as well as stochastic and deterministic transitions on the coloured level. Moreover, we present a case study which illustrates a possible and typical application where such a Petri net class is highly required.</p>
      </abstract>
      <kwd-group>
        <kwd>coloured Petri nets</kwd>
        <kwd>hybrid Petri nets</kwd>
        <kwd>stochastic and continuous simulation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Petri nets have been widely used for modelling and analysis of biological systems,
see e.g.,[2,10,18,21,31,33,34,35,36,39,40]. Their intuitive graphical representation
makes them easily approachable by biologists. Furthermore, Petri nets possess
well-established mathematical notations which may render them as the future
de facto standard for modelling biological systems compared to other graphical
languages currently in use. Nevertheless, with the rapid progress of systems
biology, standard place/transition Petri nets become insu cient to accommodate
the needs of systems biologists to study larger models. Therefore, many di erent
extensions have been adapted for their potential contribution to systems biology.
Among such promising extensions are hybrid Petri nets (HPN ) [1,6] and coloured
Petri nets (PN C) [23].</p>
      <p>corresponding authors</p>
      <p>Hybrid Petri nets [1,6] have been increasingly motivated for their contribution
to systems biology [17,18,35,36]. On the one hand (biological) systems may occur
at di erent time scales: slow and fast [14,25]. Using one modelling paradigm (i.e.,
discrete or continuous paradigm alone) tends to be ine cient for studying
multitimescale biological models [18]. On the other hand the integration of discrete and
continuous variables as well as deterministic and stochastic processes in the same
model is necessary in certain application scenarios to implement particular model
semantics [18,36]. For instance, in [21] discrete places and immediate transitions
were employed to implement the part related to cell division of the eukaryotic
cell cycle while continuous and stochastic transitions were used to represent and
quantitatively simulate biological reactions. Additionally, the HPN formalism
provides a di erent approach to control the accuracy and the speed of biological
models during simulation [18]. Thus, they provide the modeller with a tool to
make a trade-o between the simulation's e ciency and the result's accuracy.</p>
      <p>Another, yet powerful extension of standard Petri nets is coloured Petri nets
(PN C) [23,31,40], where a group of similar components are represented by one
component, each of which is de ned as and thus distinguished by a colour [27].
PN C are very useful for modelling larger biological systems where low-level Petri
nets do not scale well, while a (biological) system modelled via coloured Petri
nets can easily be scaled with minor modi cations of certain coloured variables.
Furthermore, modelling of biological systems is moving from single to multiple
scales (multi-scale modelling), which introduces a series of challenges such as
repetition of components, communication between components, organisation of
components, and pattern formation of components [27]. All these challenges
potentially could be tackled by coloured Petri nets rather than standard Petri
nets.</p>
      <p>Nevertheless, with the rapid change of type and size of models of biological
systems which have to be analysed, a Petri net class that integrates all the features
of hybrid Petri nets and coloured Petri nets is highly required. The high-level
representation of coloured Petri nets can be used to model larger biochemical
networks and stochastic and continuous components can be simultaneously used
to facilitate the e cient simulation of multi-timescale models.</p>
      <p>Thus, in this paper we introduce a class of Petri nets, Coloured Generalised
Hybrid Petri Nets (GHPN C) by combining all features of Generalised Hybrid
Petri Nets (GHPN ) [18] and the merits of Coloured Petri Nets (PN C) [27].
The new class supports a rich set of transition types as well as discrete and
continuous places. Moreover, it permits the full interplay between stochastic
and deterministic processes at the coloured level. All the feature of GHPN C are
implemented in Snoopy [15] { a unifying Petri net tool which is available free of
charge for academic use.</p>
      <p>The paper is structured as follows: rst we brie y discuss the related work of
hybrid Petri nets and coloured Petri nets followed by a brief background of each of
those net types. Next, we present the formal de nition of the new Petri net class
followed by its semantic as well as an outline of the simulation algorithm used to
produce the dynamic of GHPN C. Afterwards, we present one possible and typical
application of GHPN C in the context of systems biology, the repressilator model,
which is an engineered synthetic system encoded on a plasmid. We conclude by
summarizing possible extensions of Coloured Generalised Hybrid Petri Nets.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>In this section, we will brie y describe related work on hybrid and coloured Petri
nets for systems biology.
2.1</p>
      <sec id="sec-2-1">
        <title>Hybrid Petri Nets for Systems Biology</title>
        <p>Hybrid Petri nets have been introduced in [1] to deal with situations where
discrete and continuous entities exist in the same model. The motivation given in
early publications was in modelling technical systems whereby discrete places are
used to model the states of switch-like components while continuous places are
used to represent their uid counterparts. The pioneer work of introducing hybrid
Petri nets to systems biology was done by Matsuno et al., in [36]. They had
noticed that using equal in ow and out ow in the uid part of hybrid Petri nets
is not natural to use them to model biological processes. Thus, they introduced
Hybrid Functional Petri Nets (HFPN) [36,35]. Many successful models have been
implemented using HFPN (e.g., see [8,34]).</p>
        <p>In [18], we have used Hybrid Petri nets in a di erent way whereby stochastic
transitions are used to model slow biological processes, while fast processes are
modelled via continuous transitions. In [21], this approach is used to model the
eukaryotic cell cycle.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Coloured Petri Nets for Systems Biology</title>
        <p>The early applications of coloured Petri nets for systems biology were limited,
which, to our knowledge, can almost only be seen in [2,3,5,11,26,38,40,41,42].
These studies are rather small and usually resort to Design/CPN [4] or its successor
CPN Tools [23]. However these tools were not speci cally designed with the
requirements of systems biology in mind. Thus they are not suitable in many
aspects, e.g., they do not directly support stochastic or continuous modelling,
nor stochastic or deterministic simulation.</p>
        <p>Since coloured Petri nets were introduced to our Petri net modelling tool,
Snoopy, we have extensively explored the application of coloured Petri nets for
(multiscale) systems biology. For example, in [29], we used coloured stochastic
Petri nets to model and analyse stochastic membrane systems, where each
compartment is encoded as a colour. In [30], we described the multiscale modelling
of coupled Ca2+ channels using coloured stochastic Petri nets by considering two
levels: Ca2+ release sites and Ca2+ channels. In [10], Coloured stochastic and
coloured continuous Petri nets are used for multiscale modelling and analysis of
Planar Cell Polarity in the Drosophila wing, and the built model consists of more
than 800 cells. In [37], a case study of phase variation in bacterial colony growth
is given, in which cells are distributed on a two-dimensional grid represented by
both Cartesian and polar coordinate systems.
3
3.1</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Background</title>
      <sec id="sec-3-1">
        <title>Generalised Hybrid Petri Nets</title>
        <p>In [18] we have introduced a special class of Hybrid Petri nets called Generalised
Hybrid Petri Nets (GHPN ). The main two objectives of GHPN are: to provide
systems biologists with a convenient and exible graphical tool to model and
simulate biological processes with di erent time scales and to facilitate the process
of constructing hybrid models where stochastic and deterministic (i.e, continuous)
processes are tightly coupled. To ful l such objectives, GHPN contain a rich
set of element types: places (discrete, and continuous), transitions (stochastic,
immediate, deterministic, stochastic, and continuous), and arcs (standard, read,
inhibitor, equal, and reset) [18,17]. Figure 1 depicts the graphical representation
of the di erent element types of GHPN .</p>
        <p>Discrete places (single line circle) hold non-negative integer numbers which
may represent the number of molecules of a given species (tokens in Petri net
notions). On the other hand, continuous places - which are represented by
the shaded line circle - hold non-negative real numbers which represent the
concentration of a certain species. Please note that, except when otherwise
mentioned, the number which a place pi holds, also called its marking, is referred
to by m(pi).</p>
        <p>Furthermore, GHPN o er ve transition types: stochastic, immediate,
deterministically delayed, scheduled, and continuous transitions [18]. Stochastic
transitions, which are drawn in Snoopy as a single line square, re randomly with
an exponentially distributed random delay. The user can specify a set of ring
rate functions that determine the random ring delay. The transitions' pre-places
can be used to de ne the ring rate functions of stochastic transitions. Immediate
transitions (black bar) re with zero delay, and have always highest priority in the
case of con icts with other transitions. They may carry weights (which can also
be de ned by state-dependent functions) that specify the relative ring frequency
in the case of con icts between immediate transitions. Deterministically delayed
transitions (represented as black squares) re after a speci ed constant time delay.
Scheduled transitions (grey squares) re at user-speci ed absolute time points.
Continuous transitions (shaded line square) re continuously in the same way
as in continuous Petri nets. Their semantics are governed by a set of ordinary
di erential equations (ODEs) which de ne the changes in the transitions' pre- and
post-places. More details about the biochemical interpretation of deterministically
delayed, scheduled, and immediate transitions can be found in [16].</p>
        <p>The connection between those two types of nodes (places and transitions)
takes place using a set of di erent arcs. GHPN o er six types of arcs: standard,
inhibitor, read, equal, reset, and modi er arcs. Standard arcs connect transitions
with places or vice versa. They can be discrete, i.e., carry non-negative
integervalued weights (stoichiometry in the biochemical context), or continuous, i.e.,</p>
        <sec id="sec-3-1-1">
          <title>Places</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Transitions</title>
          <p>Discrete
Continuous
&lt;1&gt;
[_SimStart,1,_SimEnd]
Stochastic
Continuous
Immediate Deterministic
Scheduled</p>
        </sec>
        <sec id="sec-3-1-3">
          <title>Arcs</title>
          <p>Standard</p>
          <p>Read</p>
          <p>Inhibitor</p>
          <p>Equal</p>
          <p>Reset</p>
          <p>Modifier
carry non-negative real-valued weights. In addition to their in uence on the
enabling of transitions, they also a ect the place marking when a transition res
by adding (removing) tokens from the transition's post-places (pre-places).</p>
          <p>Extended arcs such as inhibitor, read, equal, reset, and modi er arcs can
only be used to connect places to transitions, and not vice versa. A transition
connected with an inhibitor arc is enabled (with respect to the corresponding
pre-place) if the marking of the pre-place is less than the arc weight. In contrast,
a transition connected with a read arc is enabled if the marking of the pre-place
is greater than or equal to the arc weight. Similarly, a transition connected using
an equal arc is enabled if the marking of the pre-place is equal to the arc weight.</p>
          <p>The other two remaining arcs do not a ect the enabling of transitions. A reset
arc is used to reset a place marking to zero when the corresponding transition res.
Modi er arcs permit one to include any place in the transitions' rate functions
and simultaneously preserve the net structure restriction. Besides, the markings
of places connected using read, inhibitor, equal, or modi er arcs does not change
when the corresponding transition res.
3.2</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Coloured Petri nets</title>
        <p>Coloured Petri nets [22] consist, as standard Petri nets, of places, transitions and
arcs that connect places and transitions. Additionally, a coloured Petri net is
characterised by a set of nite colour sets. Each place gets assigned a colour set
and may contain distinguishable tokens; each token has a colour of this colour set.
As there can be several tokens of the same colour on a given place, the tokens on
a place de ne a multiset over the place's colour set.</p>
        <p>Each transition gets a guard, which is a Boolean expression over variables,
constants, functions, etc. The guard of a transition must be evaluated to true for
the enabling of the transition. The trivial guard \true" is usually not explicitly
given.</p>
        <p>Each arc gets assigned an expression, rather than an integer number in
standard Petri nets; the result type of this expression is a multiset over the colour
set of the connected place.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Coloured Generalised Hybrid Petri Nets</title>
      <p>In this section we present the de nition of coloured generalised hybrid Petri nets.
GHPN C reuse all elements of GHPN , however on the coloured level. We start
o by de ning GHPN C . Afterwards, we present the semantics of GHPN C that
governs the execution of models constructed by it.
4.1</p>
      <sec id="sec-4-1">
        <title>Formal De nition</title>
        <p>De nition 1 A Coloured Generalised Hybrid Petri Net GHPN C is a nine-tuple
N =&lt; P; T; A; P; C; F; V; G; m0 &gt;[27,18], where:
{ P = Pdisc [ Pcont whereby Pdisc is the set of discrete places and Pcont is the
set of continuous places.
{ T = Tstoch [ Tim [ Ttimed [ Tscheduled [ Tcont with:
1. Tstoch is the set of stochastic transitions, which re stochastically after
an exponentially distributed waiting time.
2. Tim is the set of immediate transitions, which re with waiting time zero;
they have higher priority compared with other transitions.
3. Ttimed is the set of deterministically delayed transitions, which re after
a deterministic time delay.
4. Tscheduled is the set of scheduled transitions, which re at prede ned time
points.
5. Tcont is the set of continuous transitions, which re continuously over
time.
{ A = Adisc [ Acont [ Ainhibit [ Aread [ Aequal [ Areset [ Amodifier is the set
of directed arcs, with:
((P T ) [ (T P )) de nes the set of discrete arcs.
((Pcont T ) [ (T Pcont)) de nes the set of continuous arcs.
(P T ) de nes the set of read arcs.</p>
        <p>T ) de nes the set of inhibit arcs.</p>
        <p>T ) de nes the set of equal arcs.</p>
        <p>T D) de nes the set of reset arcs,</p>
        <p>T ) de nes the set of modi er arcs.
{ P is a nite, non-empty set of colour sets.
{ C : P ! P is a colour function that assigns to each place p 2 P a colour set</p>
        <p>C(p) 2 P.
{ F : A ! EXP is an arc function that assigns to each arc a 2 A an arc
expression of a multiset type C(p)MS , where p is the place connected to the
arc a.
{ V is a set of functions V = fg; d; w; f g where :
1. g : Tstoch ! Hs is a function which assigns a stochastic hazard function
hst to each stochastic transition instance tj 2 Tstoch, whereby Hs =
j tjj ! R0+; tj 2 Tstochg is the set of all stochastic hazard
fhst jhst : R0
functions, and g(tj ) = hst ; 8tj 2 Tstoch.
2. w : Tim ! Hw is a function which assigns a weight function hw to
each immediate transition instance tj 2 Tim, such that Hw = fhwt jhwt :
j tjj ! R0+; tj 2 Timg is the set of all weight functions, and w(tj ) =
R0
hwt ; 8tj 2 Tim.
3. d : Ttimed [ Tscheduled ! R0+, is a function which assigns a constant
time to each deterministically delayed and scheduled transition instance
representing the (relative or absolute) waiting time.
4. f : Tcont ! Hc is a function which assigns a rate function hc to each
continuous transition instance tj 2 Tcont, such that Hc = fhct jhct :
Rj0 tjj ! R0+; tj 2 Tcontg is the set of all rates functions and f (tj ) =
hct ; 8tj 2 Tcont.
{ G : T ! EXP is a guard function that assigns to each transition t 2 T a
guard expression of the Boolean type.
{ m0 : P ! EXP is an initialisation function that assigns to each place p 2 P
an initialisation expression of a multiset type C(p)MS .</p>
        <p>Here, R0+ denotes the set of non-negative real numbers, tj denotes the set of
pre-places of a transition tj .
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Semantics</title>
        <p>The formal semantics of GHPN C is de ned by unfolding the coloured hybrid
Petri nets into the equivalent low level one. Thus we rstly discuss how GHPN C
can be unfolded into GHPN . Then, we extend the formal semantics which has
been presented in [18] and apply it to GHPN C.</p>
        <p>Unfolding Uncoloured Petri nets can be folded into coloured Petri nets, if
partitions of the place and transition sets are given. Vice versa, coloured Petri
nets with nite colour sets can be automatically unfolded into uncoloured Petri
nets, which then allows the use of all of the existing powerful standard Petri net
analysis techniques. The conversion between uncoloured and coloured Petri nets
changes the style of representation, but does not change the actual net structure
of the underlying biological reaction network.</p>
        <p>In [32], we have presented an e cient unfolding method for coloured Petri
nets with nite coloured sets, in which we provide two approaches to compute
transition instances. For a transition, if the colour set of each variable in its guard
has a nite integer domain, a constraint satisfaction approach is used to obtain
all valid transition instances. Otherwise, a general unfolding algorithm is adopted,
in which some optimisation techniques are used like partial binding{partial test
and pattern matching [27,32].</p>
        <p>Hybrid semantics The semantics of GHPN C is given in terms of the discrete
and continuous transitions. To harmonise the mathematical notations, let T C =
T T D = Tcont denote the set of continuous transitions. Before we proceed, we
assume that the coloured expression which is assigned to an arc is evaluated to a
numeric value. Likewise the initial marking.</p>
        <p>De nition 2 (Enabling condition) Let N =&lt; P; T; A; P; C; F; V; G; m0 &gt;
be a coloured generalised hybrid Petri net and m be the marking of N at time .
A transition tj 2 T is enabled in the marking m, denoted by m[tj i, i 8pi 2 tj :
{ m(pi) F (pi; tj ); if (pi; tj ) 2 Acont [ Adisc ^ tj 2 T D,
{ m(pi) &gt; 0; if (pi; tj ) 2 Acont ^ tj 2 T C ,
{ m(pi) F (pi; tj ); if (pi; tj ) 2 Aread,
{ m(pi) &lt; F (pi; tj ); if (pi; tj ) 2 Ainhibit,
{ m(pi) = F (pi; tj ); if (pi; tj ) 2 Aequal.</p>
        <p>{ G(tj ) = true.</p>
        <p>De nition 3 (Firing rule of discrete transitions) Let N =&lt; P; T; A; P; C; F; V; G; m0 &gt;
be a coloured generalised hybrid Petri net, m a marking of N , and tj 2 T D a
transition enabled in the marking m, m[tj i, at time . The transition tj can re
and reach a new marking m0, denoted by m[tj im0, at time + dj if it is still
enabled at that new time, with:
m0(pi) =
8&gt;m(pi)
&lt;</p>
        <p>0
&gt;:m(pi)</p>
        <p>F (pi; tj ) if (pi; tj ) 2 Acont [ Adisc
if (pi; tj ) 2 Areset
else
m0(pi) = m(pi) + F (tj ; pi)
where
dj =
8d(tj )
&gt;
&gt;
&gt;
&lt;
+ d(tj )
if tj 2 Ttimed
if tj 2 Tscheduled
&gt;dstoch(tj ) if tj 2 Tstoch
&gt;
&gt;:0</p>
        <p>if tj 2 Tim
is a delay which is associated to the discrete transition tj and dstoch(tj ) is
the random ring delay with negative exponential probability density function
calculated for each stochastic transition tj using its rate g(tj ).</p>
        <p>According to the above enabling and ring de nitions, discrete transitions
follow a policy which is called an enabling memory policy [24].</p>
        <p>Moreover, when multiple immediate transitions are concurrently enabled,
con icts are solved by computing the relative ring frequencies of each enabled
immediate transition. That is if an immediate transition tj is enabled in the
current marking m, then it res with the probability given by (1).</p>
        <p>w(tj )(m)
X</p>
        <p>w(tk)(m)
tk2Tim^isEnabled(tk;m)
where w is the weight assigned to immediate transitions.</p>
        <p>Firing of continuous transitions The semantics of continuous transitions
is analogue to the ones in continuous Petri nets with maximal ring speeds
depending on time as introduced in [6] and tailored to the speci c needs in
systems biology. The transitions' current ring rates (instantaneous ring speeds)
depend on the current marking of their pre-places (i.e., species concentrations).
In what follows, the ring semantics of continuous transitions is formally given.</p>
        <p>We introduce the following notation. Let vj ( ) represent the current ring rate
of a transition tj 2 T C at time , mi( ) = m(pi) denotes the current marking
of a place pi at time , and fj ( )=f (tj ) denotes the maximal ring rate of a
transition tj at time , then:
vj ( ) =
(fj ( )
0
if tj is enabled
else
(1)
(2)</p>
        <p>Equation (2) implies that a continuous transition can re with its maximal
rate if it is enabled or its rate will be zero otherwise.</p>
        <p>When a continuous transition is enabled, it res as soon as possible and its
e ect on the connected places can be given by the following de nition.</p>
        <p>De nition 4 (Firing of continuous transitions) Let N =&lt; P; T; A; P; C; F; V; G; m0 &gt;
be a coloured generalised hybrid Petri net, m a marking of N , tj 2 T C a transition
enabled in the marking m, m[tj i, at time , and vj ( ) denotes the current ring
rate of the transition tj . The transition tj res with:</p>
        <p>Equations (3) and (4) are called out ow and in ow of a place pi, respectively,
due to the ring of a transition tj [6].</p>
        <p>Generation of the corresponding ODEs For a given transition tj 2 T C , the
functions read(u; pi), inhibit(u; pi) are de ned as follows:
(3)
(4)
(5)
with u = F (pi; tj ) ^ (pi; tj ) 2 Aread, and
read(u; m(pi)) =
(1 if m(pi)</p>
        <p>u
0 else
inhibit(u; m(pi)) =
(1 if m(pi) &lt; u</p>
        <p>0 else
with u = F (pi; tj ) ^ (pi; tj ) 2 Ainhibit :</p>
        <p>Then the ODE corresponding to each continuous place in GHPN C can be
generated using (5)
dm (pi)
d
= X F (tj ; pi) vj ( ) read(u; m(pi)) inhibit(u; m(pi))
tj2 pi</p>
        <p>X F (pi; tj ) vj ( ) read(u; m(pi)) inhibit(u; m(pi))
tj2pi
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Simulation</title>
        <p>The semantics of GHPN C which we have discussed in Section 4.2 can be produced
via simulation. In simulating GHPN C models, the following two main issues
need be considered: the partitioning of the net's transitions into stochastic and
continuous ones, and the synchronisation between the stochastic and continuous
regimes.</p>
        <p>The partitioning of the net elements has an important in uence on both
the accuracy and the e ciency of GHPN C simulation. The more continuous
transitions we use, the faster the simulation speed we get. However, this will
have a high impact on the result accuracy. Thus, it is important to appropriately
partition the model transitions into stochastic and continuous ones. This can be
done using either static or dynamic partitioning. In static partitioning, the process
of assignment of each transition to either the stochastic or continuous category
is done o line (i.e., before the simulation starts). Transitions with high ring
rate will be considered continuously while transitions with low ring rates are
considered stochastically. Additionally, the number of tokens of the transition's
pre-places plays a role in determining the transition type. An important merit
of this approach is that there is no additional overhead to the simulation due
to the partitioning process. However, transition rates can dramatically change
during the simulation. This motivates the use of dynamic partitioning. Using
dynamic partitioning, transitions can change their type during simulation from
stochastic to continuous or vice versa. Such change is usually based on either
the transition rate and/or the number of tokens in the transition's pre-paces.
Nevertheless, dynamic partitioning will result in additional overhead due to the
repeated check of ful lment of the partitioning conditions. Therefore, if the gain
due to the use of dynamic partitioning is less than the partitioning overhead,
static partitioning should be used instead. A detailed discussion about this issue
can be found in [18].</p>
        <p>Similarly, the synchronisation between stochastic and continuous regimes
is vital for the accuracy of the simulation result. At the end, stochastic and
continuous transitions are not isolated from each other. They mutually a ect
each other. Thus, we need a mechanism to better perform the synchronisation.
One choice is to use (6) to detect the occurrence of a stochastic event while the
numerical integration is progressing [12],
g(x) =</p>
        <p>Z t+
t
as0(x)dt
= 0 ;
(6)
where is a random number exponentially distributed with a unit mean, and
as0(x) is the cumulative rate of all stochastic transitions.</p>
        <p>Once we agreed on a selection of a partitioning algorithm and a synchronisation
approach we can execute the GHPN C model by repeating a set of steps. In [18],
we have presented a hybrid simulation algorithm based on (6) using both static
and dynamic partitioning. The main steps are outlined here while the details can
be found in [18].</p>
        <p>Starting from an initial marking, the simulation algorithm computes state
changes over the time which are regarded as the current marking at each
simulation step. Initially, the rates of stochastic and continuous transitions are calculated.
Next, the accumulated rate function of stochastic transitions is calculated. When
the model contains one or more continuous transitions, the simulation algorithm
constructs an ODE for each place. ODE construction is done via (5). Afterwords,
the simulator numerically integrates the resulting set of ODEs simultaneously
with (6) until an event occurs. The event can be one of the following: the enabling
of an immediate transition, the enabling of a deterministically delayed transition,
a deterministically delayed transition has nished its delay, or a stochastic event
has occurred (i.e., Equation (6) is satis ed).</p>
        <p>In all cases the ODE integrator is interrupted and the appropriate action
is taken (e.g., by ring a discrete transition). After that the ODE integrator is
restarted with the new marking to account for the discontinuity which is due to
the ring of a discrete transition.</p>
        <p>When there is no continuous transition in the system being simulated, the
simulation of GHPN C model is simpli ed to the simulation of stochastic Petri nets
which can be carried out using, e.g., Gillespie's stochastic simulation algorithm
[13].</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Implementation</title>
      <p>All features of GHPN C which have been discussed in this paper are implemented
in Snoopy [15] { a unifying Petri net tool that supports the construction and
execution of di erent Petri net classes among them are: standard, extended,
continuous, stochastic, and hybrid Petri nets. Those classes are available both on
the uncoloured and coloured level. Snoopy is platform-independent and provided
free of charge for academic purposes.</p>
      <p>Snoopy also supports the automatic unfolding of GHPN C. In Snoopy, we
can explicitly unfold a coloured stochastic/continuous/hybrid Petri net to its
counterpart, a stochastic/continuous/hybrid Petri net, or we can do this implicitly
during the execution of the Petri net model.</p>
      <p>Furthermore, we have recently released a server-based version of the Snoopy
simulator called S4 (Snoopy Steering and Simulation Server) [19,20]. S4 also
supports the simulation of GHPN C. Besides, an GHPN C model submitted to S4
can be steered (i.e., key simulation parameters can be changed on the y), and
collaboratively executed by di erent users. Snoopy and S4 can be downloaded
from http://www-dssz.informatik.tu-cottbus.de/snoopy.html.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Applications</title>
      <p>In this section we present one case study as a typical application of Coloured
Generalised Hybrid Petri Nets.</p>
      <p>We will demonstrate the GHPN C using an example of a synthetic circuit {
the repressilator, which is an engineered synthetic system encoded on a plasmid,
and designed to exhibit oscillations [7]. The repressilator system is a regulatory
cycle of three genes, denoted by, e.g., gene a, gene b and gene c, where each gene
represses its successor, namely, gene a inhibits gene b, gene b inhibits gene c,
and gene c inhibits gene a. This negative regulation is realised by the repressors,
protein a, protein b and protein c, generated by the genes gene a, gene b and
gene c, respectively.</p>
      <p>The 1-bounded places as determined by P-invariant analysis and the related
transitions as determined by T-invariant analysis are kept discrete. The
unbounded places and related transitions are approximated by continuous places
and transitions, respectively. That is, places gene i and blocked i, and transitions</p>
      <p>transition class kinetic parameter c rate function pattern example: gene a
generate
block
unblock
degrade
0.1
1.0
block i and unblock i are treated as discrete, where i=a,b,c, and all other nodes
as continuous. To distinguish between discrete and continuous nodes, we choose
di erent graphical representations, see Figure 2. The rate functions of the GHPN
model are given in Table 1.</p>
      <p>For example, if we assign the rates in Table 1 to the hybrid model and
consider them as stochastic or deterministic rates, depending on the transition
type, hybrid simulation yields plots as illustrated in Figure 3.</p>
      <p>Figure 4 gives an GHPN C for the repressilator model in Figure 2. A colour
set GeneSet is de ned with three colours, a, b and c, to distinguish the three
genes. Each place gets assigned this colour set GeneSet. A multiset expression,
1`all()=1`a++1`b++1`c, is assigned to the place protein. In Figure 4, we de ne a
variable x of GeneSet, which is used in arc expressions. The predecessor operator
\-" in the arc expression x returns the predecessor of x in an ordered nite
protein_a
protein_b
protein_c
10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
time
colour set. For example, if x = b, then x returns a. If x is the rst colour, then
it returns the last colour. For example, if x = a, then x returns c.</p>
      <p>The coloured Petri net model in Figure 4 when unfolded yields the same
uncoloured Petri net model in Figure 2. That is, the GHPN C model reduces
the size of the original stochastic Petri net model to one third, which is a big
advantage of coloured Petri nets.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusions and Future Work</title>
      <p>In this paper we have introduced a new class of coloured Petri nets called Coloured
Generalised Hybrid Petri Nets (GHPN C). GHPN C are particularly tailored to
systems biologists' needs to model and analyse multiscales models. Moreover,
GHPN C provide the interplay between stochastic and continuous regimes on the
coloured level which eventually provide a tool to control both the accuracy and
the speed of running simulation.</p>
      <p>In [21] we have proved that marking-dependent arc weights are necessary to
model certain biological systems. However, this feature is still not implemented
in Snoopy for GHPN C . Thus we plan to add it in order to widen the types of
models that can be constructed via GHPN C .</p>
      <p>Furthermore, the current simulation of GHPN C is carried out by rstly unfold
the coloured model into an uncoloured one, then it is simulated on that level.
Although the unfolding process is fully automated, it may take a considerable
amount of time, particularly for bigger models. Thus if an error is observed at
the (beginning) of the simulation due to modelling mistakes, the entire unfolding
process will completely be repeated. Therefore, simulating GHPN C directly on
the coloured level [9] will increase the productivity and eventually save a lot of
time.</p>
      <p>Finally, the presented case study in this paper aims to demonstrate how
GHPN C works. More sophisticated biological models can be constructed in the
future using GHPN C . For example, we are working on using GHPN C to model
di usion-reaction systems described by partial di erential equations, where we
rst discretise the space into a set of grid cells, and then we obtain a GHPN C
model by representing each grid cell as a colour [28].</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          7347, pp.
          <volume>398</volume>
          {
          <fpage>407</fpage>
          . Springer (
          <year>2012</year>
          )
          <fpage>16</fpage>
          .
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehrack</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gilbert</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marwan</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Extended stochastic Petri nets for model-based design of wetlab experiments</article-title>
          .
          <source>In: Transactions on Computational Systems Biology XI</source>
          , pp.
          <volume>138</volume>
          {
          <fpage>163</fpage>
          . Springer, Berlin, Heidelberg (
          <year>2009</year>
          )
          <fpage>17</fpage>
          .
          <string-name>
            <surname>Herajy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Computational Steering of Multi-Scale Biochemical Networks</article-title>
          .
          <source>Ph.D.</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>thesis</surname>
          </string-name>
          , BTU Cottbus, Dep. of CS (
          <year>January 2013</year>
          )
          <volume>18</volume>
          .
          <string-name>
            <surname>Herajy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Hybrid representation and simulation of sti biochemical networks</article-title>
          .
          <source>J. Nonlinear Analysis: Hybrid Systems</source>
          <volume>6</volume>
          (
          <issue>4</issue>
          ),
          <volume>942</volume>
          {959 (November
          <year>2012</year>
          )
          <volume>19</volume>
          .
          <string-name>
            <surname>Herajy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A Steering Server for Collaborative Simulation of Quantitative Petri Nets</article-title>
          . In: Ciardo,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Kindler</surname>
          </string-name>
          , E. (eds.)
          <source>Proc. PETRI NETS 2014. LNCS</source>
          , vol. to appear. Springer (
          <year>June 2014</year>
          )
          <volume>20</volume>
          .
          <string-name>
            <surname>Herajy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Petri net-based collaborative simulation and steering of biochemical reaction networks</article-title>
          .
          <source>Fundamenta Informatica (129)</source>
          ,
          <volume>49</volume>
          {
          <fpage>67</fpage>
          (
          <year>2014</year>
          )
          <fpage>21</fpage>
          .
          <string-name>
            <surname>Herajy</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwarick</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Hybrid Petri Nets for Modelling the Eukaryotic Cell Cycle</article-title>
          .
          <source>ToPNoC VIII</source>
          , LNCS 8100 pp.
          <volume>123</volume>
          {
          <issue>141</issue>
          (
          <year>2013</year>
          )
          <fpage>22</fpage>
          .
          <string-name>
            <surname>Jensen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Coloured Petri nets and the invariant-method</article-title>
          .
          <source>Theoretical Computer Science</source>
          <volume>14</volume>
          (
          <issue>3</issue>
          ),
          <volume>317</volume>
          {
          <fpage>336</fpage>
          (
          <year>1981</year>
          )
          <fpage>23</fpage>
          .
          <string-name>
            <surname>Jensen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kristensen</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          : Coloured Petri Nets. Springer (
          <year>2009</year>
          )
          <fpage>24</fpage>
          .
          <string-name>
            <surname>Kartson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Balbo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Donatelli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Franceschinis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Conte</surname>
          </string-name>
          , G.:
          <article-title>Modelling with generalized stochastic Petri nets</article-title>
          . John Wiley &amp; Sons, Inc., 1st edn. (
          <year>1994</year>
          )
          <fpage>25</fpage>
          .
          <string-name>
            <surname>Kiehl</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mattheyses</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simmons</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Hybrid simulation of cellular behavior</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <source>Bioinformatics</source>
          <volume>20</volume>
          , 316{322 (
          <year>February 2004</year>
          )
          <volume>26</volume>
          .
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zimmer</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Park</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Colored Petri net modeling and simulation of signal transduction pathways</article-title>
          .
          <source>Metabolic Engineering</source>
          <volume>8</volume>
          (
          <issue>2</issue>
          ),
          <volume>112</volume>
          {
          <fpage>122</fpage>
          (
          <year>2006</year>
          )
          <fpage>27</fpage>
          .
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Colored Petri Nets for Systems Biology</article-title>
          .
          <source>Ph.D. thesis</source>
          , Department of Computer Science, Brandenburg University of Technology Cottbus (
          <year>2012</year>
          )
          <fpage>28</fpage>
          .
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , Blatke,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Heiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>Modelling and simulating reactiondi usion systems using coloured petri nets</article-title>
          .
          <source>Computers in Biology and Medicine</source>
          p.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>under review</surname>
          </string-name>
          (
          <year>2014</year>
          )
          <fpage>29</fpage>
          .
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Modeling membrane systems using colored stochastic Petri nets</article-title>
          .
          <source>Nat. Computing</source>
          <volume>12</volume>
          (
          <issue>4</issue>
          ),
          <volume>617</volume>
          {
          <fpage>629</fpage>
          (
          <year>2013</year>
          )
          <fpage>30</fpage>
          .
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Multiscale modelling of coupled Ca2+ channels using coloured stochastic Petri nets</article-title>
          .
          <source>IET Systems Biology</source>
          <volume>7</volume>
          (
          <issue>4</issue>
          ),
          <volume>106</volume>
          {
          <fpage>113</fpage>
          (
          <year>August 2013</year>
          )
          <volume>31</volume>
          .
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Petri Nets for Modeling and Analyzing Biochemical Reaction Networks</article-title>
          ,
          <source>chap. 9</source>
          , pp.
          <volume>245</volume>
          {
          <fpage>272</fpage>
          . Springer (
          <year>2014</year>
          )
          <fpage>32</fpage>
          .
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>An e cient method for unfolding colored Petri nets</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          pp.
          <year>2009</year>
          {
          <year>2012</year>
          . IEEE (
          <year>2006</year>
          )
          <fpage>42</fpage>
          .
          <string-name>
            <surname>Voss</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heiner</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Steady state analysis of metabolic pathways using Petri nets</article-title>
          .
          <source>In Silico Biology</source>
          <volume>3</volume>
          ,
          <issue>0031</issue>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>