Results 1  10
of
16
Decoding Choice Encodings
, 1999
"... We study two encodings of the asynchronous #calculus with inputguarded choice into its choicefree fragment. One encoding is divergencefree, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is ..."
Abstract

Cited by 97 (5 self)
 Add to MetaCart
We study two encodings of the asynchronous #calculus with inputguarded choice into its choicefree fragment. One encoding is divergencefree, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is fully abstract with respect to weak bisimulation, but the more natural divergencefree encoding is not. Instead, we show that it is fully abstract with respect to coupled simulation, a slightly coarserbut still coinductively definedequivalence that does not enforce bisimilarity of internal branching decisions. The correctness proofs for the two choice encodings introduce a novel proof technique exploiting the properties of explicit decodings from translations to source terms.
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.
History Dependent Automata
, 2001
"... In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated i ..."
Abstract

Cited by 29 (8 self)
 Add to MetaCart
In this paper we present historydependent automata (HDautomata in brief). They are an extension of ordinary automata that overcomes their limitations in dealing with historydependent formalisms. In a historydependent formalism the actions that a system can perform carry information generated in the past history of the system. The most interesting example is calculus: channel names can be created by some actions and they can then be referenced by successive actions. Other examples are CCS with localities and the historypreserving semantics of Petri nets. Ordinary
Trios in Concert
 Proof, Language and Interaction: Essays in Honour of Robin Milner
, 1998
"... A trio is a term ff : fi : fl : 0 in the polyadic ßcalculus. We show that restricted parallel composition of possibly replicated trios, where at most one contains a bound output prefix, is enough to obtain the expressive power of the full summationfree ßcalculus up to weak bisimulation equivalenc ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
A trio is a term ff : fi : fl : 0 in the polyadic ßcalculus. We show that restricted parallel composition of possibly replicated trios, where at most one contains a bound output prefix, is enough to obtain the expressive power of the full summationfree ßcalculus up to weak bisimulation equivalence. Therefore that fragment of the calculus is undecidable. 1 Introduction The ßcalculus [MPW92, Mil91] is a basic calculus for describing reactive processes, i.e., processes that continually interact with an environment. Although there is yet no definite measure on its expressiveness there is strong evidence that its primitives are enough for a wide variety of purposes. Within the ßcalculus it is possible to naturally encode the functional paradigms of the calculus [Mil92] and of object oriented formalisms [Wal95]. The ability to directly represent mobility, in the sense of processes that reconfigure their interconnection structure when they execute, makes it easy to model systems where ...
A Semantic Theory for ValuePassing Processes Late Approach  Part I: A Denotational Model and Its Complete Axiomatization
, 1995
"... A general class of languages and denotational models for valuepassing calculi based on the late semantic approach is defined. A concrete instantiation of the general syntax is given. This is a modification of the standard CCS according to the late approach. A denotational model for the concrete ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
A general class of languages and denotational models for valuepassing calculi based on the late semantic approach is defined. A concrete instantiation of the general syntax is given. This is a modification of the standard CCS according to the late approach. A denotational model for the concrete language is given, an instantiation of the general class. An equationally based proof system is defined and shown to be sound and complete with respect to the model.
Proof Systems for piCalculus Logics
, 2001
"... In this paper we study the problem of verifying general temporal and functional properties of mobile and dynamic process networks, cast in terms of the picalculus. Much of the expressive power of this calculus derives from the combination of name generation and communication (to handle mobility ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
In this paper we study the problem of verifying general temporal and functional properties of mobile and dynamic process networks, cast in terms of the picalculus. Much of the expressive power of this calculus derives from the combination of name generation and communication (to handle mobility) with dynamic process creation. In the paper we introduce the calculus, an extension of the modal mucalculus with name equality, inequality, firstorder universal and existential quantification, and primitives for name input and output as an appropriate temporal logic for the picalculus. A compositional proof system is given with the scope of verifying dynamic networks of picalculus agents against properties specified in this logic. The proof system consists of a local part based, roughly, on the classical sequent calculus extended with data structures for private names, and rules to support process structure dependent reasoning. In addition the proof system contains a rule of...
Semantics of a HigherOrder Coordination Language
 Coordination Languages and Models, First Intl. Conf
