Petrinetbased 2D design of DNA walker circuits
 966 Downloads
 1 Citations
Abstract
We consider localised DNA computation, where a DNA strand walks along a binary decision graph to compute a binary function. One of the challenges for the design of reliable walker circuits consists in leakage transitions, which occur when a walker jumps into another branch of the decision graph. We automatically identify leakage transitions, which allows for a detailed qualitative and quantitative assessment of circuit designs, design comparison, and design optimisation. The ability to identify leakage transitions is an important step in the process of optimising DNA circuit layouts where the aim is to minimise the computational error inherent in a circuit while minimising the area of the circuit. Our 2D modelling approach of DNA walker circuits relies on coloured stochastic Petri nets which enable functionality, topology and dimensionality all to be integrated in one twodimensional model. Our modelling and analysis approach can be easily extended to 3dimensional walker systems.
Keywords
Stochastic Petri nets Coloured Petri nets DNA walker systems Design assessment Leakage transitions Structural analysis Qualitative analysis Stochastic analysis Simulative model checking1 Introduction
DNA computing building on DNA strands (molecules) interacting by DNA strand displacement (DSD) is a research focus in computer science and nanomedicine alike (Boemo et al. 2016). DSD can be thought of as a formal computing language (Phillips and Cardelli 2009) for the engineering of DNAonly chemical controllers, sensors, etc. (Chen et al. 2013). Two DSD categories can be distinguished (Boemo et al. 2016). (1) In floating DNA systems, DNA strands are freely moving molecules in a wellmixed solution; i.e., there are no geometric constraints preventing two molecules from interacting. (2) Localised DNA systems impose constraints by tethering DNA strands (anchorages) to a rigid lattice, forming a DSD circuit. An additional DNA strand (walker) may move along the lattice organised in origami tiles, thus performing a computation, e.g., by walking along a binary decision tree, possibly reduced to a directed acyclic graph (DAG), yielding a binary decision DAG, in the following briefly called DAG. Different options for programming a given DSD circuit are known to force a walker to follow a specific path (Boemo et al. 2016).
There are a couple of challenges for the design of reliable DSD circuits. DSD circuits are inherently undirected, and thus do not directly encode DAGs. A walker may take a shortcut or even jump into another path; the latter is known as a leakage transition. Therefore, the experimental design of DSD circuits clearly calls for tool support.
Floating systems are supported by the Microsoft Visual DSD tool (Lakin et al. 2011), while localised systems are considered in Dannenberg et al. (2015) and Barbot and Kwiatkowska (2015); none supports the automated identification of leakage transitions. Modelling DNA computing devices with freely moving molecules closely resembles modelling approaches for chemical reaction networks as they are widely used in systems and synthetic biology; e.g., we could deploy Petri nets as umbrella language opening the doors to qualitative, stochastic and deterministic analysis techniques, as we have previously demonstrated in Gilbert et al. (2007), Heiner et al. (2008) and Blätke et al. (2015).
1.1 Contributions
In this paper we consider localised DNA computation. We start from the modelling approach for walker circuits introduced in Dannenberg et al. (2015) and represented as stochastic Petri nets in Barbot and Kwiatkowska (2015), with the purpose of stochastic analysis to assess the reliability of the circuit design. To assist the circuit designer by a more detailed assessment, we refine the stochastic analysis, complemented by merely qualitative, and thus computationally less expensive analyses. More specifically we discuss the automated identification of leakage transitions and how to quantitatively compare different circuit designs for a given DAG. Leakage can be reduced by employing a circuit layout topology that optimises the distance between any two anchorages to avoid potential leakage transitions, and which in general can be achieved by increasing the area of the circuit for a given size (in terms of number of anchorages).
However, one goal of DNA circuit design is in fact to minimise the circuit area (Jung et al. 2015). Thus the ability to identify leakage transitions is an important step in the process of optimising DNA circuit layouts where the aim is to minimise the computational error inherent in a circuit while minimising the area of the circuit. This tradeoff is quantified by a combination of structural and probabilistic analysis techniques including performability measures building on impulse rewards.
Moreover, we show how coloured Petri nets can be used to obtain a generic template for specifying DNA walker systems, while preserving the ability of a mathematically rigorous assessment of the system specification. This template may be easily adjusted to different stepping scenarios or distance notions without requiring programming skills. In this paper, we consider 2dimensional walker systems. However, the extension of our flexible modelling approach to the 3dimensional case is straightforward.
1.2 Outline
In the next section we discuss the modelling of DNA walker circuits, first as planar undirected graphs, which we convert into Petri nets to be able to analyse their execution, and finally into coloured Petri nets to obtain a concise and flexible circuit specification incorporating 2D topology information. Afterwards we introduce in Sect. 3 our new technique to identify leakage transitions, followed by a brief overview on Petri net related analysis techniques with a special focus on stochastic analyses in Sect. 4. We demonstrate the usability of our techniques by comparing two layouts for a given DNA walker circuit taken from Dannenberg et al. (2015). We conclude our paper in Sect. 5 with a brief summary and outlook on future work.
2 Modelling
2.1 DNA walker systems
We consider programmable DNA walker circuits introduced in Yin et al. (2004), Bath et al. (2005), Wickham et al. (2011) and Wickham et al. (2012), which are known to exhibit an inherently probabilistic behaviour. DNA walker circuits have been modelled and analysed with the PRISM tool (Dannenberg et al. 2015; Dannenberg 2016), and later by help of stochastic Petri nets (Barbot and Kwiatkowska 2015). To be selfcontained we recall the basic facts required to understand our modelling approach deploying coloured stochastic Petri nets.
The DNA walker circuits under consideration are supposed to compute a Boolean function over n input variables, i.e., \({\mathcal {B}}^{n} \rightarrow {\mathcal {B}}\). Formally, a DNA walker circuit defines a planar undirected graph, in the following called DSD graph; see Fig. 1 for an example. Vertices stand for anchorages and undirected edges for possible walker steps. Vertices with two adjacent edges form linear tracks of the walker circuit, while vertices with three adjacent edges represent gates, i.e., either forking or joining junction points. There are no vertices with more than three adjacent edges, because there is a lack of experimental evidence (Wickham et al. 2011, 2012).
Anchorages may be labelled with literals over the domain of the Boolean function to be evaluated. The programming of the circuit is achieved by blocking those anchorages whose labels are evaluated to false for the given input values. These observations are summarised in the following definition which builds on the one given in Dannenberg (2016).
Definition 1

