Results 1  10
of
13
An Asynchronous Model of Locality, Failure, and Process Mobility
 Theoretical Computer Science
, 1997
"... We present a model of distributed computation which is based on a fragment of the picalculus relying on asynchronous communication. We enrich the model with the following features: the explicit distribution of processes to locations, the failure of locations and their detection, and the mobility of ..."
Abstract

Cited by 121 (4 self)
 Add to MetaCart
(Show Context)
We present a model of distributed computation which is based on a fragment of the picalculus relying on asynchronous communication. We enrich the model with the following features: the explicit distribution of processes to locations, the failure of locations and their detection, and the mobility of processes. Our contributions are two folds. At the specification level, we give a synthetic and flexible formalization of the features mentioned above. At the verification level, we provide original methods to reason about the bisimilarity of processes in the presence of failures.
Decoding Choice Encodings
, 1999
"... We study two encodings of the asynchronous #calculus with inputguarded choice into its choicefree fragment. One encoding is divergencefree, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is ..."
Abstract

Cited by 107 (5 self)
 Add to MetaCart
We study two encodings of the asynchronous #calculus with inputguarded choice into its choicefree fragment. One encoding is divergencefree, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is fully abstract with respect to weak bisimulation, but the more natural divergencefree encoding is not. Instead, we show that it is fully abstract with respect to coupled simulation, a slightly coarserbut still coinductively definedequivalence that does not enforce bisimilarity of internal branching decisions. The correctness proofs for the two choice encodings introduce a novel proof technique exploiting the properties of explicit decodings from translations to source terms.
A Concurrent Object Calculus: Reduction and Typing
 HLCL'98 TO APPEAR
, 1998
"... We obtain a new formalism for concurrent objectoriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from thecalculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sen ..."
Abstract

Cited by 84 (4 self)
 Add to MetaCart
We obtain a new formalism for concurrent objectoriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from thecalculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it unifies notions of expression, process, store, thread, and configuration. We present a chemicalstyle reduction semantics, and prove it equivalent to a structural operational semantics. We identify a deterministic fragment that is closed under reduction and show that it includes the imperative object calculus. A collection of type systems for objectoriented constructs is at the heart of Abadi and Cardelli's work. We recast one of Abadi and Cardelli's firstorder type systems with object types and subtyping in the setting of our calculus and prove subject reduction. Since our syntax of terms includes both stores and running expressions, we avoid the need to separate store typing from typing of expressions. We translate asynchronous communication channels and the choicefree asynchronouscalculus into our calculus to illustrate its expressiveness; the types of readonly and writeonly channels are supertypes of readwrite channels.
The πCalculus in Direct Style
, 1997
"... We introduce a calculus which is a direct extension of both the and the π calculi. We give a simple type system for it, that encompasses both Curry's type inference for the calculus, and Milner's sorting for the πcalculus as particular cases of typing. We observe that the various contin ..."
Abstract

Cited by 70 (2 self)
 Add to MetaCart
We introduce a calculus which is a direct extension of both the and the π calculi. We give a simple type system for it, that encompasses both Curry's type inference for the calculus, and Milner's sorting for the πcalculus as particular cases of typing. We observe that the various continuation passing style transformations for terms, written in our calculus, actually correspond to encodings already given by Milner and others for evaluation strategies of terms into the πcalculus. Furthermore, the associated sortings correspond to wellknown double negation translations on types. Finally we provide an adequate cps transform from our calculus to the πcalculus. This shows that the latter may be regarded as an "assembly language", while our calculus seems to provide a better programming notation for higherorder concurrency.
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 firstclass data, which models the notion of locality and failure present in the higherorder, distributed programming language Facile. The interaction between localities and failures disting ..."
Abstract

Cited by 59 (0 self)
 Add to MetaCart
We present a simple extension of the ßcalculus with located actions and channels and with location names as firstclass data, which models the notion of locality and failure present in the higherorder, 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 simplysorted ß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 faulttoler...
Understanding Mobile Agents via a noninterleaving semantics for Facile
, 1996
"... . Mobile agents, i.e. pieces of programs that can be sent around networks of computers, are starting to appear on the Internet. Such programs may be seen as an enrichment of traditional distributed computing. Since mobile agents may carry communication links with them as they move across the network ..."
Abstract