"... . A distributed program can be viewed as a composition of three parts. Firstly, there is a coordination part which provides a hierarchical structure of components with dynamic binding. Secondly, there is the actual communication part which provides the interaction and synchronisation required by the ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
. A distributed program can be viewed as a composition of three parts. Firstly, there is a coordination part which provides a hierarchical structure of components with dynamic binding. Secondly, there is the actual communication part which provides the interaction and synchronisation required by the system. Finally, there is the computation part providing the component programs. Darwin is a language for describing distributed configurations in terms of component types, their instantiation to components with interfaces and the binding of those interfaces. A Darwin program thus defines a class of configurations. Although the language is very small it contains secondorder constructs: component types can appear as parameters in the instantiation of other component types. Furthermore Darwin provides support for dynamic runtime instantiation of components. Component types therefore must have a runtime representation. The coordination part of a distributed program has to be closely associa...
Making Components Move: A Separation of Concerns Approach
 In Proc. First Internat. Symposium on Formal Methods for Components and Objects, FMCO’02
, 2002
"... We present a new calculus for mobile systems, the main feature of which is the separation between dynamic and topological aspects of distributed computations. Our calculus realises the following basic assumptions: (1) every computation executes in a uniquely determined location (2) processes modi ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
We present a new calculus for mobile systems, the main feature of which is the separation between dynamic and topological aspects of distributed computations. Our calculus realises the following basic assumptions: (1) every computation executes in a uniquely determined location (2) processes modify the distributed structure by means of predefined operations, and (3) the underlying programming language can be changed easily. This paper introduces our calculus, and shows, that this separation of concerns leads to a perfect match between the logical, syntactical and algebraic theory. On the methodological side, we demonstrate by means of two examples, that the strict distinction between topological and computational aspects allows for an easy integration of features, which are missing in other calculi.
Dynamic Channel Screening in the Higher Order piCalculus
"... Recently programming languages have been designed to support mobile code, i.e. higherorder code that is transferred from a remote location or domain and executed within the local environment. This may expose the internal interfaces and objects within a location to attacks by mobile code. In this wo ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Recently programming languages have been designed to support mobile code, i.e. higherorder code that is transferred from a remote location or domain and executed within the local environment. This may expose the internal interfaces and objects within a location to attacks by mobile code. In this work, we propose an extension of notations based on the HigherOrder calculus with a primitive operator whose role is to protect internal interfaces by dynamically restricting the visibility of channels. The usefulness of these operators is illustrated by applications involving resource access control. We show how restrictions on the behaviour of processes based on the notion of process type [16], and intended to be checked statically, can be enforced dynamically with the aid of the filter operator.
A Language for Describing Wireless Mobile Applications with Dynamic Establishment of Multiway Synchronization Channels
 of Multiway Synchronization Channels , Proc. of Int’l. Symp. of Formal Methods Europe (FME2002), LNCS2391
, 2002
"... In this paper, we define a new language called LOTOS/M which enables dynamic establishment of multiway synchronization channels among multiple agents (processes running on mobile hosts) on ad hoc networks, and show how it can be applied to designing wireless mobile applications. In LOTOS/M, a syste ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
In this paper, we define a new language called LOTOS/M which enables dynamic establishment of multiway synchronization channels among multiple agents (processes running on mobile hosts) on ad hoc networks, and show how it can be applied to designing wireless mobile applications. In LOTOS/M, a system specification is given by a set of independent agents. When a pair of agents is in a state capable of communicating with each other, a synchronization relation on a given gate (channel) list can dynamically be assigned to them by a new facility of LOTOS/M: (i) advertisement for a synchronization peer on a gate list and (ii) participation in the advertised synchronization. The synchronization relation on the same gate list can also be assigned to multiple agents to establish a multiway synchronization channel incrementally so that the agents can exchange data through the channel. When an agent goes in a state incapable of communication, a synchronization relation assigned to the agent is canceled and it can run independently of the others. By describing some examples, we have confirmed that typical wireless mobile systems can easily be specified in LOTOS/M, and that they can be implemented efficiently with our LOTOS/M to Java compiler. 1