V is the set of vertices, with
\(V= V_{{ INIT}} \cup V_{{ NORM}} \cup V_{{ FORK}} \cup V_{{ JOIN}} \cup V_{{ FINAL}}\), andand all vertex sets pairwise disjunctive.
\(V_{{ INIT}} = \{v_0\}\)—the unique initial anchorage,

\(V_{{ NORM}}\)—the vertex set of normal anchorages,

\(V_{{ FORK}}\)—the vertex set of fork anchorages,

\(V_{{ JOIN}}\)—the vertex set of join anchorages,

\(V_{{ FINAL}}\)—the vertex set of final anchorages,


E is the set of undirected edges with \(E \subset \left( V \times V\right) \). The initial vertex \(v_0\) and final vertices have one adjacent edge, normal vertices have two adjacent edges, and junction vertices (either fork or join) have three adjacent edges.

\({ In}\) is a set of Boolean variables, and \({ literals}(In)\) yields the set of all value assignments over In.

L is a labelling function with \(L{:} V {\setminus } V_{{ FINAL}} \rightarrow { literals}(In) \cup \{\epsilon \}\).

\({ Out}\) is an output function with \({ Out}: V_{{ FINAL}} \rightarrow \{T,F\}\), assigning a truth value to each final vertex. □
Remarks

All undirected edges have exactly one direction which corresponds to a step directed from the init vertex to one of the final vertices.

By definition, the walker can never leave a final node; however this cannot be deduced from the undirected graph.

Binary decision trees do not require join anchorages.

There has to be at least one final vertex. Usually the graph will contain at least two final vertices, with each truth value occurring at least once.

DSD graphs with exactly one final vertex labelled with true allow for composability, e.g., exploiting origami tiles.

The empty label \(\epsilon \) permits unblockable anchorages and is typically not displayed. The unique initial anchorage \(v_0\) should be labelled with \(\epsilon \).

The definition given in Dannenberg (2016) does not distinguish between fork and join, and it assigns \({ literals}(in)\) to edges; we assign them to vertices.
A DSD graph may be seen as a finite automaton. It describes a map with all possible steps a DNA walker may take to execute the computation encoded in the underlying (binary decision) DAG for any input values. Accordingly, for a given set of input values, a walker is supposed to go only to anchorages, where the evaluation of the label yields true. The anchorages where the evaluation yields false are considered to be blocked; thus can not be visited by the walker. Assuming a consistent labelling, for each possible set of input values, there exists a path from the initial to a final vertex delivering the result. If there exists exactly one path, we call the DSD graph deterministic (Dannenberg 2016).
The DNA walker starts its journey at the unique initial vertex, and then follows one of the adjacent edges to reach a neighbouring unblocked vertex, which is repeated until reaching a final vertex, which by definition can not be left again. The final vertex reached indicates the result computed by the walker’s journey through the DNA circuit.
Undirected edges can be read as a shorthand notation for two opposite, directed edges; these two directed edges stand for possible walker steps in opposite directions. Thus, a DNA walker does not go on a targetoriented journey; it can not distinguish between fork and join anchorages, and all anchorages reachable in one step have the same probability to be visited next. For example, assuming \(x={ true}\) in Fig. 1, a walker may repeatedly move along \(v_{0}v_{1}v_{2}v_{4}\) (in both directions), before accidentally finding the final vertex \(v_{6}\). To put it differently, the challenge consists in realising an algorithm working on a directed graph (the DAG) by use of an undirected graph (the DSD graph).
A DNA walker’s life becomes slightly easier in “burntbridges” circuits, where each position can only be visited once. As already visited positions are not among the possible choices of target positions for the next step, the walker will generally be driven in the direction of a final vertex.
This execution semantics goes beyond standard graphbased reasoning and is not covered by Definition 1. To formalise the execution semantics, we convert the DSD graph into a Petri net—first into a plain Petri net, inspired by the approach introduced in Barbot and Kwiatkowska (2015), and afterwards into a coloured Petri nets, which will yield a concise template for DNA walker circuit specifications.
Stepping distance
2.2 Petri nets
To be selfcontained we briefly recall basic Petri net concepts, which will allow us to formally treat the execution semantics of DSD graphs; for more details see Heiner et al. (2008).
Definition 2

