Results 1  10
of
69
Nomadic Pict: Correct Communication Infrastructure for Mobile Computation
, 2001
"... This paper addresses the design and verification of infrastructure for mobile computation. In particular, we study language primitives for communication between mobile agents. They can be classified into two groups. At a low level there are location dependent primitives that require a programmer to ..."
Abstract

Cited by 50 (12 self)
 Add to MetaCart
This paper addresses the design and verification of infrastructure for mobile computation. In particular, we study language primitives for communication 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 any migrations. Implementation of the high level requires delicate distributed infrastructure algorithms. In earlier work with Wojciechowski and Pierce we made the two levels precise as process calculi, allowing such algorithms to be expressed as encodings of the high level into the low level; we built Nomadic Pict, a distributed programming language for experimenting with such encodings. In this paper we turn to semantics, giving a definition of the core language and proving correctness of an example infrastructure. This requires novel techniques: we develop equivalences that take migration into account, and reasoning principles for agents that are temporarily immobile (eg. waiting on a lock elsewhere in the system).
Asynchronous and Deterministic Objects
 IN 31ST ACM SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES
, 2004
"... This paper aims at providing confluence and determinism properties in concurrent processes, more specifically within the paradigm of objectoriented systems. Such results should allow one to program parallel and distributed applications that behave in a deterministic manner, even if they are distrib ..."
Abstract

Cited by 36 (16 self)
 Add to MetaCart
This paper aims at providing confluence and determinism properties in concurrent processes, more specifically within the paradigm of objectoriented systems. Such results should allow one to program parallel and distributed applications that behave in a deterministic manner, even if they are distributed over local or wide area networks. For that purpose, an object calculus is proposed. Its key characteristics are asynchronous communications with futures, and sequential execution within each process. While
Solos in concert
 IN ICALP’99, LNCS 1644:513–523
, 1999
"... We present a calculus of mobile processes without prefix or summation, and using two different encodings we show that it can express both action prefix and guarded summation. One encoding gives a strong correspondence but uses a match operator; the other yields a slightly weaker correspondence but u ..."
Abstract

Cited by 21 (4 self)
 Add to MetaCart
We present a calculus of mobile processes without prefix or summation, and using two different encodings we show that it can express both action prefix and guarded summation. One encoding gives a strong correspondence but uses a match operator; the other yields a slightly weaker correspondence but uses no additional operators.
A SpatioTemporal Logic for the Specification and Refinement of Mobile Systems
 of LNCS
, 2003
"... Abstract. We define a variant of Lamport’s Temporal Logic of Actions, extended by spatial modalities, that is intended for the specification of mobile systems with distributed state. We discuss notions of refinement appropriate for mobile systems, specifically concerning the topological structure of ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
Abstract. We define a variant of Lamport’s Temporal Logic of Actions, extended by spatial modalities, that is intended for the specification of mobile systems with distributed state. We discuss notions of refinement appropriate for mobile systems, specifically concerning the topological structure of the system, and show how these can be represented in the logic via quantification and implication, ensuring transitivity and compositionality of refinements. 1
A Typed Interrupt Calculus
 In FTRTFT: Formal Techniques in RealTime and Faulttolerant Systems, LNCS 2469
, 2002
"... Most realtime systems require responsive interrupt handling. ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
Most realtime systems require responsive interrupt handling.
Psicalculi: Mobile processes, nominal data, and logic
 In Proceedings of LICS 2009
"... A psicalculus is an extension of the picalculus with nominal data types for data structures and for logical assertions representing facts about data. These can be transmitted between processes and their names can be statically scoped using the standard picalculus mechanism to allow for scope migr ..."
Abstract

Cited by 16 (8 self)
 Add to MetaCart
