63 research outputs found

    TAPAs: A Tool for the Analysis of Process Algebras

    Get PDF
    Process algebras are formalisms for modelling concurrent systems that permit mathematical reasoning with respect to a set of desired properties. TAPAs is a tool that can be used to support the use of process algebras to specify and analyze concurrent systems. It does not aim at guaranteeing high performances, but has been developed as a support to teaching. Systems are described as process algebras terms that are then mapped to labelled transition systems (LTSs). Properties are verified either by checking equivalence of concrete and abstract systems descriptions, or by model checking temporal formulae over the obtained LTS. A key feature of TAPAs, that makes it particularly suitable for teaching, is that it maintains a consistent double representation of each system both as a term and as a graph. Another useful didactical feature is the exhibition of counterexamples in case equivalences are not verified or the proposed formulae are not satisfied

    A compensating transaction example in twelve notations

    Get PDF
    The scenario of business computer systems changed with the advent of cross-entity computer interactions: computer systems no longer had the limited role of storing and processing data, but became themselves the players which actuated real-life actions. These advancements rendered the traditional transaction mechanism insufficient to deal with these new complexities of longer multi-party transactions. The concept of compensations has long been suggested as a solution, providing the possibility of executing “counter”-actions which semantically undo previously completed actions in case a transaction fails. There are numerous design options related to compensations particularly when deciding the strategy of ordering compensating actions. Along the years, various models which include compensations have emerged, each tackling in its own way these options. In this work, we review a number of notations which handle compensations by going through their syntax and semantics — highlighting the distinguishing features — and encoding a typical compensating transaction example in terms of each of these notations.peer-reviewe

    Finite petri nets as models for recursive causal behaviour

    Get PDF
    Goltz (1988) discussed whether or not there exist finite Petri nets (with unbounded capacities) modelling the causal behaviour of certain recursive CCS terms. As a representative example, the following term is considered: \ud \ud B=(a.nilb.B)+c.nil. \ud \ud We will show that the answer depends on the chosen notion of behaviour. It was already known that the interleaving behaviour and the branching structure of terms as B can be modelled as long as causality is not taken into account. We now show that also the causal behaviour of B can be modelled as long as the branching structure is not taken into account. However, it is not possible to represent both causal dependencies and the behaviour with respect to choices between alternatives in a finite net. We prove that there exists no finite Petri net modelling B with respect to both pomset trace equivalence and failure equivalence

    LTS Semantics for Compensation-based Processes

    Get PDF
    Business processes design is an error-prone task often relying on long-running transactions with compensations. Unambiguous formal semantics and flexible verification tools should be used for early validation of processes. To this aim, we define a small-step semantics for the Sagas calculus according to the so-called coordinated interruption policy. We show that it can be tuned via small changes to deal with other compensation policies and discuss possible enhancements

    On the Semantics of Petri Nets

    No full text
    Petri Place/Transition (PT) nets are one of the most widely used models of concurrency. However, they still lack, in our view, a satisfactory semantics: on the one hand the "token game"' is too intensional, even in its more abstract interpretations in term of nonsequential processes and monoidal categories; on the other hand, Winskel's basic unfolding construction, which provides a coreflection between nets and finitary prime algebraic domains, works only for safe nets. In this paper we extend Winskel's result to PT nets. We start with a rather general category {PTNets} of PT nets, we introduce a category {DecOcc} of decorated (nondeterministic) occurrence nets and we define adjunctions between {PTNets} and {DecOcc} and between {DecOcc} and {Occ}, the category of occurrence nets. The role of {DecOcc} is to provide natural unfoldings for PT nets, i.e. acyclic safe nets where a notion of family is used for relating multiple instances of the same place. The unfolding functor from {PTNets} to {Occ} reduces to Winskel's when restricted to safe nets, while the standard coreflection between {Occ} and {Dom}, the category of finitary prime algebraic domains, when composed with the unfolding functor above, determines a chain of adjunctions between {PTNets} and {Dom}

    Recovery within long running transactions

    Get PDF
    As computer systems continue to grow in complexity, the possibilities of failure increase. At the same time, the increase in computer system pervasiveness in day-to-day activities brought along increased expectations on their reliability. This has led to the need for effective and automatic error recovery techniques to resolve failures. Transactions enable the handling of failure propagation over concurrent systems due to dependencies, restoring the system to the point before the failure occurred. However, in various settings, especially when interacting with the real world, reversal is not possible. The notion of compensations has been long advocated as a way of addressing this issue, through the specification of activities which can be executed to undo partial transactions. Still, there is no accepted standard theory; the literature offers a plethora of distinct formalisms and approaches. In this survey, we review the compensations from a theoretical point of view by: (i) giving a historic account of the evolution of compensating transactions; (ii) delineating and describing a number of design options involved; (iii) presenting a number of formalisms found in the literature, exposing similarities and differences; (iv) comparing formal notions of compensation correctness; (v) giving insights regarding the application of compensations in practice; and (vi) discussing current and future research trends in the area.peer-reviewe

    True Concurrency Can Be Easy

    Full text link
    Net bisimilarity is a behavioral equivalence for finite Petri nets, which is equivalent to structure-preserving bisimilarity and causal-net bisimilarity, but with a much simpler definition, which is a smooth generalization of the definition of standard bisimilarity on Labeled Transition Systems. We show that it can be characterized logically by means of a suitable modal logic, called NML (acronym of net modal logic): two markings are net bisimilar if and only if they satisfy the same NML formulae

    Encoding Synchronous Interactions Using Labelled Petri Nets

    Get PDF
    International audienceWe present an encoding of (bound) CSP processes with replication into Petri nets with labelled transitions. Through the encoding, the firing semantics of Petri nets models the standard operational semantics of CSP processes, which is both preserved and reflected. This correspondence allows for describing by net semantics the standard CSP observational equivalences. Since the encoding is modular with respect to process syntax, the paper puts on a firm ground the technology transfer between the two formalisms, e.g. recasting into the CSP framework well-established results like decidability of coverability for nets. This work complements previous results concerning the encoding of asynchronous interactions, thus witnessing the expressiveness of (open) labelled nets in modelling process calculi with alternative communication patterns

    Failure Trace Semantics for a Process Algebra with Time-outs

    Get PDF
    This paper extends a standard process algebra with a time-out operator, thereby increasing its absolute expressiveness, while remaining within the realm of untimed process algebra, in the sense that the progress of time is not quantified. Trace and failures equivalence fail to be congruences for this operator; their congruence closure is characterised as failure trace equivalence
    corecore