Cited by 9 (6 self)
 Add to MetaCart
(Show Context)
. Mobile agents, i.e. pieces of programs that can be sent around networks of computers, are starting to appear on the Internet. Such programs may be seen as an enrichment of traditional distributed computing. Since mobile agents may carry communication links with them as they move across the network, they create very dynamic interconnection structures that can be extremely complex to analyse. In this paper we analyse a fragment of a system based on the mobile agent principle written in the Facile programming language. We propose a Structural Operational Semantics (SOS) for Facile, giving a proved transition system that records encodings of the derivation trees of transitions in their labels. This information allows us to easily recover noninterleaving semantics for Facile by looking only at the labels of transitions. We use the new Facile semantics to debug an agent based system. This example is a scaled down version of a system demonstrated at the European IT Conference Exhibition in...
Analysis of Facile Programs: a Case Study
 In Proceedings of the Fifth LOMAPS Workshop on Analysis and Verification of MultipleAgent Languages
, 1996
"... . Mobile agents, i.e. pieces of programs that can be sent around networks of computers, are starting to appear on the Internet. Such programs may be seen as an enrichment of traditional distributed computing. Since mobile agents may carry communication links with them as they move across the network ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
. Mobile agents, i.e. pieces of programs that can be sent around networks of computers, are starting to appear on the Internet. Such programs may be seen as an enrichment of traditional distributed computing. Since mobile agents may carry communication links with them as they move across the network, they create very dynamic interconnection structures that can be extremely complex to analyse. In this paper we apply a noninterleaving semantics to analyse a system based on the mobile agent principle written in the Facile programming language. This example is a scaled down version of a system demonstrated at the European IT Conference Exhibition in Brussels, 1995. This paper further develops a noninterleaving semantics for Facile, first presented in [4]. We develop a Structural Operational Semantics (SOS) for Facile, giving a proved transition system that records encodings of the derivation trees of transitions in their labels. This information allows us to easily recover noninterleavi...
Causality for Debugging Mobile Agents
 Acta Informatica
, 1996
"... Mobile agents, i.e. pieces of programs that can be sent around networks of computers, are starting to appear on the Internet. Such programs may be seen as an enrichment of traditional distributed computing. Since mobile agents may carry communication links with them as they move across the network, ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
Mobile agents, i.e. pieces of programs that can be sent around networks of computers, are starting to appear on the Internet. Such programs may be seen as an enrichment of traditional distributed computing. Since mobile agents may carry communication links with them as they move across the network, they create very dynamic interconnection structures that can be extremely complex to analyse. In this paper we study an example of a system based on the mobile agent principle written in the Facile programming language. We propose a Structural Operational Semantics (SOS) for Facile, giving a proved transition system that records encodings of the derivation trees of transitions in their labels. This information allows us to easily recover noninterleaving semantics for Facile by looking only at the labels of transitions. We use the new Facile semantics to debug an agent based system. This example is a scaled down version of a system demonstrated at the European IT Conference Exhibition in Brus...
Toward a Modal Theory of Types for the PiCalculus
, 1996
"... We study the problem of specifying and verifying properties of ßcalculus processes while relying on a bisimulation semantics. As our property specification language we use a version of the modal ¯calculus adapted to the ßcalculus. We show that the logical language is sufficiently expressive to ch ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We study the problem of specifying and verifying properties of ßcalculus processes while relying on a bisimulation semantics. As our property specification language we use a version of the modal ¯calculus adapted to the ßcalculus. We show that the logical language is sufficiently expressive to characterize by means of a finite formula a process up to any approximation of the bisimulation relation. We consider the problem of checking that a process of the ßcalculus satisfies a specification expressed in this modal ¯calculus. We develop an algorithm which is sound in general, and complete for processes having a finite reachability property. Finally, we present a proof system which can be applied to prove nonrecursive properties of arbitrary processes. We show that the system is complete on the nonrecursive fragment of the logical language. 1 Introduction The ßcalculus was introduced by Milner, Parrow, and Walker [MPW92] as a language for describing concurrent systems with feat...