Results 1  10
of
71
Resource Access Control in Systems of Mobile Agents
 Information and Computation
, 1998
"... INTRODUCTION Mobile computation, where independent agents roam widely distributed networks in search of resources and information, is fast becoming a reality. A number of programming languages, APIs and protocols have recently emerged which seek to provide highlevel support for mobile agents. These ..."
Abstract

Cited by 201 (19 self)
 Add to MetaCart
INTRODUCTION Mobile computation, where independent agents roam widely distributed networks in search of resources and information, is fast becoming a reality. A number of programming languages, APIs and protocols have recently emerged which seek to provide highlevel support for mobile agents. These include Java [30], Odyssey [15], Aglets [19], Voyager [24] and the latest revisions of the Internet protocol [25, 2]. In addition to these commercial efforts, many prototype languages have been developed and implemented within the programming language research community  examples include Linda [8, 9], Facile [16], Obliq [7], Infospheres [11], the join calculus [13], and Nomadic Pict [33]. In this paper we address the issue of resource access control for such languages. Central to the paradigm of mobile computation are the notions of agent, resource and location. Agents are effective entities that perform computation and interact with other First publis
Nomadic Pict: Language and Infrastructure Design for Mobile Agents
 IEEE Concurrency
, 1999
"... We study the distributed infrastructures required for locationindependent communication between migrating agents. These infrastructures are problematic: different applications may have very different patterns of migration and communication, and require different performance and robustness propertie ..."
Abstract

Cited by 103 (15 self)
 Add to MetaCart
We study the distributed infrastructures required for locationindependent communication between migrating agents. These infrastructures are problematic: different applications may have very different patterns of migration and communication, and require different performance and robustness properties; algorithms must be designed with these in mind. To study this problem we introduce an agent programming language  Nomadic Pict. It is designed to allow infrastructure algorithms to be expressed as clearly as possible, as translations from a highlevel language to a low level. The levels are based on rigorouslydefined process calculi, they provide sharp levels of abstraction. In this paper we describe the language and use it to develop an infrastructure for an example application. The language and examples have been implemented; we conclude with a description of the compiler and runtime.
A correct abstract machine for the stochastic picalculus
 In Bioconcur’04. ENTCS
, 2004
"... Abstract. This paper presents an abstract machine for a variant of the stochastic picalculus, in order to correctly model the stochastic simulation of biological processes. The abstract machine is proved sound and complete with respect to the calculus, and then used as the basis for implementing a ..."
Abstract

Cited by 76 (10 self)
 Add to MetaCart
Abstract. This paper presents an abstract machine for a variant of the stochastic picalculus, in order to correctly model the stochastic simulation of biological processes. The abstract machine is proved sound and complete with respect to the calculus, and then used as the basis for implementing a stochastic simulator. The correctness of the machine helps ensure that the simulator is correctly implemented, giving greater confidence in the simulation results. A graphical representation for the picalculus is also presented, as a potential frontend to the simulator. 1
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.
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 continuation pas ..."
Abstract

Cited by 64 (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.
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.
Types and subtypes for clientserver interactions
 Proceedings of the 1999 European Symposium on Programming, number 1576 in Lecture Notes in Computer Science
, 1999
"... Abstract. We define an extension of the πcalculus with a static type system which supports highlevel specifications of extended patterns of communication, such as clientserver protocols. Subtyping allows protocol specifications to be extended in order to describe richer behaviour; an implemented ..."
Abstract

Cited by 49 (6 self)
 Add to MetaCart
Abstract. We define an extension of the πcalculus with a static type system which supports highlevel specifications of extended patterns of communication, such as clientserver protocols. Subtyping allows protocol specifications to be extended in order to describe richer behaviour; an implemented server can then be replaced by a refined implementation, without invalidating typecorrectness of the overall system. We use the POP3 protocol as a concrete example of this technique. 1
Efficient, correct simulation of biological processes in the stochastic picalculus
 Gilmore (Eds.), Proc. Int. Conf. Computational Methods in Systems Biology (CMSB’07
, 2007
"... Abstract. This paper presents a simulation algorithm for the stochastic πcalculus, designed for the efficient simulation of biological systems with large numbers of molecules. The cost of a simulation depends on the number of species, rather than the number of molecules, resulting in a significant ..."
Abstract

Cited by 42 (13 self)
 Add to MetaCart
Abstract. This paper presents a simulation algorithm for the stochastic πcalculus, designed for the efficient simulation of biological systems with large numbers of molecules. The cost of a simulation depends on the number of species, rather than the number of molecules, resulting in a significant gain in efficiency. The algorithm is proved correct with respect to the calculus, and then used as a basis for implementing the latest version of the SPiM stochastic simulator. The algorithm is also suitable for generating graphical animations of simulations, in order to visualise system dynamics. 1
Imperative Objects and Mobile Processes
 MATH. STRUCT. COMPUT. SCI
, 1998
"... An interpretation of Abadi and Cardelli's firstorder Imperative Object Calculus into a typed picalculus is presented. The interpretation validates the subtyping relation and the typing judgements of the Object Calculus, and is computationally adequate. The proof of computational adequacy makes use ..."
Abstract

Cited by 41 (13 self)
 Add to MetaCart
An interpretation of Abadi and Cardelli's firstorder Imperative Object Calculus into a typed picalculus is presented. The interpretation validates the subtyping relation and the typing judgements of the Object Calculus, and is computationally adequate. The proof of computational adequacy makes use of (a picalculus version) of ready simulation, and of a factorisation of the interpretation into a functional part and a very simple imperative part. The interpretation can be used to compare and contrast the Imperative and the Functional Object Calculi, and to prove properties about them, within a unified framework.
Logical Relations for Encryption
, 2002
"... The theory of relational parametricity and its logical relations proof technique are powerful tools for reasoning about information hiding in the polymorphic calculus. We investigate the application of these tools in the security domain by defining a cryptographic calculusan extension of the ..."
Abstract

Cited by 38 (2 self)
 Add to MetaCart
The theory of relational parametricity and its logical relations proof technique are powerful tools for reasoning about information hiding in the polymorphic calculus. We investigate the application of these tools in the security domain by defining a cryptographic calculusan extension of the standard simply typed calculus with primitives for encryption, decryption, and key generation and introducing syntactic logical relations (in the style of Pitts and BirkedalHarper) for this calculus that can be used to prove behavioral equivalences between programs that use encryption. We illustrate