2,341 research outputs found
General parameterised refinement and recursion for the M-net calculus
AbstractThe algebra of M-nets, a high-level class of labelled Petri nets, was introduced in order to cope with the size problem of the low-level Petri box calculus, especially when applied as semantical domain for parallel programming languages. General, unrestricted and parameterised refinement and recursion operators, allowing to represent the (possibly recursive and concurrent) procedure call mechanism, are introduced into the M-net calculus
Recommended from our members
RGA users manual : version 2.3
RGA is an interpreter for a special language designed for the analysis of reachability graphs, or control flow graphs, generated from Petri nets. Although in some cases the reachability graph can become too large to be tractable, or can even be infinite, many interesting problems exist whose reachability graphs are of reasonable size. In RGA, the user has access to the names of the places in the net, and to the states of the reachability graph. The structure of the graph is also available through functions which return the sets of successor or predecessor states of a state and the transition-firings connecting the states. The RGA language allows dynamic typing of identifiers, recursion, and function and operator overloading. Rather than providing a number of predefined analysis functions, RGA provides primitive functions which allow the user to conduct complex analyses with little programming effort. RGA is part of a suite of tools, called P-NUT, intended to facilitate the analysis of concurrent systems described by Petri nets
Recommended from our members
An algebra of high level petri nets
PhD ThesisPetri nets were introduced by C.A. Petri as a theoretical model of concurrency in which the causal
relationship between actions, rather than just their temporal ordering, can be represented. As
a theoretical model of concurrency, Petri nets have been widely successful. Moreover, Petri nets
are popular with practitioners, providing practical tools for the designer and developer of real
concurrent and distributed systems.
However, it is from this second context that perhaps the most widely voiced criticism of Petri
nets comes. It is that Petri nets lack any algebraic structure or modularity, and this results in
large, unstructured models of real systems, which are consequently often intractable. Although
this is not a criticism of Petri nets per se, but rather of the uses to which Petri nets are put, the
criticism is well taken.
We attempt to answer this criticism in this work. To do this we return to the view of Petri nets
as a model of concurrency and consider how other models of concurrency counter this objection.
The foremost examples are then the synchronisation trees of Milner, and the traces of Hoare,
(against which such criticism is rarely, if ever, levelled). The difference between the models is
clear, and is to be found in the richness of the algebraic characterisations which have been made
for synchronisation trees in Milner's Calculus of Communicating Systems (CCS), and for traces
in Hoare's Communicating Sequential Processes (CSP).
With this in mind we define, in this thesis, a class of high level Petri nets, High Level Petri Boxes,
and provide for them a very general algebraic description language, the High Level Petri Box
Algebra, with novel ideas for synchronisation, and including both refinement and recursion among
its operators. We also begin on the (probably open-ended task of the) algebraic characterisation
of High Level Petri Boxes.
The major contribution of this thesis is a full behavioural characterisation of the High Level Petri
Boxes which form the semantic domain of the algebra. Other contributions are: a very general
method of describing communication protocols which extend the synchronisation algebras of
Winskel; a recursive operator that preserves finiteness of state (the best possible, given the
generality of the algebra); a refinement operator that is syntactic in nature, and for which the
recursive construct is a behavioural fix-point; and a notion of behavioural equivalence which is
a congruence with respect to a major part of the High Level Petri Box Algebra
A recursive paradigm for aligning observed behavior of large structured process models
The alignment of observed and modeled behavior is a crucial problem in process mining, since it opens the door for conformance checking and enhancement of process models. The state of the art techniques for the computation of alignments rely on a full exploration of the combination of the model state space and the observed behavior (an event log), which hampers their applicability for large instances. This paper presents a fresh view to the alignment problem: the computation of alignments is casted as the resolution of Integer Linear Programming models, where the user can decide the granularity of the alignment steps. Moreover, a novel recursive strategy is used to split
the problem into small pieces, exponentially reducing the complexity of the ILP models to be solved. The contributions of this paper represent a promising alternative to fight the inherent complexity of computing alignments for large instances.Peer ReviewedPostprint (author's final draft
Read Operators and their Expressiveness in Process Algebras
We study two different ways to enhance PAFAS, a process algebra for modelling
asynchronous timed concurrent systems, with non-blocking reading actions. We
first add reading in the form of a read-action prefix operator. This operator
is very flexible, but its somewhat complex semantics requires two types of
transition relations. We also present a read-set prefix operator with a simpler
semantics, but with syntactic restrictions. We discuss the expressiveness of
read prefixes; in particular, we compare them to read-arcs in Petri nets and
justify the simple semantics of the second variant by showing that its
processes can be translated into processes of the first with timed-bisimilar
behaviour. It is still an open problem whether the first algebra is more
expressive than the second; we give a number of laws that are interesting in
their own right, and can help to find a backward translation.Comment: In Proceedings EXPRESS 2011, arXiv:1108.407
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
Complexity Hierarchies Beyond Elementary
We introduce a hierarchy of fast-growing complexity classes and show its
suitability for completeness statements of many non elementary problems. This
hierarchy allows the classification of many decision problems with a
non-elementary complexity, which occur naturally in logic, combinatorics,
formal languages, verification, etc., with complexities ranging from simple
towers of exponentials to Ackermannian and beyond.Comment: Version 3 is the published version in TOCT 8(1:3), 2016. I will keep
updating the catalogue of problems from Section 6 in future revision
Ranking Functions for Vector Addition Systems
Vector addition systems are an important model in theoretical computer
science and have been used for the analysis of systems in a variety of areas.
Termination is a crucial property of vector addition systems and has received
considerable interest in the literature. In this paper we give a complete
method for the construction of ranking functions for vector addition systems
with states. The interest in ranking functions is motivated by the fact that
ranking functions provide valuable additional information in case of
termination: They provide an explanation for the progress of the vector
addition system, which can be reported to the user of a verification tool, and
can be used as certificates for termination. Moreover, we show how ranking
functions can be used for the computational complexity analysis of vector
addition systems (here complexity refers to the number of steps the vector
addition system under analysis can take in terms of the given initial vector)
An Operational Petri Net Semantics for the Join-Calculus
We present a concurrent operational Petri net semantics for the
join-calculus, a process calculus for specifying concurrent and distributed
systems. There often is a gap between system specifications and the actual
implementations caused by synchrony assumptions on the specification side and
asynchronously interacting components in implementations. The join-calculus is
promising to reduce this gap by providing an abstract specification language
which is asynchronously distributable. Classical process semantics establish an
implicit order of actually independent actions, by means of an interleaving. So
does the semantics of the join-calculus. To capture such independent actions,
step-based semantics, e.g., as defined on Petri nets, are employed. Our Petri
net semantics for the join-calculus induces step-behavior in a natural way. We
prove our semantics behaviorally equivalent to the original join-calculus
semantics by means of a bisimulation. We discuss how join specific assumptions
influence an existing notion of distributability based on Petri nets.Comment: In Proceedings EXPRESS/SOS 2012, arXiv:1208.244
Characterizing Behavioural Congruences for Petri Nets
We exploit a notion of interface for Petri nets in order to design a set of net combinators. For such a calculus of nets, we focus on the behavioural congruences arising from four simple notions of behaviour, viz., traces, maximal traces, step, and maximal step traces, and from the corresponding four notions of bisimulation, viz., weak and weak step bisimulation and their maximal versions. We characterize such congruences via universal contexts and via games, providing in such a way an understanding of their discerning powers
- …