P and T are finite, nonempty, and disjoint sets. P is the set of places, and T is the set of transitions.

\(f:\left( (P\times T\right) \cup \left( T\times P\right) )\rightarrow N_0\) defines the set of directed arcs, weighted by nonnegative integer values.

\(m_0:P\rightarrow N_0\) gives the initial marking. □
The preset of a node \(x \in P \cup T\) is defined as \({\scriptstyle ^\bullet }x:=\left\{ y\in P \cup Tf\left( y,x\right) \not = 0\right\} \), and its postset as \(x{\scriptstyle ^\bullet }:=\left\{ y\in P \cup Tf\left( x,y\right) \not = 0\right\} \). We extend both notions to a set of nodes \(X \subseteq P \cup T\) and define the set of all prenodes \({\scriptstyle ^\bullet }X := \bigcup _{x\in X} {{\scriptstyle ^\bullet } x}\), and the set of all postnodes \(X{\scriptstyle ^\bullet } := \bigcup _{x\in X} {x {\scriptstyle ^\bullet }}\).
Definition 3

A transition t is enabled in a marking m, written as \(m[t\rangle \), if \(\forall p \in {\scriptstyle ^\bullet } t: m(p) \ge f(p,t)\), else disabled.

A transition t, which is enabled in m, may fire.
 When t in m fires, a new marking \(m'\) is reached, written as \({m} {\xrightarrow {\text {t}}} {m'}\), with$$\begin{aligned} \forall p \in P : m'(p) = m(p)  f(p,t) + f(t,p). \end{aligned}$$

The firing happens atomically. □
In qualitative (timefree) Petri nets, the firing does not consume any time, while in stochastic Petri nets, transitions are associated with generally statedependent firing rates. The repeated firing of enabled transitions (the game) yields the behaviour of a Petri net. Generally, there are more than one transition enabled in a given marking. Then the decision of the transition to fire next is taken nondeterministically in timefree Petri nets, and in accordance with the stochastic firing rates in stochastic Petri nets.

Unguided scenario: one token is removed from A, because the walker leaves A, and one token is kept, because A can be revisited,

