# Petri Nets Theory And The Modeling Of Systems E...

Like industry standards such as UML activity diagrams, Business Process Model and Notation, and event-driven process chains, Petri nets offer a graphical notation for stepwise processes that include choice, iteration, and concurrent execution. Unlike these standards, Petri nets have an exact mathematical definition of their execution semantics, with a well-developed mathematical theory for process analysis[citation needed].

## Petri Nets Theory and The Modeling of Systems e...

Since firing is nondeterministic, and multiple tokens may be present anywhere in the net (even in the same place), Petri nets are well suited for modeling the concurrent behavior of distributed systems.

One thing that makes Petri nets interesting is that they provide a balance between modeling power and analyzability: many things one would like to know about concurrent systems can be automatically determined for Petri nets, although some of those things are very expensive to determine in the general case. Several subclasses of Petri nets have been studied that can still model interesting classes of concurrent systems, while these problems become easier.

As well as for discrete events, there are Petri nets for continuous and hybrid discrete-continuous processes[14] that are useful in discrete, continuous and hybrid control theory,[15] and related to discrete, continuous and hybrid automata.

There are many extensions to Petri nets. Some of them are completely backwards-compatible (e.g. coloured Petri nets) with the original Petri net, some add properties that cannot be modelled in the original Petri net formalism (e.g. timed Petri nets). Although backwards-compatible models do not extend the computational power of Petri nets, they may have more succinct representations and may be more convenient for modeling.[16] Extensions that cannot be transformed into Petri nets are sometimes very powerful, but usually lack the full range of mathematical tools available to analyse ordinary Petri nets.

Other ways of modelling concurrent computation have been proposed, including vector addition systems, communicating finite-state machines, Kahn process networks, process algebra, the actor model, and trace theory.[27] Different models provide tradeoffs of concepts such as compositionality, modularity, and locality.

The model of Elementary Object System is introduced and motivated by several examples and applications. Object systems support a modeling of systems by Petri nets following the paradigm of Object-Oriented Modeling. They are composed of a System Net and one or more Object Nets which can be seen as token objects of the system net. By this approach an interesting and challenging two-level system modeling technique is introduced. Similar to the object-oriented approach, complex systems are modeled close to their real appearance in a natural way to promote clear and reliable concepts. Applications in fields like work-flow, flexible manufacturing or agent-oriented approaches (mobile agents and/or intelligent agents as in AI research) are feasible. This paper gives an introduction with several examples, but only few definitions and no theorems, which can be found, however, in a more elaborated paper [19].

NWN modeling capabilities. NWN models express (A) multiple hierarchical levels through the concept of net-tokens instantiated into a system-net; (B) encapsulation of model parts and selective communication between them through the use of communication channels between different nets; (C) coexistent and intertwined regulatory layers with different annotations thanks to the possibility for a net-token to be referenced in several system-nets.

A basis for a formal analysis of any system, not only a biological one, is a model expressed in a language of some branch of mathematics. Like in other areas of science and technology, differential equations play an important role also in modelling biological systems. However, in this area they have some serious limitations following, among others, from the fact that usually it is very difficult, or even impossible, to collect all quantitative data characterizing the analyzed system. It follows from the fact that technically it is very hard to measure in a laboratory all parameters describing dozens or hundreds of elementary reactions/processes taken into account in a model. These parameters are necessary in models based on differential equations but are not used in graph-based models since they describe only a structure of the system (which in most cases is crucial for the functionality of biological systems). This is one of the reasons that models based on graph theory are often built and analyzed.

One of the more and more popular approaches to modelling biological systems is based on Petri nets (metabolic pathways, organelles, cells, and drug development2,3). Nets of this type are not graphs but they have a structure of a weighted directed bipartite graph4,5,6.

