Results 1  10
of
43
LocationIndependent Communication for Mobile Agents: a TwoLevel Architecture
 In Internet Programming Languages, LNCS 1686
, 1998
"... We study communication primitives for interaction between mobile agents. They can be classified into two groups. At a low level there are location dependent primitives that require a programmer to know the current site of a mobile agent in order to communicate with it. At a high level there are loca ..."
Abstract

Cited by 65 (38 self)
 Add to MetaCart
We study communication primitives for interaction between mobile agents. They can be classified into two groups. At a low level there are location dependent primitives that require a programmer to know the current site of a mobile agent in order to communicate with it. At a high level there are location independent primitives that allow communication with a mobile agent irrespective of its current site and of any migrations. Implementation of these requires delicate distributed infrastructure. We propose a simple calculus of agents that allows implementations of such distributed infrastructure algorithms to be expressed as encodings, or compilations, of the whole calculus into the fragment with only location dependent communication. These encodings give executable descriptions of the algorithms, providing a clean implementation strategy for prototype languages. The calculus is equipped with a precise semantics, providing a solid basis for understanding the algorithms and for reasoning about their correctness and robustness. Two sample infrastructure algorithms are presented as encodings.
Global/local subtyping and capability inference for a distributed πcalculus
 In Proceedings of ICALP '98, LNCS 1443
, 1998
"... This paper considers how locality restrictions on the use of capabilities can be enforced by a static type system. A distributed πcalculus with a simple reduction semantics is introduced, integrating location and migration primitives from the Distributed Join Calculus with asynchronous π communicat ..."
Abstract

Cited by 62 (11 self)
 Add to MetaCart
This paper considers how locality restrictions on the use of capabilities can be enforced by a static type system. A distributed πcalculus with a simple reduction semantics is introduced, integrating location and migration primitives from the Distributed Join Calculus with asynchronous π communication. It is given a type system in which the input and output capabilities of channels may be either global, local or absent. This allows compiletime optimization where possible but retains the expressiveness of channel communication. Subtyping allows all communications to be invoked uniformly. We show that the most local possible capabilities for internal channels can be inferred automatically.
Compositional Programming Abstractions for Mobile Computing
 IEEE Trans. on Software Engineering
, 1998
"... ions for Mobile Computing Peter J. McCann, GruiaCatalin Roman Abstract Recent advances in wireless networking technology and the increasing demand for ubiquitous, mobile connectivity demonstrate the importance of providing reliable systems for managing reconfiguration and disconnection of compo ..."
Abstract

Cited by 54 (23 self)
 Add to MetaCart
ions for Mobile Computing Peter J. McCann, GruiaCatalin Roman Abstract Recent advances in wireless networking technology and the increasing demand for ubiquitous, mobile connectivity demonstrate the importance of providing reliable systems for managing reconfiguration and disconnection of components. Design of such systems requires tools and techniques appropriate to the task. Many formal models of computation, including UNITY, are not adequate for expressing reconfiguration and disconnection and are therefore inappropriate vehicles for investigating the impact of mobility on the construction of modular and composable systems. Algebraic formalisms such as the ßcalculus have been proposed for modeling mobility. This paper addresses the question of whether UNITY, a statebased formalism with a foundation in temporal logic, can be extended to address concurrent, mobile systems. In the process, we examine some new abstractions for communication among mobile components that express re...
Bisimulations in the joincalculus
 Theoretical Computer Science
, 1998
"... We propose an objectoriented calculus with internal concurrency and classbased 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 50 (6 self)
 Add to MetaCart
We propose an objectoriented calculus with internal concurrency and classbased 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
The TwoPhase Commitment Protocol in an Extended πCalculus
 ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE 39 NO. 1
, 2000
"... We examine extensions to the calculus for representing basic elements of distributed systems. In spite of its expressiveness for encoding various programming constructs, some of the phenomena inherent in distributed systems are hard to model in the calculus. We consider message loss, sites, timers ..."
Abstract

Cited by 30 (0 self)
 Add to MetaCart
We examine extensions to the calculus for representing basic elements of distributed systems. In spite of its expressiveness for encoding various programming constructs, some of the phenomena inherent in distributed systems are hard to model in the calculus. We consider message loss, sites, timers, site failure and persistence as extensions to the calculus and examine their descriptive power, taking the Two Phase Commit Protocol (2PCP), a basic instance of an atomic commitment protocol, as a testbed. Our extensions enable us to represent the 2PCP under various failure assumptions, as well as to reason about the essential properties of the protocol.
HigherOrder Concurrent Linear Logic Programming
 In Theory and Practice of Parallel Programming