“Burntbridges” scenario: two tokens are removed from A, because the walker leaves A, and A can not be revisited.
2.2.1 Stepping distance
So far, our Petri net model only contains those steps that a walker may take to follow a path in a given DSD graph. If the DSD graph were to be directed, these steps would all be intentional.
The walker stepping rate k (see Eq. 1) introduces three categories of steps: short distance, medium distance and long distance steps. Ideally a spatial layout of a walker circuit should ensure that all short distance steps correspond to edges in the DSD graph. The number of additional medium and long distance steps obviously depends on the topology. We discuss the influence of the topology on the number of steps in each category in Sect. 3.
These additional steps may introduce unwanted behaviours. Now, a walker can take shortcuts along a path, jump backwards in the path just taken, or jump to another branch, known as leakage steps (transitions). As a result, a walker can get lost in a nonfinal vertex without any neighbouring vertex free to be visited; technically speaking—the system behaviour may reach an unwanted dead state. To be able to distinguish between wanted and unwanted dead states, we add a loop (i.e.,a transition having the same pre and postplace) to all places modelling final vertices. The number of leakage transitions and dead states will have an influence on a circuit’s reliability, which we quantify in Sects. 3 and 4.
2.2.2 Fault model
The programming of a walker circuit according to the given input values of the Boolean function to be computed is realised by the blocking of the correspondingly labelled anchorages. This blocking mechanism may fail. To reflect this we follow the approach introduced in Barbot and Kwiatkowska (2015) and add a fault model to the Petri net we obtained so far, modelling the failure of the blocking mechanism; see Fig. 4.
In order to simplify the modelling, we now assume that all places hold initially a token. For the anchorages to be blocked, this token is removed by additionally added blocking transitions. However, the firing of blocking transitions can be prevented by transitions in conflict, representing the occurrence of a failure. If a failure transition fires, an anchorage to be blocked remains unblocked, and thus a walker can move to this anchorage and follow an incorrect path.
2.3 Coloured Petri nets
Colouring yields a form of highlevel Petri nets which permit the description of similar network structures in a concise way using colours grouped in colour sets—to be understood as a synonym for discrete data types as known from programming languages. The colouring principle can be equally applied to qualitative and quantitative Petri nets (Blätke et al. 2015), and we use it in this paper to obtain coloured stochastic Petri nets.
Coloured Petri nets can be constructed from uncoloured Petri nets by folding, when partitions of places and transitions are given. These partitions define the colour sets of the coloured net. Vice versa, coloured Petri nets with finite colour sets can be automatically unfolded into uncoloured Petri nets, which then allows the application of all analysis techniques available for the corresponding unfolded net class.
Coloured Petri nets consist, like standard Petri nets, of places, transitions and arcs. Additionally, a coloured Petri net is characterised by a set of colour sets, and related net inscriptions, which together permit to distinguish tokens by their colours. Defining coloured Petri nets formally would exceed the given space limit; see Liu et al. (2012) for details. Here, we confine ourselves to introduce the essential concepts by means of our application scenario. To illustrate our modelling ideas we use the toy example shown in Fig. 5.
2.3.1 Encoding the vertices
DNA walkers perform spatially localised computation (Barbot and Kwiatkowska 2015). Colour permits to encode locality, as we have shown in Gilbert et al. (2013). We start with defining a regular rectangular grid; we need seven rows and eight columns for our toy example. The 2D Cartesian coordinates are represented by pairs of colours (integers).
We need two coloured places of this type, A—for the anchorages, and B—for the blocking mechanism.
2.3.2 Distance metrics
2.3.3 Encoding the walker steps
We define for each step category
–[shortmediumlong] distance [standardfinal] steps—a coloured transition and illustrate it here for the short distance standard steps, see Fig. 7. In coloured Petri nets, arcs are weighted with formal sums of tuples: the transition stepShort requires two tokens with values bound to (x1, y1, z1, w1) and one token with values bound to (x2, y2, z2, w2), with the constraint that these two tuples relate to short distance neighbours and none of them is a final vertex. This constraint is expressed as transition guard (given in brackets), which is technically a Boolean expression. A coloured transition can fire for specific values bound to all variables occurring at its adjacent arcs, if its guard is evaluated to true. We introduce the following functions for the transition guard.
We proceed likewise for the other step categories. Finally, we introduce a coloured transition loop which keeps the walker technically alive when having reached a final vertex; see Fig. 12 in “Appendix” section.
2.3.4 Blocking of anchorages and fault model
Similarly, we introduce coloured transitions encoding the blocking and its potential failure for all vertices labelled with an element of \({ Literals}(In)\). For this purpose, we need a further function:
In the appendix, we provide the complete CANDL specification for this toy example. It can be used as template to specify any DNA walker circuit according to Definition 1 as coloured SPN; compare workflow, first step in “Appendix” section. Unfolding these coloured Petri nets generates Petri nets as described in Sect. 2.2. The adaptation of the template to any of the execution semantics discussed there is straightforward.
2.3.5 Comparing both Petri net modelling approaches
There is no explicit notion of space in the uncoloured Petri net model, which encodes in a undifferentiated manner the intensional transitions of the DSD graph structure together with medium and long distance relationships. However the functionality of the DNA circuit is also influenced by the 2D topology of the net, for example leakage, and colour permits the construction of multidimensional models (Heiner and Gilbert 2013), Thus the coloured Petri net model explicitly contains all locality data, which are exploited in the automated unfolding to generate all transitions according to the defined neighbourhood relations. Using coloured Petri nets, adjusting the model to different distance notions does not require programming skills, and the extension of the approach to the 3dimensional scenario is straightforward.
More importantly, the use of colour enables the grid layout of the graph and interanchorage distance to be directly encoded in the model, and thus leakage can be directly extracted from the model as we will see in the next section.
3 Identification of leakage transitions
3.1 Place indexing
The underlying idea of the algorithm is to follow the short distance subgraph (i.e.,the subgraph comprising only short distance steps), which should unambiguously correspond to the DAG of the intended computation. Any further short distance transitions make the computational DAG ambiguous; these additional transitions may be shortcuts or leakage transitions.
To identify the computational DAG in a given short distance subgraph we borrow a simple labelling principle widely used to efficiently organise the nodes of a leftcomplete binary tree in an array data structure (Cormen et al. 2001). Node labels are defined over \({\mathbb {N}}^{+}\,\) and serve as indices in the array, and simple operations over the array indices give direct access to a node’s parent or children nodes; see Fig. 9. We extend this idea to index DAGs, which however makes everything a bit more complicated, as we now have to deal with join vertices as well.

The unique place of type INIT has to have exactly one successor by definition. The successor of INIT gets the same index, i.e.,1, and the successor is added to the queue. The transition from INIT to its successor is part of a (linear) track, thus we add a tuple of (\({1,1,{ TRACK}}\)) to the known transition types.

For binary forward branching, a node c of type FORK has 3 short distance neighbours, one corresponds to the predecessor and the others to the two branches the computational path may take. The first of the two successors \({c}^{\circ }_0\) gets an index that is two times the index of c. Then \({c}^{\circ }_0\) is added to the queue. The second successor \({c}^{\circ }_1\) gets an index that is two times the index of c plus one. Then \({c}^{\circ }_1\) is added to the queue. The transitions from c to its successors are FORK transitions, so we add two triples (c, \({c}^{\circ }_i\), FORK) to the known transition types.

Binary backward branching takes place on a node c of type JOIN and as such c has 3 short distance neighbours, two predecessors and one successor. When the algorithm reaches c, it may happen that two of the neighbours are not indexed yet. In this case we are not able to decide which one is the predecessor and which one is the successor, so we postpone that decision and treat both places as if they each would be a successor. The successor gets the same index as c and is added to the queue. The transitions between c and its successor are of type TRACK, i.e.,the tuple of both indices and type TRACK is added to the known transition types.
 A node of type NORM in a linear track has exactly two short distance neighbours, one corresponds to the predecessor, and one to the successor node. But there are several cases to deal with.In each of the previous cases, the transition between c and its successor is of type JOIN or TRACK, i.e., a triple of both indices and type JOIN or TRACK is added to the known transition types.
 1.
The successor is not indexed yet and is of type JOIN. So it gets an index two times of c, and the transition must be of type JOIN too. The successor is added to the queue.
 2.
