Results 1 - 10
of
42
Location-Independent Communication for Mobile Agents: a Two-Level 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 64 (37 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 59 (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 compile-time 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, Gruia-Catalin 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 50 (23 self)
- Add to MetaCart
ions for Mobile Computing Peter J. McCann, Gruia-Catalin 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 state-based 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 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
Higher-Order Concurrent Linear Logic Programming
- In Theory and Practice of Parallel Programming
, 1995
"... . We propose a typed, higher-order, concurrent linear logic programming called higher-order ACL, which uniformly integrates a variety of mechanisms for concurrent computation based on asynchronous message passing. Higher-order ACL is based on a proof search paradigm according to the principle, p ..."
Abstract
-
Cited by 29 (8 self)
- Add to MetaCart
. We propose a typed, higher-order, concurrent linear logic programming called higher-order ACL, which uniformly integrates a variety of mechanisms for concurrent computation based on asynchronous message passing. Higher-order ACL is based on a proof search paradigm according to the principle, proofs as computations, formulas as processes in linear logic. In higher-order ACL, processes as well as functions, and other values can be communicated via messages, which provides high modularity of concurrent programs. Higher-order ACL can be viewed as an asynchronous counterpart of Milner's higher-order, polyadic - calculus. Moreover, higher-order 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 higher-order ACL by showing several examples of "higher-order concurrent prog...
A Calculus of Secure Mobile Computations
, 1998
"... The seal-calculus 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 seal-calculus 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 Two-Phase 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 27 (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.
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 18 (14 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 17 (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 value-passing processes in a semantics-preserving 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 inter-site and intra-site communication, the possibility of message loss in inter-site communication and a timer construct, as is often used in distributed algorithms to deal with various failure scenarios.

