31 research outputs found
A Truly Concurrent Semantics for Reversible CCS
Reversible CCS (RCCS) is a well-established, formal model for reversible
communicating systems, which has been built on top of the classical Calculus of
Communicating Systems (CCS). In its original formulation, each CCS process is
equipped with a memory that records its performed actions, which is then used
to reverse computations. More recently, abstract models for RCCS have been
proposed in the literature, basically, by directly associating RCCS processes
with (reversible versions of) event structures. In this paper we propose a
different abstract model: starting from one of the well-known encoding of CCS
into Petri nets we apply a recently proposed approach to incorporate
causally-consistent reversibility to Petri nets, obtaining as result the
(reversible) net counterpart of every RCCS term
An Introduction to Pervasive Interface Automata
Pervasive systems are often context-dependent, component based systems in which components expose interfaces and offer one or more services. These systems may evolve in unpredictable ways, often through component replacement. We present pervasive interface automata as a formalism for modelling components and their composition. Pervasive interface automata are based on the interface automata of Henzinger et al, with several significant differences. We expand their notion of input and output actions to combinations of input, output actions, and callable methods and method calls. Whereas interfaces automata have a refinement relation, we argue the crucial relation in pervasive systems is component replacement, which must include consideration of the services offered by a component and assumptions about the environment. We illustrate pervasive interface autmotata and component replacement with a small case study of a pervasive application for sports predictions
Formal Choreographic Languages
International audienceWe introduce formal choreography languages as a meta-model to study message-passing systems. This allows us to compare and generalise standard constructions and properties from the literature. In particular, we consider notions such as global view, local view, and projections from the former to the latter. The correctness of local views projected from global views is characterised in terms of a closure property. A condition is also devised to guarantee relevant communication properties such as (dead)lock-freedom. Formal choreography languages capture existing formalisms for message-passing systems; we detail the cases of multiparty session types and choreography automata
Nested-unit Petri nets
International audiencePetri nets can express concurrency and nondeterminism but neither locality nor hierarchy. This article presents an extension of Petri nets, in which places can be grouped into so-called "units" expressing sequential components. Units can be recursively nested to reflect both the concurrent and hierarchical nature of complex systems. This model called NUPN (Nested-Unit Petri Nets) was originally developed for translating process calculi to Petri nets, but later found also useful beyond this setting. It allows significant savings in the memory representation of markings for both explicit-state and symbolic verification. Thirteen software tools already implement the NUPN model, which has also been adopted for the benchmarks of the Model Checking Contest (MCC) and the parallel problems of the Rigorous Examination of Reactive Systems (RERS) challenges
Computation Tree Logic with Deadlock Detection
We study the equivalence relation on states of labelled transition systems of
satisfying the same formulas in Computation Tree Logic without the next state
modality (CTL-X). This relation is obtained by De Nicola & Vaandrager by
translating labelled transition systems to Kripke structures, while lifting the
totality restriction on the latter. They characterised it as divergence
sensitive branching bisimulation equivalence.
We find that this equivalence fails to be a congruence for interleaving
parallel composition. The reason is that the proposed application of CTL-X to
non-total Kripke structures lacks the expressiveness to cope with deadlock
properties that are important in the context of parallel composition. We
propose an extension of CTL-X, or an alternative treatment of non-totality,
that fills this hiatus. The equivalence induced by our extension is
characterised as branching bisimulation equivalence with explicit divergence,
which is, moreover, shown to be the coarsest congruence contained in divergence
sensitive branching bisimulation equivalence
Static versus dynamic reversibility in CCS
The notion of reversible computing is attracting interest because of its applications in diverse fields, in particular the study of programming abstractions for fault tolerant systems. Most computational models are not naturally reversible since computation causes loss of information, and history information must be stored to enable reversibility. In the literature, two approaches to reverse the CCS process calculus exist, differing on how history information is kept. Reversible CCS (RCCS), proposed by Danos and Krivine, exploits dedicated stacks of memories attached to each thread. CCS with Keys (CCSK), proposed by Phillips and Ulidowski, makes CCS operators static so that computation does not cause information loss. In this paper we show that RCCS and CCSK are equivalent in terms of LTS isomorphism