, 1995
"... . We propose a typed, higherorder, concurrent linear logic programming called higherorder ACL, which uniformly integrates a variety of mechanisms for concurrent computation based on asynchronous message passing. Higherorder ACL is based on a proof search paradigm according to the principle, p ..."
Abstract

Cited by 30 (8 self)
 Add to MetaCart
. We propose a typed, higherorder, concurrent linear logic programming called higherorder ACL, which uniformly integrates a variety of mechanisms for concurrent computation based on asynchronous message passing. Higherorder ACL is based on a proof search paradigm according to the principle, proofs as computations, formulas as processes in linear logic. In higherorder ACL, processes as well as functions, and other values can be communicated via messages, which provides high modularity of concurrent programs. Higherorder ACL can be viewed as an asynchronous counterpart of Milner's higherorder, polyadic  calculus. Moreover, higherorder ACL is equipped with an elegant MLstyle type system that ensures (1) well typed programs can never cause type mismatch errors, and (2) there is a type inference algorithm which computes a most general typing for an untyped term. We also demonstrate a power of higherorder ACL by showing several examples of "higherorder concurrent prog...
A Calculus of Secure Mobile Computations
, 1998
"... The sealcalculus is a distributed process calculus in which locations and movement of computational entities are explicit. The calculus is targeted at secure distributed applications over large scale open networks such as the Internet. Security is addressed by the addition of a finegrain access con ..."
Abstract

Cited by 28 (6 self)
 Add to MetaCart
The sealcalculus is a distributed process calculus in which locations and movement of computational entities are explicit. The calculus is targeted at secure distributed applications over large scale open networks such as the Internet. Security is addressed by the addition of a finegrain access control mechanism. This paper motivates our design choices, presents the syntax and reduction semantics of the calculus, and demonstrates its expressiveness by examples focused on security and management of large distributed systems.
The UDP Calculus: Rigorous Semantics for Real Networking
, 2001
"... Network programming is notoriously hard to understand: one has to deal with a variety of protocols (IP, ICMP, UDP, TCP etc), concurrency, packet loss, host failure, timeouts, the complex sockets interface to the protocols, and subtle portability issues. Moreover, the behavioural properties of ope ..."
Abstract

Cited by 19 (15 self)
 Add to MetaCart
Network programming is notoriously hard to understand: one has to deal with a variety of protocols (IP, ICMP, UDP, TCP etc), concurrency, packet loss, host failure, timeouts, the complex sockets interface to the protocols, and subtle portability issues. Moreover, the behavioural properties of operating systems and the network are not well documented.
Basic Theory of Reduction Congruence for Two Timed Asynchronous πCalculi
 IN PROC. CONCUR’04
, 2004
"... We study reduction congruence, a popular notion of process equality, for the asynchronous πcalculus with timers, and derive several alternative characterisations, one of them being a labelled asynchronous bisimilarity. These results are adapted to an asynchronous πcalculus with timers, locatio ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
We study reduction congruence, a popular notion of process equality, for the asynchronous πcalculus with timers, and derive several alternative characterisations, one of them being a labelled asynchronous bisimilarity. These results are adapted to an asynchronous πcalculus with timers, locations and message failure. In addition we investigate the problem of how to distribute valuepassing processes in a semanticspreserving way.
Towards Abstractions for Distributed Systems
, 2004
"... For historical, sociological and technical reasons, calculi have been the dominant theoretical paradigm in the study of functional computation. Similarly, but to a lesser degree, calculi dominate advanced mathematical accounts of concurrency. Alas, and despite its ever increasing ubiquity, an equa ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
For historical, sociological and technical reasons, calculi have been the dominant theoretical paradigm in the study of functional computation. Similarly, but to a lesser degree, calculi dominate advanced mathematical accounts of concurrency. Alas, and despite its ever increasing ubiquity, an equally convincing formal foundation for distributed computing has not been forthcoming. This thesis seeks to contribute towards ameliorating that omission. To this end, guided by the assumption that distributed computing is concurrent computing with partial failures of various kinds, we extend the asynchronous calculus with a notion of sites, the possibility of site failure, a persistence mechanism to deal with site failures, the distinction between intersite and intrasite communication, the possibility of message loss in intersite communication and a timer construct, as is often used in distributed algorithms to deal with various failure scenarios.