The successor is not indexed yet and is not of type JOIN. So it gets the same index as c, because it is on the same track. Thus the transition is of type TRACK. The successor is added to the queue.
 3.
The index of the successor is smaller than the index of c and the successor is of type JOIN. So we have reached an already visited backward branch and add the tuple of indices and type JOIN to the known transition types.
 4.
The index of the successor is smaller than the index of c and the successor is not of type JOIN. So we override the successor’s index and add it to the queue, because we are backtracking to a previously visited track.
A normal node may have 3 short distance neighbours in the case of leak transitions. In this situation we have to take care of several cases.In the first four cases, the transitions between c and its successor are of type JOIN or TRACK, i.e., tuples of both indices and type JOIN or TRACK are added to the known transition types. 1.
The successor is not indexed yet and is of type JOIN, so it gets an index two times of c and the transitions must be of type JOIN too, the successor is added to the queue and is additionally marked.
 2.
The successor is not indexed yet and is not of type JOIN, so it gets the same index as c, because they are on the same track. Thus the transitions are of type TRACK and the successor is added to the queue and is additionally marked.
 3.
The successor is marked and is of type JOIN, so we have reached an already visited backward branch and add a tuple of the indices and type JOIN to the known transition types.
 4.
The successor is marked and is not of type JOIN, so we overwrite the successor’s index, if it is smaller, because we reached a corner with shortcut transitions.
 5.
The successor is not marked; thus the transition must be a leak transition. The transitions from c to its successors are LEAK transitions, so we add two triples (c, \({c}^{\circ }_i\), LEAK) to the known transition types.
 1.

A node of type FINAL has only one short distance neighbour, which is then a predecessor, so there are no more nodes to investigate.
3.2 Transition classification

The preplace and postplace of a TRACK transition t have the same index, forming a linear track, i.e.,\({ index}({t}^{\bullet }) = { index}({}^{\bullet }t)\).

For the indices of the pre and postplace of a FORK transition t, it holds either \({ index}({t}^{\bullet }) = 2\cdot { index}({}^{\bullet }t)\) or \({ index}({t}^{\bullet }) = 2\cdot { index}({}^{\bullet }t) + 1\).

For the indices of the pre and postplace of a JOIN transition t, it holds either \({ index}({t}^{\bullet }) = 2\cdot { index}({}^{\bullet }t)\) or \({ index}({t}^{\bullet }) < { index}({}^{\bullet }t)\).

There is one precisely defined case of LEAK transitions—a leak that follows directly after a fork. Thus, any transition satisfying \({ index}({t}^{\bullet }) = { index}({}^{\bullet }t) + 1\) or \({ index}({}^{\bullet }t) = { index}({t}^{\bullet })  1\) is a LEAK transition. However, depending on the layout, a leak can occur anywhere between two places having different indices.
3.3 Case study
Transition classification for the naive layout in Fig. 9a
Short  Medium  Long  \(\varSigma \)  

Track  64  51  51  166 
Fork  12  30  54  96 
Join  8  17  33  58 
Leak  8  36  98  142 
Transition classification for the optimised layout in Fig. 9b
Short  Medium  Long  \(\varSigma \)  