In the analysis of biological systems there happens that there is a need to compare two or more of them. Such a comparison may lead to, e.g., discovering some important, well conserved subprocesses. There is a lot of methods of graph comparison (e.g. graph distance7, graph edit distance8, maximal common subgraph9), but since Petri nets are not graphs, such methods usually cannot be directly applied to comparisons of models expressed in the language of Petri nets theory. Moreover, there is only few methods for comparison of Petri net-based models of biological systems known in the literature10,11. Since there is a growing popularity of Petri nets in systems biology, there is also a growing need for such methods.

As has been mentioned in the previous section, Petri nets are one of mathematical formalisms which can be used to model and analyze biological systems. They have a structure of a biparted, directed graph with weighted arcs. Formally Petri net can be defined as a 5-tuple \(Q = (T,P,F,W,M_0)\), where:

They are composed of vertices of two kinds, i.e., places and transitions, which can be connected by arcs. Places correspond to passive components of a modelled system, while transitions are counterparts of its active components (i.e., some elementary processes). Arcs describe casual relationships between components of these two types, can join only vertices of different types. Places, transitions and arcs constitute a structure of a Petri net, which is a directed bipartite graph. In fact, this graph is weighted, because arcs are labeled by positive integers called weights. Tokens reside in places and flow through a net via transitions. This flow is governed by the transition firing rule. According to it a transition is active if in every of its pre-places, i.e., these ones which directly precede it, a number of tokens is equal to at least a weight of an arc connecting the place with the transition. An active transition can be fired, what means that tokens flow from its pre-places to its post-place, i.e., those ones which directly succeed the transition. The numbers of flowing tokens are equal to the weights of the respective arcs. The flow of tokens correspond to a flow of substances, signals, information, etc. in the modelled system and it brings a kind of dynamics to Petri nets, which is a great advantage of these nets in comparison to graphs in the context of systems modelling. Unfortunately because of computational limitations those flows are not always available to calculate in large networks.

Few of methods based on graphlets, has been used for comparison of graph models of biological phenomena, however, it has not been used for models expressed in the language of Petri nets theory. Undirected graphlets (for short graphlets) were proposed in Ref.12 in the context of analysis of PPI networks. The general idea of such an analysis was based on a comparison of frequencies of appearance of some subgraphs in an analyzed PPI network with corresponding frequencies in random graphs (some of related research focus on finding induced subgraphs using graphlets, which is not the topic of this paper). The subgraphs whose frequencies were compared in this approach are connected non-isomorphic graphs on n vertices, where n is usually in the range [2, 5]. These graphs are called graphlets12. For \(n\in [2,5]\) there are 30 graphlets (see Fig. 2). The basic measure, called relative graphlet frequency distance, used for comparison of two graphs G and H based on graphlet frequencies is defined in the following way12:

Petri nets were proposed for modelling concurrent, parallel processes and initially used as representation for automata theory problems4. For many years the main area of their applications was computer science or more generally, technical systems, but recently they are more and more often used for modelling and analysis of complex biological systems2,17.

Despite their popularity, there are only two methods for comparison of Petri net-based models of biological systems10,11 (both use matching of invariants or structures based on invariants, and because of that are potentially vulnerable to the state explosion problem18). The reason of this situation can be the fact that it is not an easy task to adapt exact methods of graph comparison to Petri nets. Comparison algorithms for digraphs have higher complexity than their counterparts for undirected graphs. On the other hand, for bipartite graphs there are efficient dedicated methods. For Petri nets both aspects need to be taken under consideration. Because of that, the possibility of exploiting a graphlet-based approach is interesting.

In models of biological systems, the number of transitions is usually slightly grater than the number of places. However, in order to check pn-graphlet behaviour also in less typical nets, in the tests randomly generated Petri nets with greater differences between the numbers of places and transitions were also used. Because small nets are more vulnerable to differences, nets with size from 20 to 100 vertices, incremented by 5, were used in the experiment. For each pair (n, m), where \(n,m \in [10,50]\) are the numbers of places and transitions, respectively, 100 Petri nets were generated. 041b061a72