2,271 research outputs found
Encoding Higher Level Extensions of Petri Nets in Answer Set Programming
Answering realistic questions about biological systems and pathways similar
to the ones used by text books to test understanding of students about
biological systems is one of our long term research goals. Often these
questions require simulation based reasoning. To answer such questions, we need
formalisms to build pathway models, add extensions, simulate, and reason with
them. We chose Petri Nets and Answer Set Programming (ASP) as suitable
formalisms, since Petri Net models are similar to biological pathway diagrams;
and ASP provides easy extension and strong reasoning abilities. We found that
certain aspects of biological pathways, such as locations and substance types,
cannot be represented succinctly using regular Petri Nets. As a result, we need
higher level constructs like colored tokens. In this paper, we show how Petri
Nets with colored tokens can be encoded in ASP in an intuitive manner, how
additional Petri Net extensions can be added by making small code changes, and
how this work furthers our long term research goals. Our approach can be
adapted to other domains with similar modeling needs
On functional module detection in metabolic networks
Functional modules of metabolic networks are essential for understanding the metabolism of an organism as a whole. With the vast amount of experimental data and the construction of complex and large-scale, often genome-wide, models, the computer-aided identification of functional modules becomes more and more important. Since steady states play a key role in biology, many methods have been developed in that context, for example, elementary flux modes, extreme pathways, transition invariants and place invariants. Metabolic networks can be studied also from the point of view of graph theory, and algorithms for graph decomposition have been applied for the identification of functional modules. A prominent and currently intensively discussed field of methods in graph theory addresses the Q-modularity. In this paper, we recall known concepts of module detection based on the steady-state assumption, focusing on transition-invariants (elementary modes) and their computation as minimal solutions of systems of Diophantine equations. We present the Fourier-Motzkin algorithm in detail. Afterwards, we introduce the Q-modularity as an example for a useful non-steady-state method and its application to metabolic networks. To illustrate and discuss the concepts of invariants and Q-modularity, we apply a part of the central carbon metabolism in potato tubers (Solanum tuberosum) as running example. The intention of the paper is to give a compact presentation of known steady-state concepts from a graph-theoretical viewpoint in the context of network decomposition and reduction and to introduce the application of Q-modularity to metabolic Petri net models
A technique for detecting wait-notify deadlocks in Java
Deadlock analysis of object-oriented programs that dynamically create threads and objects is complex, because these programs may have an infinite number of states.
In this thesis, I analyze the correctness of wait - notify patterns (e.g. deadlock freedom) by using a newly introduced technique that consists in an analysis model that is a basic concurrent language with a formal semantic. I detect deadlocks by associating a Petri Net graph to each process of the input program. This model allows to check if a deadlock occur by analysing the reachability tree.
The technique presented is a basic step of a more complex and complete project, since in my work I only consider programs with one object
Algorithmic Verification of Asynchronous Programs
Asynchronous programming is a ubiquitous systems programming idiom to manage
concurrent interactions with the environment. In this style, instead of waiting
for time-consuming operations to complete, the programmer makes a non-blocking
call to the operation and posts a callback task to a task buffer that is
executed later when the time-consuming operation completes. A co-operative
scheduler mediates the interaction by picking and executing callback tasks from
the task buffer to completion (and these callbacks can post further callbacks
to be executed later). Writing correct asynchronous programs is hard because
the use of callbacks, while efficient, obscures program control flow.
We provide a formal model underlying asynchronous programs and study
verification problems for this model. We show that the safety verification
problem for finite-data asynchronous programs is expspace-complete. We show
that liveness verification for finite-data asynchronous programs is decidable
and polynomial-time equivalent to Petri Net reachability. Decidability is not
obvious, since even if the data is finite-state, asynchronous programs
constitute infinite-state transition systems: both the program stack and the
task buffer of pending asynchronous calls can be potentially unbounded.
Our main technical construction is a polynomial-time semantics-preserving
reduction from asynchronous programs to Petri Nets and conversely. The
reduction allows the use of algorithmic techniques on Petri Nets to the
verification of asynchronous programs.
We also study several extensions to the basic models of asynchronous programs
that are inspired by additional capabilities provided by implementations of
asynchronous libraries, and classify the decidability and undecidability of
verification questions on these extensions.Comment: 46 pages, 9 figure
Integrated Structure and Semantics for Reo Connectors and Petri Nets
In this paper, we present an integrated structural and behavioral model of
Reo connectors and Petri nets, allowing a direct comparison of the two
concurrency models. For this purpose, we introduce a notion of connectors which
consist of a number of interconnected, user-defined primitives with fixed
behavior. While the structure of connectors resembles hypergraphs, their
semantics is given in terms of so-called port automata. We define both models
in a categorical setting where composition operations can be elegantly defined
and integrated. Specifically, we formalize structural gluings of connectors as
pushouts, and joins of port automata as pullbacks. We then define a semantical
functor from the connector to the port automata category which preserves this
composition. We further show how to encode Reo connectors and Petri nets into
this model and indicate applications to dynamic reconfigurations modeled using
double pushout graph transformation
Decision Problems for Petri Nets with Names
We prove several decidability and undecidability results for nu-PN, an
extension of P/T nets with pure name creation and name management. We give a
simple proof of undecidability of reachability, by reducing reachability in
nets with inhibitor arcs to it. Thus, the expressive power of nu-PN strictly
surpasses that of P/T nets. We prove that nu-PN are Well Structured Transition
Systems. In particular, we obtain decidability of coverability and termination,
so that the expressive power of Turing machines is not reached. Moreover, they
are strictly Well Structured, so that the boundedness problem is also
decidable. We consider two properties, width-boundedness and depth-boundedness,
that factorize boundedness. Width-boundedness has already been proven to be
decidable. We prove here undecidability of depth-boundedness. Finally, we
obtain Ackermann-hardness results for all our decidable decision problems.Comment: 20 pages, 7 figure
- ā¦