A psicalculus is an extension of the picalculus with nominal data types for data structures and for logical assertions representing facts about data. These can be transmitted between processes and their names can be statically scoped using the standard picalculus mechanism to allow for scope migrations. Other proposed extensions of the picalculus can be formulated as psicalculi; examples include the applied picalculus, the spicalculus, the fusion calculus, the concurrent constraint picalculus, and calculi with polyadic communication channels or pattern matching. Psicalculi can be even more general, for example by allowing structured channels, higherorder formalisms such as the lambda calculus for data structures, and a predicate logic for assertions. Our labelled operational semantics and definition of bisimulation is straightforward, without a structural congruence. We establish minimal requirements on the nominal data and logic in order to prove general algebraic properties of psicalculi. The proofs have been checked in the interactive proof checker Isabelle. We are the first to formulate a truly compositional labelled operational semantics for calculi of this calibre. Expressiveness and therefore modelling convenience significantly exceeds that of other formalisms, while the purity of the semantics is on par with the original picalculus. 1
A Broadcastbased Calculus for Communicating Systems
, 2000
"... This paper presents a process calculus for recongurable communicating systems which has broadcast as basic communication primitive, and we provide an operational semantics for this calculus. We illustrate the calculus through some examples, and we propose three behavioral equivalences for reasoning ..."
Abstract

Cited by 16 (1 self)
 Add to MetaCart
This paper presents a process calculus for recongurable communicating systems which has broadcast as basic communication primitive, and we provide an operational semantics for this calculus. We illustrate the calculus through some examples, and we propose three behavioral equivalences for reasoning about systems of broadcasting processes, namely, barbed equivalence, stepequivalence and labelled bisimilarity. An important result, is that all these relations coincide, providing dierent ways to study the equivalence/nonequivalence of two systems. Then, we provide a direct characterization for the strong congruence relation induced by these equivalences. Finally, we give a complete axiomatisation for strong congruence. 1
Solo Diagrams
 PROCEEDINGS OF TACS 2001
, 2001
"... We address the problems of implementing the
replication operator efficiently in the solos calculusa calculus of
mobile processes without prefix. This calculus is expressive enough to
admit an encoding of the whole fusion calculus and thus the
picalculus.
We show that nested occurrences of replic ..."
Abstract

Cited by 14 (2 self)
 Add to MetaCart
We address the problems of implementing the
replication operator efficiently in the solos calculusa calculus of
mobile processes without prefix. This calculus is expressive enough to
admit an encoding of the whole fusion calculus and thus the
picalculus.
We show that nested occurrences of replication can be avoided, that
the size of replicated terms can be limited to three particles, and
that the usual unfolding semantics of replication can be replaced by
three simple reduction rules. To illustrate the results and show how
the calculus can be efficiently implemented we present a graphic
representation of agents in the solos calculus, adapting ideas from
interaction diagrams and pinets.
Towards a Formal Composition Language
 Proceedings of ESEC ’97 Workshop on Foundations of ComponentBased Systems
, 1997
"... When do we call a software development environment a composition environment? A composition environment must be built of three parts: i) a reusable component library, ii) a component framework determining the software architecture, and iii) an open and flexible compositionl anguage. Most of the effo ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
When do we call a software development environment a composition environment? A composition environment must be built of three parts: i) a reusable component library, ii) a component framework determining the software architecture, and iii) an open and flexible compositionl anguage. Most of the effort in component technology was spent on the first two parts. Now it is crucial to address the last part and find an appropriate model to glue existing components together. In this work, we investigate existing component and glue models, define a set of requirements a composition language must fulfill, and report our first results using a prototype implementation of a generalpurpose composition language based on the #calculus.
A Calculus for Modeling Software Components
, 2002
"... Many competing definitions of software components have been proposed over the years, but still today there is only partial agreement over such basic issues as granularity (are components bigger or smaller than objects, packages, or application?), instantiation (do components exist at runtime or ..."
Abstract

Cited by 13 (2 self)
 Add to MetaCart
Many competing definitions of software components have been proposed over the years, but still today there is only partial agreement over such basic issues as granularity (are components bigger or smaller than objects, packages, or application?), instantiation (do components exist at runtime or only at compiletime?), and state (should we distinguish between components and "instances" of components?).