Results 1 - 10
of
23
The Fusion Calculus: Expressiveness and Symmetry in Mobile Processes (Extended Abstract)
- LICS'98
, 1998
"... We present the fusion calculus as a significant step towards a canonical calculus of concurrency. It simplifies and extends the π-calculus.
The fusion calculus contains the polyadic π-calculus as a proper subcalculus and thus inherits all its expressive power. The gain is that fusion contains action ..."
Abstract
-
Cited by 94 (12 self)
- Add to MetaCart
We present the fusion calculus as a significant step towards a canonical calculus of concurrency. It simplifies and extends the π-calculus.
The fusion calculus contains the polyadic π-calculus as a proper subcalculus and thus inherits all its expressive power. The gain is that fusion contains actions akin to updating a shared state, and a scoping construct for bounding their effects. Therefore it is easier to represent computational models such as concurrent constraints formalisms. It is also easy to represent the so called strong reduction strategies in the lambda-calculus, involving reduction under abstraction. In the π-calculus these tasks require elaborate encodings.
The dramatic main point of this paper is that we achieve these improvements by simplifying the π-calculus rather than adding features to it. The fusion calculus has only one binding operator where the π-calculus has two (input and restriction). It has a complete symmetry between input and output actions where the π-calculus has not. There is only one sensible variety of bisimulation congruence where the pi-calculus has at least three (early, late and open). Proofs about the fusion calculus, for example in complete axiomatizations and full abstraction, therefore are shorter and clearer.
Our results on the fusion calculus in this paper are the following. We give a structured operational semantics in the traditional style. The novelty lies in a new kind of action, fusion actions for emulating updates of a shared state. We prove that the calculus contains the π-calculus as a subcalculus. We define and motivate the bisimulation equivalence and prove a simple characterization of its induced congruence, which is given two versions of a complete axiomatization for finite terms. The expressive power of the calculus is demonstrated by giving a straight-forward encoding of the strong lazy lambda-calculus, which admits reduction under lambda abstraction.
The Update Calculus
, 1997
"... In the update calculus concurrent processes can perform update actions with side effects, and a scoping operator can be used to control the extent of the update. In this way it incorporates fundamental concepts both from imperative languages or concurrent constraints formalisms, and from functional ..."
Abstract
-
Cited by 70 (3 self)
- Add to MetaCart
In the update calculus concurrent processes can perform update actions with side effects, and a scoping operator can be used to control the extent of the update. In this way it incorporates fundamental concepts both from imperative languages or concurrent constraints formalisms, and from functional formalisms such as the - and -calculi. Structurally it is similar to but simpler than the -calculus; it has only one binding operator and a symmetry between input and output. We define the structured operational semantics and the proper bisimulation equivalence and congruence, and give a complete axiomatization. The -calculus turns out to be an asymmetric subcalculus. 1 Introduction Theory of concurrent computation is a diverse field where many different approaches have been proposed and no consensus has emerged on the best paradigms. In this paper we take a step towards unifying two seemingly contradictory schools of thought: global vs local effects of concurrent actions. We define a calc...
Localities and Failures
- In Proc. 14th Foundations of Software Technology and Theoretical Computer Science
, 1995
"... We present a simple extension of the ß-calculus with located actions and channels and with location names as first-class data, which models the notion of locality and failure present in the higher-order, distributed programming language Facile. The interaction between localities and failures disting ..."
Abstract
-
Cited by 54 (0 self)
- Add to MetaCart
We present a simple extension of the ß-calculus with located actions and channels and with location names as first-class data, which models the notion of locality and failure present in the higher-order, distributed programming language Facile. The interaction between localities and failures distinguishes our approach from previous ones where the notion of locality is considered in isolation. We argue that the combination of these two features leads, at least from the distributed programming viewpoint, to a more natural semantics. We then discuss the translation of this calculus into a standard simply-sorted ß-calculus and show its adequacy with respect to a barbed bisimulation based semantics. In the translation each location is represented by a special process which interacts, by means of a simple protocol, with any process of the original program that wants to access resources depending on that location. We also employ our translation in the verification of a very simple fault-toler...
Bisimulations in the join-calculus
- Theoretical Computer Science
, 1998
"... We propose an object-oriented calculus with internal concurrency and class-based inheritance that is built upon the join calculus. Method calls, locks, and states are handled in a uniform manner, using asynchronous messages. Classes are partial message definitions that can be combined and transforme ..."
Abstract
-
Cited by 48 (7 self)
- Add to MetaCart
We propose an object-oriented calculus with internal concurrency and class-based inheritance that is built upon the join calculus. Method calls, locks, and states are handled in a uniform manner, using asynchronous messages. Classes are partial message definitions that can be combined and transformed. We design operators for behavioral and synchronization inheritance. We also give a type system that statically enforces basic safety properties. Our model is compatible with the JoCaml implementation
Constraints as Processes
- Proceedings of CONCUR '96, volume 1119 of LNCS
, 1996
"... We present a compositional encoding of the fl-calculus into the -calculus. The former, used in the Oz semantics, is a recent small language with equational constraints over logical variables; the latter is a basic calculus of interacting processes. We establish a close correspondence between the ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
We present a compositional encoding of the fl-calculus into the -calculus. The former, used in the Oz semantics, is a recent small language with equational constraints over logical variables; the latter is a basic calculus of interacting processes. We establish a close correspondence between the reductions in the fl-calculus and its encoding, using weak barbed bisimulation congruence. 1 Introduction In this paper we shall relate two different strands in the semantics of programming languages. One is the concurrent constraints paradigm where facts about data values combine to resolve goals; the other is the communicating processes paradigm where parallel agents interact through data transmission. We shall use two small semantic calculi which embody these paradigms in a rigorous and tractable format: the fl-calculus for concurrent constraints and the -calculus for communicating processes. These calculi have been deemed successful as semantic bases for programming languages in thei...
A Mechanized Theory of the pi-calculus in HOL
, 1992
"... : The ß-calculus is a process algebra for modelling concurrent systems in which the pattern of communication between processes may change over time. This paper describes the results of preliminary work on a definitional formal theory of the ß-calculus in higher order logic using the HOL theorem prov ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
: The ß-calculus is a process algebra for modelling concurrent systems in which the pattern of communication between processes may change over time. This paper describes the results of preliminary work on a definitional formal theory of the ß-calculus in higher order logic using the HOL theorem prover. The ultimate goal of this work is to provide practical mechanized support for reasoning with the ß-calculus about applications. Introduction The ß-calculus [17, 18] is a process algebra proposed by Milner, Parrow and Walker for modelling concurrent systems in which the pattern of interconnection between processes may change over time. This paper describes work on a mechanized formal theory of the ß-calculus in higher order logic using the HOL theorem prover [8]. The main aim of this work is to construct a practical and sound theorem-proving tool to support reasoning about applications using the ß-calculus, as well as metatheoretic reasoning about the ß-calculus itself. Four general prin...
On the Benefits of Using the Up-To Techniques for Bisimulation Verification
"... We advocate the use of the up to techniques for bisimulation in the field of automatic verification. To this end, we develop a tool to perform proofs using the up to structural congruence, the up to restrictions and the up to parallel composition proof techniques for bisimulation between calculus te ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
We advocate the use of the up to techniques for bisimulation in the field of automatic verification. To this end, we develop a tool to perform proofs using the up to structural congruence, the up to restrictions and the up to parallel composition proof techniques for bisimulation between calculus terms. The latter technique is of particular interest because it allows one to reason on infinite state space processes. To use it in full effect, we adapt the on the fly bisimulation checking algorithm, leading to a form of computational completeness. The usefulness of these techniques in dealing with the expressive power of the calculus is illustrated on two non trivial examples, namely the treatment of persistent data structures and the alternating bit protocol. These examples are also good opportunities to study how well known calculus encodings behave in the framework of automatic verification.
A Partition Refinement Algorithm for the pi-calculus
- Proceedings of CAV'96, volume 1102 of Lecture Notes in Computer Science
, 1996
"... . The partition refinement algorithm [10, 6] is the basis for most of the tools for checking bisimulation equivalences and for computing minimal realisations of CCS-like finite state processes. In this paper, we present a partition refinement algorithm for the ß- calculus [7], a development of CCS ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
. The partition refinement algorithm [10, 6] is the basis for most of the tools for checking bisimulation equivalences and for computing minimal realisations of CCS-like finite state processes. In this paper, we present a partition refinement algorithm for the ß- calculus [7], a development of CCS where channel names can be communicated. It can be used to check bisimilarity and to compute minimal realisations of finite control processes --- the ß-calculus counterpart of CCS finite state processes. The algorithm is developed for strong open bisimulation, and can be adapted to late and early bisimulations, as well as to weak bisimulations. To arrive at the algorithm, a few laws and four characterisations of open bisimulation are proved. 1 Introduction Bisimulation is widely used for defining behavioural equivalences on terms of process description languages. It has been extensively studied in CCS, where efficient algorithms and tools for bisimulation checking have been devised. A promi...
Towards a Semantic-Based Verification Environment for the pi-calculus
, 1995
"... A prototype version of a semantic-based verification environment for manipulating and analyzing mobile systems specified in the -calculus is presented. In the current version, the -environment provides two main facilities: a -calculus interpreter equipped with a graphical interface, and a verific ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
A prototype version of a semantic-based verification environment for manipulating and analyzing mobile systems specified in the -calculus is presented. In the current version, the -environment provides two main facilities: a -calculus interpreter equipped with a graphical interface, and a verification tool which is used to decide (strong and weak) early and late bisimulation equivalences for finite -calculus processes. The -environment is built on top of existing verification systems, and the re-use of software modules, based on semantical considerations, is the key feature of our proposal. 1 Introduction The -calculus [MPW92] has become the best representative example of mobile process calculi, namely calculi in which the communication topology among processes can dynamically evolve when computation progresses. In the -calculus mobility is achieved via the communication of names rather than communication of processes as happens in so called higher order process calculi (e.g. ...

