Results 1  10
of
109
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 212 (18 self)
 Add to MetaCart
(Show Context)
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 116 (15 self)
 Add to MetaCart
(Show Context)
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 92 (12 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
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 69 (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.
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 68 (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.
Efficient, correct simulation of biological processes in the stochastic picalculus
 GILMORE (EDS.), PROC. INT. CONF. COMPUTATIONAL METHODS IN SYSTEMS BIOLOGY (CMSB’07
, 2007
"... 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 e ..."
Abstract

Cited by 65 (12 self)
 Add to MetaCart
(Show Context)
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.
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 61 (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 61 (6 self)
 Add to MetaCart
(Show Context)
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
A Type System for LockFree Processes
, 2002
"... Interpretation. An alternative way to analyze the behavior of a concurrent program would be to use abstract interpretation [4, 5]. Actually, from a very general viewpoint, our typebased analysis of locks can be seen as a kind of abstract interpretation. We can read a type judgment # P as "# ..."
Abstract

Cited by 56 (8 self)
 Add to MetaCart
Interpretation. An alternative way to analyze the behavior of a concurrent program would be to use abstract interpretation [4, 5]. Actually, from a very general viewpoint, our typebased analysis of locks can be seen as a kind of abstract interpretation. We can read a type judgment # P as "# is an abstraction of a concrete process P ." (The relation "#" corresponds to a pair of abstraction /concretization functions.) Indeed, we can regard a type environment as an abstract process: we have defined reductions of type environments in Section 3.7.
A Programming Language for Composable DNA Circuits
 J. R. SOC INTERFACE
, 2009
"... ..."
(Show Context)