Membrane Systems and Petri Net Synthesis
(Invited Paper)
Abstract
Automated synthesis from behavioural specifications is an attractive and powerful way of constructing concurrent systems. Here we focus on the problem of synthesising a membrane system from a behavioural specification given in the form of a transition system which specifies the desired state space of the system to be constructed. We demonstrate how a Petri net solution to this problem, based on the notion of region of a transition system, yields a method of automated synthesis of membrane systems from state spaces.
1 Introduction
Membrane systems ([20, 21, 22, 23]) are a computational model inspired by the functioning of living cells and their architecture and in particular, the way chemical reactions take place in cells divided by membranes into compartments. The reactions are abstracted to rules that specify which and how many molecules can be produced from given molecules of a certain kind and quantity. As a result, membrane systems are essentially multiset rewriting systems. The dynamic aspects of the membrane system model including potential behaviour (computations), derive from such evolution rules.
Petri nets (see, e.g., [6, 24, 26]) are a well-established general model for distributed computation with an extensive range of tools and methods for construction, analysis, and verification of concurrent systems. Their diverse applications areas include computational and operational foundations for problems and issues arising in biology; see for example, [16], for a recent comprehensive overview of applications of Petri nets in systems biology.
There are intrinsic similarities between Petri nets and membrane systems. In particular, there exists a canonical way of translating membrane systems into Petri nets. This translation is faithful in the sense that it relates computation steps at the lowest level and induces in a natural way (sometimes new) extensions and interpretations of Petri net structure and behaviour (e.g., inhibitor arcs, localities, and maximal concurrency). More details on the relationship between Petri nets and membrane systems can be found in, e.g., [10, 15].
The strong semantical link between the two models invites to extend where necessary and possible existing Petri net techniques and bring them to the domain of membrane systems. An example is the process semantics of Petri nets that can help to understand the dynamics and causality in the biological evolutions represented by membrane systems [9, 13]. In this paper, we focus on the synthesis problem, that is, the problem of automated construction of a system from a specification of its (observed or desired) behaviour.
Automated synthesis from behavioural specifications is an attractive and powerful way of constructing correct concurrent systems [2, 3, 5, 7, 8, 19, 25]. Here we will re-visit the problem of synthesising a Petri net from a behavioural specification given in the form of a transition system. The latter specifies the desired state space of the Petri net to be constructed. We will recall a solution to this problem based on the notion of region of a transition system. We will then demonstrate how this solution leads to a method of automated synthesis of basic membrane systems from state spaces. We also discuss how the proposed method could be extended to cope with more complicated kinds of membrane systems.
2 Preliminaries
Multisets.
A multiset over a finite set is a function . may be represented by listing its elements with repetitions, e.g., is such that , , and otherwise. is said to be empty (and denoted by ) if there are no such that by which we mean that and .
For two multisets and over , the sum is the multiset given by for all , and for the multiset is given by for all . The difference is given by for all . We denote whenever for all , and whenever and . The restriction of to a subset is given by for , and otherwise. The size of is given by . If is a function then is the multiset over such that , for every .
Step transition systems.
A step transition system over a finite set (of actions) is a triple , where: is a set of nodes called states; is the set of arcs, each arc being a triple such that are states and is a multiset over ; and is the initial state. We may write whenever is an arc, and denote by
the set of nonempty steps enabled at a state in . We additionally assume that:
-
•
if and then (i.e., is deterministic);
-
•
for every state , there is a path from leading to ;
-
•
for every action , there is an arc in such that ; and
-
•
for every state , we have iff .
Let be a step transition system over a set of actions , and be a step transition system over a set of actions . and are isomorphic if there are two bijections, and , such that and, for all states and multisets over :
We denote this by or .
Petri nets.
A Place/Transition net (or pt-net) is specified as a tuple , where: and are finite disjoint sets of respectively places and transitions; is the arc weight function; and is the initial marking (in general, any multiset of places is a marking). We assume that, for each transition , there is at least one place such that . In diagrams, such as that in Figure 1, places are drawn as circles, and transitions as boxes. If , then is an arc leading from to . An arc is annotated with its weight if the latter is greater than one. A marking is represented by drawing in each place exactly tokens (small black dots).
A step of is a multiset of transitions. Its pre-multiset and post-multiset of places, and , are respectively given by
for each place . For the pt-net in Figure 1 we have:
We distinguish two basic modes of execution of pt-nets. To start with, a step of transitions is free-enabled at a marking if . We denote this by , and then say that a free-enabled is max-enabled at if cannot be extended by a transition to yield a step which is free-enabled at , i.e., there is no such that . We denote this by . In other words, is free-enabled at if in each place there are sufficiently many tokens for the specified multiple occurrence of each of its transitions. Maximal concurrency (max-enabledness) means that extending would demand more tokens than supplies. For the pt-net in Figure 1 we have that, at the given marking , the step is free-enabled but not max-enabled, and is max-enabled.
For each mode of execution , a step which is -enabled at a marking can be -executed leading to the marking given by . We denote this by . For the pt-net in Figure 1 we have
Petri nets with localities.
pt-nets are a general model of concurrent computation. To capture the compartmentisation of membrane systems, [13] adds explicit localities to transitions. Though not necessary from a modelling point of view, we associate in this paper — only for notational convenience — also each place with a locality.
A pt-net with localities (or ptl-net) is a tuple such that is a pt-net, and is a location mapping for the transitions and places. Whenever , we call and co-located. In diagrams, nodes representing co-located transitions and/or places will be shaded in the same way, as shown in Figure 2.
Co-locating transitions leads to one more way of enabling for steps of transitions. We say that a step of is lmax-enabled at a marking if and cannot be extended by a transition co-located with a transition in to yield a step which is free-enabled at ; i.e., there is no such that and . We denote this by , and then denote the lmax-execution of by , where . Note that locally maximal (lmax) concurrency is similar to maximal concurrency, but now only active localities111 By active localities of a step we mean the localities of transitions present in . cannot execute further transitions. For the ptl-net in Figure 2 we have that is lmax-enabled at the given marking, but is not.
Let be a mode of execution of a ptl-net . Then an -step sequence is a finite sequence of -executions starting from the initial marking, and an -reachable marking is any marking resulting from the execution of such a sequence. Moreover, the -concurrent reachability graph of is the step transition system:
where is the set of all -reachable markings which are the nodes of the graph; is the initial node; and the arcs between the nodes are labelled by -executed steps of transitions. Concurrent reachability graphs provide complete representations of the dynamic behaviour of ptl-nets evolving according to the chosen mode of execution.
Membrane structures.
A membrane structure (of degree ) is given by a rooted tree with nodes identified with the integers . We will write or to indicate that there is an edge from (parent) to (child) in the tree of , and means that is a node of . The nodes of a membrane structure represent nested membranes which in turn determine compartments (compartment is enclosed by membrane and lies in-between and its children, if any), as shown in Figure 3.
We will say that a ptl-net is spanned over the membrane structure if and the following hold, for all and :
-
•
if then ; and
-
•
if then or or .
The ptl-net of Figure 2 is spanned over the membrane structure depicted in Figure 3.
Basic membrane systems.
Let be a finite alphabet of names of objects (or molecules) and let be a membrane structure of degree . A basic membrane system (over and ) is a tuple
such that, for every membrane , is a multiset of objects from , and is a finite set of evolution rules associated with membrane (compartment) . Each evolution rule is of the form , where (the left hand side of ) is a nonempty multiset over , and (the right hand side of ) is a multiset over
Here a symbol represents an object that is sent to a child node (compartment) and means that is sent to the parent node. If is the root of then no indexed object of the form belongs to . A configuration of is a tuple
of multisets of objects, and is the initial configuration. Figure 4 shows a basic membrane system over the membrane structure depicted in Figure 3.
A membrane system evolves from configuration to configuration as a consequence of the application of evolution rules. There are different execution modes ranging from fully synchronous — as many applications of rules as possible — to sequential — a single application of a rule at a time. Here, similarly as in the case of ptl-nets, we distinguish three modes, all based on the notion of a vector multi-rule.
A vector multi-rule of is a tuple where, for each membrane of , is a multiset of rules from . For such a vector multi-rule, we denote by the multiset
in which all objects in the left hand sides of the rules in are accumulated, and by the multiset
of all (indexed) objects in the right hand sides. The first multiset specifies how many objects are needed in each compartment for the simultaneous execution of all the instances of evolution rules in .
A vector multi-rule of is
-
•
free-enabled at a configuration if , for each .
Moreover, a free-enabled vector multi-rule is:
-
•
max-enabled if no can be extended to a vector multi-rule which is free-enabled at ; and
-
•
lmax-enabled if no nonempty can be extended to a vector multi-rule which is free-enabled at .
For example, in Figure 4,
-
•
is not free-enabled;
-
•
is lmax-enabled but not max-enabled; and
-
•
is max-enabled.
If is free-enabled () at a configuration , then has in each membrane enough copies of objects for the application of the multiset of evolution rules . Maximal concurrency () requires that adding any extra rule makes demand more objects than can provide. Locally maximal concurrency () is similar but in this case only those compartments which have rules in cannot enable any more rules; in other words, each compartment either uses no rule, or uses a maximal multiset of rules.
The effect of the rules is independent of the mode of execution . A vector multi-rule which is -enabled at can -evolve to a configuration such that, for each and object :
where if is the root of . We denote this by . Moreover, an -computation is a finite sequence of -evolutions starting from the initial configuration; any configuration which can be obtained through such a computation is called -reachable. For the basic membrane system depicted in Figure 4 we have, for example:
Let be a mode of execution of a basic membrane system . Then the -concurrent reachability graph of is given by:
where is the set of all -reachable configurations which are the nodes of the graph; is the initial node; and the arcs between the nodes are labelled by multisets of evolution rules involved in the -executed vector multi-rules.222 Though it may be that rules from different membranes are the same in terms of the multisets defining their left hand and right hand sides, we assume here that evolution rules associated with different membranes can be distinguished, e.g., by giving them each their own name (an injective label). Similarly as in the case of ptl-nets, concurrent reachability graphs capture completely the dynamic behaviour of basic membrane system evolving according to the chosen mode of execution.
3 Membrane Systems and Petri Nets
There is a natural way of translating a basic membrane system over a membrane structure into a behaviourally equivalent ptl-net spanned over the same membrane structure. In the constructed net, places represent objects present inside compartments, and transitions represent evolution rules. Both places and transitions are associated with membranes and this information is represented by the location mapping.
The constructed ptl-net has a separate place with , for each object and membrane , and a separate transition with , for each rule in compartment .
The initial marking inserts tokens into each place . The connectivity between transition and place is given by:
as well as:
Figure 2 shows the result of the above translation for the basic membrane system in Figure 4. Note that it immediately follows from the construction that the ptl-net is spanned over .
The ptl-net provides a faithful representation of the behaviour of the basic membrane system . To capture this very close relationship, we define two bijective mappings, and , which allow us to move between and :
-
•
for every marking of , is the configuration of given by , for every object and every .
-
•
for every step of , is the vector multi-rule of given by , for every rule and every .
It is then possible to establish a direct relationship between (the operation of) the original membrane system and the ptl-net resulting from the above translation at the system level:
| (1) |
for all modes of execution , configurations of and markings of . Together with , this result means that the -step sequences of faithfully represent -computations of , and the same applies to markings and configurations. Crucially, we obtain
Theorem 1
For each ,
where the mapping is defined as above, and , for every transition of .
The above theorem captures the very tight behavioural correspondence between and , allowing to apply analytical techniques developed for Petri nets in the analysis of membrane systems. For example, one can employ the invariant analysis based on linear algebra [27], or use the causality semantics approach of Petri nets based on occurrence nets, as first outlined in [13]. In this paper, we show how techniques used to synthesise Petri nets could be employed in order to construct basic membrane systems from their intended behaviours as represented by step transition systems. First, however, we provide a translation from ptl-nets spanned over membrane structures to basic membrane systems.
Let be a ptl-net spanned over a membrane structure . For such a ptl-net, we construct the corresponding basic membrane system over in the following way:
-
•
is the set of objects;
-
•
the initial configuration is where, for every marking of ,
-
•
each transition with has a corresponding evolution rule of the form where, for ,
-
•
for each membrane , the set of evolution rules is given by .
Again, the translation results in a very close behavioural correspondence.
Theorem 2
For each ,
where the mappings and are defined as above.
It follows from Theorems 1 and 2 that the problem of synthesis of basic membrane systems from step transition systems is equivalent to the problem of synthesis of ptl-nets spanned over membrane structures. It therefore suffices to solve the latter, and in the next section we describe a solution based on the notion of a region of a step transition system.
4 Synthesising nets corresponding to membrane systems
The Petri net synthesis problem we consider is formulated as follows.
Problem 1
Given are a finite set , a membrane structure , a mapping
,
,
and which is a finite step transition system over .
Construct a ptl-net spanned
over
such that , and is an extension of
the mapping defined for .
As demonstrated in [5], synthesis problems like Problem 1 can be solved using techniques coming from the theory of regions of transition systems (see, e.g., [2, 8, 19]). Intuitively, a region represents a single place in a hypothetical net generating the given transition system. Regions are used both to check whether a net satisfying the conditions can be constructed and, if the answer turns out to be positive, to construct such net.
In this particular case, a region of the step transition system consists of three mappings
| (2) |
such that, for every arc of ,
| (3) |
Here and similarly . In a region of the form (2) representing a place , is the number of tokens in in the marking corresponding to the node , represents the weight of the arc from to transition , and represents the weight of the arc from to . It is then natural to require in (3) that contains enough tokens not to block a step executed at , and also to ensure that the number of tokens in before and after executing is consistent with the total arc weight of the step in relation to .
In the case of Problem 1, one also needs to take into account the fact that the target ptl-net must be spanned over . This imposes additional constraints on allowed regions (places) and the location mapping . We call a region as in (2) with a location compatible with the membrane structure if the following hold, for every :
-
•
if then ; and
-
•
if then or or .
The set of all such regions will be denoted by . Note that if is such that , for at least one , then is uniquely determined; otherwise we always choose to be the membrane which is higher up in the tree structure of than any other suitable candidate. As a result, we can leave implicit.
Finally, Problem 1 should be feasible in the sense that the transition system can be realised by a suitable net. There are two necessary and sufficient conditions for realisability (see [5, 18]):
-
•
state separation: for every pair of distinct states of the transition system there is a region (a marked place) distinguishing between them; and
-
•
forward closure: there are sufficiently many places defined by regions of the transition system to disallow steps not present in the transition system.
First we describe how all places can be found that potentially provide a solution to Problem 1; in other words, all the regions (2) of the transition system which are compatible with .
Finding compatible regions.
Let , , and be as in Problem 1. Assume that and . We use three vectors of non-negative variables:
We also denote and define a homogeneous linear system
where denotes and similarly for .
The regions (2) of are then determined by the integer solutions of the system assuming that, for and ,
The set of rational solutions of forms a polyhedral cone in . As described in [4], one can effectively compute finitely many integer generating rays of this cone such that any integer solution of can be expressed as a linear combination of the rays with non-negative rational coefficients:
Such rays are fixed and (some of them) turned into net places if Problem 1 has a solution. More precisely, if is included in the constructed net, then
| (4) |
where is the initial marking of the target net, and .
Clearly, not all such rays can be considered for the inclusion in the net being constructed, as the corresponding regions have to be compatible with . We therefore ensure through a simple check that the generating rays are compatible with , deleting in the process those which are not. Note that any is a non-negative linear combination of rays compatible with .
Having found the generating rays compatible with , we proceed to check whether Problem 1 has any solutions at all.
Checking state separation.
Checking forward closure.
Again, let be as in Problem 1, and . First, we take in turn each state of , and calculate the set of region enabled steps, denoted by . Intuitively, region enabled steps are those that cannot be disabled (or blocked) by compatible regions.
To build one only needs to consider nonempty steps with , where is the maximum size of steps labelling arcs in , and is the number of membranes of . The reason is that, for each membrane there exists a compatible region (called a witness) such that and, for every ,
Taken together, all such regions block any step with .
For each nonempty step with it is the case that iff for some with coefficients we have . Since the latter is equivalent to
one simply checks whether there exists at least one (again called a witness) such that .
Having determined the region enabled steps, in order to establish forward closure we need to verify that, for every state ,
Constructing the solution net.
5 Concluding remarks
We have described how one can adapt a solution to the Petri net synthesis problem based on regions of step transition systems, so that the resulting method can be used to construct basic membrane systems with a specific behaviour. Moreover, there are other synthesis results developed for Petri nets which can be employed to extend the proposed solution in several directions, two of which are briefly mentioned below.
In Problem 1 it is assumed that the association of transitions with membranes is given. This can be relaxed and one can aim at synthesising membrane systems without such an association, or even without being given a membrane structure (in such a case, the synthesis procedure should construct a membrane structure as well). For such a modification, there already exist results which can be used to develop a solution. More precisely, the method of ‘discovering’ localities in [18] works for ptl-nets with localised conflicts (where transitions which share an input place are co-located). Since all ptl-nets spanned over membrane structures have localised conflicts, the result in [18] can be adapted to work for basic membrane systems.
Evolution rules of membrane systems are often equipped with promoters and inhibitors. Both features have direct counterparts in Petri nets in the form of activator and inhibitor arcs, and suitable translations between membrane systems and Petri nets can be developed as described in [10, 15]. Moreover, the synthesis technique based on regions of step transition systems works also for ptl-nets extended with activator and inhibitor arcs [17]. In fact, there is a general setting of so-called -nets and corresponding -regions [2, 5]. Here the parameter is a general and convenient way of capturing different types of connections (arcs and their combinations) between places and transitions, removing the need to re-state and re-prove the key results every time a new kind arcs is introduced. Note that the recently introduced set-nets [14, 15] (with qualitative rather than quantitative resource management) and set membrane systems [11] can be treated within the general theory of -net synthesis based on regions of transition systems [12].
Acknowledgements
This paper is based on an invited talk presented at the 6th Workshop on Membrane Computing and Biologically Inspired Process Calculi (MeCBIC), 8th September 2012, Newcastle upon Tyne, United Kingdom. The reported research was supported by the Epsrc Gaels project.
References
- [1]
- [2] E.Badouel and Ph.Darondeau: Theory of Regions. In: Reisig, W., Rozenberg, G. (eds.): Lectures on Petri Nets I: Basic Models, Advances in Petri Nets. Lecture Notes in Computer Science 1491. Springer-Verlag, Berlin Heidelberg New York (1998) 529–586, 10.1007/3-540-65306-6_22
- [3] L.Bernardinello: Synthesis of Net Systems In: Marsan, M.A. (ed.): Application and Theory of Petri Nets 1993. Lecture Notes in Computer Science 691. Springer-Verlag, Berlin Heidelberg New York (1993) 89–105, 10.1007/3-540-56863-8_42
- [4] N.Chernikova: Algorithm for Finding a General Formula for the Non-negative Solutions of a System of Linear Inequalities. USSR Computational Mathematics and Mathematical Physics 5 (1965) 228–233
- [5] P.Darondeau, M.Koutny, M.Pietkiewicz-Koutny and A.Yakovlev: Synthesis of Nets with Step Firing Policies. Fundamenta Informaticae 94 (2009) 275–303
- [6] J.Desel and G.Juhas: What Is a Petri Net? Lecture Notes in Computer Science 2128, Springer-Verlag (2001) 1–25, 10.1007/3-540-45541-8_1
- [7] J.Desel and W.Reisig: The Synthesis Problem of Petri Nets. Acta Informatica 33 (1996) 297–315, 10.1007/s002360050046
- [8] A.Ehrenfeucht and G.Rozenberg: Partial 2-structures; Part I: Basic Notions and the Representation Problem, and Part II: State Spaces of Concurrent Systems. Acta Informatica 27 (1990) 315–368, 10.1007/BF00264611, 10.1007/BF00264612
- [9] J.Kleijn and M.Koutny: Processes of Membrane Systems with Promoters and Inhibitors. Theoretical Computer Science 404 (2008) 112–126, 10.1016/j.tcs.2008.04.006
- [10] J.Kleijn and M.Koutny: Petri Nets and Membrane Computing. In: [23] (2010) 389–412
- [11] J.Kleijn and M.Koutny: Membrane Systems with Qualitative Evolution Rules. Fundamenta Informaticae 110 (2011) 217–230, 10.3233/FI-2011-539
- [12] J.Kleijn, M.Koutny, M.Pietkiewicz-Koutny and G.Rozenberg: Step Semantics of Boolean Nets. Acta Informatica (2012), 10.1007/s00236-012-0170-2
- [13] J.Kleijn, M.Koutny and G.Rozenberg: Process Semantics for Membrane Systems. Journal of Automata, Languages and Combinatorics 11 (2006) 321–340
- [14] J.Kleijn, M.Koutny and G.Rozenberg: Modelling Reaction Systems with Petri Nets. BioPPN 2011, CEUR Workshop Proceedings, 724 2011 36–52
- [15] J.Kleijn, M.Koutny and G.Rozenberg: Petri Nets for Biologically Motivated Computing. Scientific Annals of Computer Science 21 (2011) 199–225
- [16] I.Koch, W.Reisig and F.Schreiber: Modeling in Systems Biology — The Petri Net Approach. Springer Verlag (2010)
- [17] M.Koutny and M.Pietkiewicz-Koutny: Synthesis of Elementary Net Systems with Context Arcs and Localities. Fundamenta Informaticae 88 (2008) 307–328
- [18] M.Koutny and M.Pietkiewicz-Koutny: Synthesis of Petri Nets with Localities. Scientific Annals of Computer Science 19 (2009) 1–23
- [19] M.Mukund: Petri Nets and Step Transition Systems. International Journal of Foundations of Computer Science 3 (1992) 443–478, 10.1142/S0129054192000231
- [20] G.Păun: Computing with Membranes. J. Comput. Syst. Sci. 61 (2000) 108–143, 10.1006/jcss.1999.1693
- [21] G.Păun: Membrane Computing, An Introduction. Springer-Verlag, Berlin Heidelberg New York (2002)
- [22] G.Păun and G.Rozenberg: A Guide to Membrane Computing. Theoretical Computer Science 287 (2002) 73–100, 10.1016/S0304-3975(02)00136-6
- [23] G.Păun, G.Rozenberg and A.Salomaa: The Oxford Handbook of Membrane Computing. Oxford University Press (2010)
- [24] C.A.Petri: Kommunikation mit Automaten. PhD Thesis (1962)
- [25] M.Pietkiewicz-Koutny: The Synthesis Problem for Elementary Net Systems with Inhibitor Arcs. Fundamenta Informaticae 40 (1999) 251–283
- [26] W.Reisig and G.Rozenberg (eds.): Lectures on Petri Nets. Lecture Notes in Computer Science 1491,1492 (1998), 10.1007/3-540-65306-6_19
- [27] M.Silva, E.Teruel and J.M.Colom: Linear Algebraic and Linear Programming Techniques for the Analysis of Place/Transition Net Systems. Lecture Notes in Computer Science, Springer-Verlag 1491 (1998) 309–373, 10.1007/3-540-65306-6_19