Track  66  57  57  180 
Fork  12  34  62  108 
Join  8  20  30  58 
Leak  2  20  58  80 
3.4 Implementation
The algorithm presented for indexing an unambiguous short distance subgraph satisfying Definition 1 enables us to classify step transitions and thereby to identify leakage transitions. It is implemented in our advanced Petri net analysis tool MARCIEand is available under http://wwwdssz.informatik.tucottbus.de/DSSZ/Software/Marcie.
4 Analysis techniques
4.1 Qualitative analysis
We obtain the Petri nets to be analysed by automatic unfolding of coloured SPNs following our template for DNA walker circuit specification. Thus, by construction, we always obtain a very special net class of Petri nets, which correspond—from a behavioural point of view—to finite automata. At any point of time, the walker can be at exactly one anchorage, the walker cannot multiply itself and can never disappear.
To increase our confidence in the template and to deepen our understanding of its behaviour, we apply a popular analysis technique relying on an exhaustive description of all possible behaviour. For this, we compute all markings (system states) reachable from the initial marking \(m_{0}\) by any firing sequence of arbitrary length, written as \([ m_0 \rangle \), forming the state space of a given Petri net. The reachability relation over the state space is known as the reachability graph.
Definition 4

\(V_{{\mathcal {N}}} := [m_0 \rangle \) is the set of nodes,

\(E_{{\mathcal {N}}} := \{\, (m, t, m') \mid m, m' \in [m_0 \rangle , t \in T: {m} {\xrightarrow {\text {t}} }{m'} \}\) is the set of arcs. □
The nodes of a reachability graph represent all possible markings of the net. The arcs in between are labelled by single transitions, the firing of which causes the related state change. The reachability graph gives us a finite automaton representation of all possible single step firing sequences. Consequently, concurrent behaviour is described by enumerating all interleaving firing sequences; so the reachability graph reflects the behaviour of the net according to the interleaving semantics.
Generally, reachability graphs tend to be huge. In the worstcase the state space grows faster than any primitive recursive function (Priese and Wimmel 2003). In our case, the size of the state space depends on the total number of vertices and the number of vertices to be blocked. The state space may explode for DNA walker models because all paths have to be generated which a walker can take. Moreover, the blocking and its failure introduces concurrency, which is analysed by considering all interleaving sequences of the transitions generated by unfolding the coloured transitions block and fail.

A Petri net is kbounded iff there is no node in the reachability graph with a token number larger than k in any place.

A Petri net is reversible iff the reachability graph is strongly connected.

A Petri net is free of dead states iff the reachability graph does not contain terminal nodes, i.e., nodes without outgoing arcs.

In order to decide liveness, the reachability graph has to be partitioned into strongly connected components (SCC), i.e., maximal sets of strongly connected nodes. A SCC is called terminal if no other SCC is reachable in the partitioned graph. A transition is live iff it is included in all terminal SCCs of the partitioned reachability graph. A Petri net is live iff this holds for all transitions.

2bounded: an anchorage can be unblocked (1 token), and host the walker (1 token) at the same time; no more moving tokens do exist;

not reversible: which is an immediate consequence of the “burntbridges” scenario, causing acyclic reachability graphs;

generally, not free of dead states: a walker can be trapped in a nonfinal vertex without any neighbouring vertex free to be visited;

not live: while all transition can occur once in some behaviour, none of them will ever have a chance to fire twice in the “burntbridges” scenario.
For a given net, we determine these properties by help of Charlie (Heiner et al. 2015) or Marcie (Heiner et al. 2013). Charlie provides a traditional implementation, which works fine up to about 500,000 states (on current computer technique), while Marcie applies symbolic data structures, which substantially postpone the situation where the size of the state space exceeds the available memory.
Having validated our qualitative Petri nets, we are ready for the next step—the stochastic analysis. Standard stochastic Petri nets fulfilling the Markov property share the reachability graph with its underlying qualitative Petri net. Thus, all qualitative properties are still valid, but their interpretation can be refined by taking probabilities into consideration.
Our application scenario requires immediate transitions, which brings us to Generalised Stochastic Petri Nets (GSPN). Immediate transitions always fire with highest priority. With other words, if an immediate transition and a stochastic transition are concurrently enabled, then in the stochastic setting, only one firing sequence is considered (with the immediate transition firing first), while in the qualitative, timefree setting two firing sequences are considered (immediate—stochastic, stochastic—immediate). Consequently, the reachability graph induced by a GSPN is generally a proper subgraph of its underlying qualitative Petri net, which in turn means that a property relying on a given path in the reachability graph may not hold anymore in a specific subgraph. For example, a dead state, reachable in the qualitative Petri net, is not necessarily reachable in the stochastic setting. In contrast, if the qualitative Petri net is free of dead states, then this holds for the GSPN as well.
To clarify the situation, we need to deploy stochastic analysis techniques, discussed in the next section.
4.2 Stochastic analysis
We analyse the probabilistic behaviour of DNA walker by means of simulative model checking (Rohr 2017). We start with recalling some properties defined in Dannenberg (2016), before extending the analysis by additional properties.
First, we investigate the transient behaviour of the walker circuits, e.g., how likely it is to have reached some state at a certain time point. This can be achieved by probabilistic model checking using the Continuous Stochastic Logic (CSL) (Baier et al. 2000). It is a stochastic adaptation of the Computation Tree Logic (CTL) (Clarke et al. 2001) to formulate properties over Continuoustime Markov Chains (CTMCs).
In the second part of our stochastic analysis we want to observe derived measures, also called reward, cost, observer, gain or bonus. Hence, we add an extra dimension to the CTMC and while moving on in time, it accumulates an output. In order to realise this, a reward structure \((\underline{\rho },{\varvec{\iota }})\) is added to the CTMC. The state reward function \(\underline{\rho }:{\mathcal {R}}\rightarrow {\mathbb {R}}^{+}_{0}\,\) defines the rate at which reward \(\underline{\rho }(s)\) is obtained in state s. That means a reward of \(\tau \cdot \underline{\rho }(s)\) is earned, if the CTMC stays in state s for \(\tau \) time units. The impulse reward function \({\varvec{\iota }}:{\mathcal {R}}\times {\mathcal {R}}\rightarrow {\mathbb {R}}^{+}_{0}\,\) assigns to each transition t from state s to \(s'\) a reward \({\varvec{\iota }}(s,s')\), i.e., a reward \({\varvec{\iota }}(s,s')\) is acquired, if transition t fires. Having this, we can perform reward analysis by applying the CSL reward extensions (Kwiatkowska et al. 2007), e.g., what is the expected accumulated reward after some time. For example, rewards can be used to analyse the behaviour of transitions in terms of firing occurrences, which can be accumulated by a class of transitions.
Last but not least, we conduct performability analysis by use of the Continuous Stochastic Reward Logic (CSRL) (Haverkort et al. 2002), which is a superset of CSL. It combines the temporal logic formulas of CSL with a reward function, and the temporal logic operators have an additional reward interval. Now it is possible to reason about the probability to have reached some state at a certain time point and with respect to an interval on the accumulated reward.
4.2.1 Transient analysis
We consider four properties for transient analysis and use the same time bound \(\tau = 12{,}000\,{\mathrm{s}}\) for all properties, this corresponds to 200 min.
4.2.2 Reward analysis
Observing derived measures requires the definition of a reward function that extends the CTMC by another dimension. One such measure is the accumulated number of steps n taken by a DNA walker on its way from the initial anchorage to a final anchorage. This is a discrete random variable, because the DNA walker randomly chooses steps of different length at each anchorage, except for the final anchorage. The number of steps a walker takes on its path can be computed by the impulse reward function \({\varvec{\iota }}_{{ steps}}\) defined by the following reward structure:
4.2.3 Performability analysis
4.2.4 Case study
Second we compute the expected number of steps according to Eq. (11) for the two layouts in Fig. 9. For the naive layout, the expected number of steps of one path averaged over all possible input values is 15.59, while it is for the optimised layout 16.02. The slightly higher value for the optimised layout can be explained by the longer tracks and the higher number of vertices.
Expected reward averaged over all possible input values for the naive layout in Fig. 9a
Short  Medium  Long  \(\varSigma \)  

Track  9.897  0.282  0.202  10.354 
Fork  1.694  0.163  0.172  2.029 
Join  1.208  0.139  0.168  1.515 
Leak  0.483  0.189  0.311  0.983 
Expected reward averaged over all possible input values for the optimised layout in Fig. 9b
Short  Medium  Long  \(\varSigma \)  

Track  10.693  0.354  0.253  11.300 
Fork  1.669  0.183  0.206  2.058 
Join  1.286  0.170  0.170  1.626 
Leak  0.114  0.135  0.195  0.444 
4.2.5 Design tradeoff

Objective 1: reduce number of leakage transitions (as more leakage transitions increase the probability of getting the wrong result).

Objective 2: reduce length of tracks (as longer tracks increase the deadlock probability).
5 Conclusions
In this paper we have reported a novel technique for the 2D modelling of DNA walker circuits using coloured stochastic Petri nets which enables functionality, topology and dimensionality all to be integrated in one twodimensional model.
The move to coloured Petri nets not only brings a concise representation, but even more importantly a high degree in flexibility with respect to the topology of the anchorages and distance measures of the walker steps, both can be adjusted on the modelling level, no programming required. The anchorages to be blocked are automatically derived from the given input values (true or false) for all parameters of the given Boolean function, this is less error prone than setting them manually.
In terms of technology, the coloured approach enables construction of concise templated models which can be robustly expanded using standard mechanisms built into coloured Petri net tools. Other approaches require individually handcoded programs for translating circuit descriptions into SPN models (Barbot and Kwiatkowska 2015) or PRISM models (Dannenberg et al. 2015).
The concept of immediate transitions as in Petri nets does not exist in the PRISM language, thus it has to be approximated by very high transition rates, which increase the stiffness of the system and may cause numerical issues.
Automatic identification of leakage transitions is a relevant problem, which has remained unsolved until this research. We classify transitions between anchorages into short, medium and long distance categories, which enables a finegrained analysis of the behaviour of the model. We present an algorithm for the automatic identification of leakage transitions, exploiting the unfolding of the coloured Petri net model. Leakage transitions are classified according to the used distance measure. Our algorithm is innovative, flexible and works for any kind of topologies and distance measures. The identification/classification of leakage transitions is merely a qualitative analysis technique and thus less expensive than CTMC based analysis. We show how advanced stochastic analysis including impulse rewards and performability analysis based on simulative CSRL model checking can be deployed to explore the stochastic behaviour of DNA circuit models. To the best of our knowledge this technique is not supported by other tools so far.
We illustrate the application of these techniques to compare the performance of two alternative layouts for an example DNA walker circuit. The results confirm that leakage can be reduced by employing a circuit layout topology that increases the distance between any two anchorages potentially permitting leakage transitions. An implication of this is that leakage reduction involves increasing the area of the circuit for a given number of anchorages. Since one goal of DNA circuit design is to minimise circuit area, the ability to identify leakage transitions is an important step in the process of optimising DNA circuit layouts, taking into account minimisation of both the computational error and area of circuits. Moreover, the use of multidimensional models opens the way to multidimensional model checking along the lines of Pârvu and Gilbert (2014).
Notes
Acknowledgements
We would like to thank Benoît Barbot for providing the Petri net files for all case studies and the program source to generate them as used in Barbot and Kwiatkowska (2015).
References
 Baier C, Haverkort B, Hermanns H, Katoen JP (2000)Model checking continuoustime Markov chains by transient analysis. In: Proc. CAV 2000. LNCS 1855. Springer, pp 358–372Google Scholar
 Barbot B, Kwiatkowska M (2015) On quantitative modelling and verification of DNA walker circuits using stochastic Petri nets. In: Proc. PETRI NETS 2015. LNCS, vol 9115. Springer, pp 1–32 (2015)Google Scholar
 Bath J, Green SJ, Turberfield AJ (2005) A freerunning DNA motor powered by a nicking enzyme. Angew Chem 117(28):4432–4435CrossRefGoogle Scholar
 Blätke M, Heiner M, Marwan W (2015) BioModel engineering with Petri nets. Elsevier, Amsterdam, pp 141–193Google Scholar
 Boemo M, Lucas A, Turberfield A, Cardelli L (2016) The formal language and design principles of autonomous DNA walker circuits. ACS Synth Biol 5:878–884CrossRefGoogle Scholar
 Chen YJ, Dalchau N, Srinivas N, Phillips A, Cardelli L, Soloveichik D, Seelig G (2013) Programmable chemical controllers made from DNA. Nat Nanotechnol 8(10):755–762CrossRefGoogle Scholar
 Clarke EM, Grumberg O, Peled D (2001) Model checking. MIT Press, CambridgeCrossRefGoogle Scholar
 Cormen T, Leiserson C, Rivest R, Stein C (2001) Introduction to algorithms, 2nd edn. MIT Press, CambridgezbMATHGoogle Scholar
 Dannenberg F (2016) Modelling and verification for DNA nanotechnology. PhD thesis, Oxford University, Balliol CollegeGoogle Scholar
 Dannenberg F, Kwiatkowska M, Thachuk C, Turberfield A (2015) DNA walker circuits: computational potential, design, and verification. Nat Comput 14(2):195–211MathSciNetCrossRefzbMATHGoogle Scholar
 Gilbert D, Heiner M, Lehrack S (2007) A unifying framework for modelling and analysing biochemical pathways using Petri nets. In: Proc. CMSB 2007. LNCS/LNBI, vol 4695. Springer, pp 200–216Google Scholar
 Gilbert D, Heiner M, Liu F, Saunders N (2013) Colouring space—a coloured framework for spatial modelling in systems biology. In: Colom J, Desel J (eds) Proc. PETRI NETS 2013, LNCS, vol 7927. Springer, pp 230–249Google Scholar
 Haverkort B, Cloth L, Hermanns H, Katoen JP, Baier C (2002) Model checking performability properties. IEEE Computer Society Press, Washington, DC, pp 103–112zbMATHGoogle Scholar
 Heiner M, Gilbert D (2013) Biomodel engineering for multiscale systems biology. Prog Biophys Mol Biol 111(2–3):119128. https://doi.org/10.1016/j.pbiomolbio.2012.10.001 Google Scholar
 Heiner M, Gilbert D, Donaldson R (2008) Petri nets in systems and synthetic biology. In: SFM. LNCS, vol 5016. Springer, pp 215–264Google Scholar
 Heiner M, Lehrack S, Gilbert D, Marwan W (2009) Extended stochastic Petri nets for modelbased design of wetlab experiments. In: LNCS/LNBI, vol 5750. Springer, pp 138–163Google Scholar
 Heiner M, Herajy M, Liu F, Rohr C, Schwarick M (2012) Snoopy—a unifying Petri net tool. In: Proc. PETRI NETS 2012, LNCS, vol 7347. Springer, pp 398–407Google Scholar
 Heiner M, Rohr C, Schwarick M (2013) MARCIE—model checking and reachability analysis done efficiently. In: Colom J, Desel J (eds) Proc. PETRI NETS 2013, LNCS, vol 7927. Springer, pp 389–399Google Scholar
 Heiner M, Schwarick M, Wegener J (2015) Charlie—an extensible Petri net analysis tool. In: Proc. Petri nets, LNCS, vol 9115. Springer, pp 200–211Google Scholar
 Jung J, Hyun D, Shin Y (2015) Physical synthesis of DNA circuits with spatially localized gates. In: 2015 33rd IEEE international conference on computer design (ICCD). IEEE, pp 259–265Google Scholar
 Kwiatkowska M, Norman G, Parker D (2007) Stochastic model checking. In: SFM. LNCS, vol 4486. Springer, pp 220–270Google Scholar
 Lakin M, Youssef S, Polo F, Emmott S, Phillips A (2011) Visual DSD: a design and analysis tool for DNA strand displacement systems. Bioinformatics 27(22):3211–3213CrossRefGoogle Scholar
 Liu F, Heiner M, Rohr C (2012) Manual for colored Petri nets in SnoopyGoogle Scholar
 Pârvu O, Gilbert D (2014) Automatic validation of computational models using pseudo3D spatiotemporal model checking. BMC Syst Biol 8(124):1–24Google Scholar
 Phillips A, Cardelli L (2009) A programming language for composable DNA circuits. J R Soc Interface 6(Suppl 4):S419–S436CrossRefGoogle Scholar
 Priese L, Wimmel H (2003) Theoretical informatics—Petri nets. Springer, Berlin (in German)zbMATHGoogle Scholar
 Rohr C (2017) Simulative analysis of coloured extended stochastic Petri nets. PhD thesis, BTU Cottbus, Department of Computer Science (submitted)Google Scholar
 Schwarick M, Rohr C, Heiner M (2016) MARCIE manual. BTU Cottbus, CS InstituteGoogle Scholar
 Wickham S, Endo M, Katsuda Y, Hidaka K, Bath J, Sugiyama H, Turberfield A (2011) Direct observation of stepwise movement of a synthetic molecular transporter. Nat Nanotechnol 6(3):166–169CrossRefGoogle Scholar
 Wickham S, Bath J, Katsuda Y, Endo M, Hidaka K, Sugiyama H, Turberfield A (2012) A DNAbased molecular motor that can navigate a network of tracks. Nat Nanotechnol 7(3):169–173CrossRefGoogle Scholar
 Yin P, Yan H, Daniell XG, Turberfield AJ, Reif JH (2004) A unidirectional DNA walker that moves autonomously along a track. Angew Chem Int Ed 43(37):4906–4911CrossRefGoogle Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.