Results 1 - 10
of
25
On Asynchrony in Name-Passing Calculi
- In
, 1998
"... The asynchronous pi-calculus is considered the basis of experimental programming languages (or proposal of programming languages) like Pict, Join, and Blue calculus. However, at a closer inspection, these languages are based on an even simpler calculus, called Local (L), where: (a) only the output c ..."
Abstract
-
Cited by 80 (13 self)
- Add to MetaCart
The asynchronous pi-calculus is considered the basis of experimental programming languages (or proposal of programming languages) like Pict, Join, and Blue calculus. However, at a closer inspection, these languages are based on an even simpler calculus, called Local (L), where: (a) only the output capability of names may be transmitted; (b) there is no matching or similar constructs for testing equality between names. We study the basic operational and algebraic theory of Lpi. We focus on bisimulation-based behavioural equivalences, precisely on barbed congruence. We prove two coinductive characterisations of barbed congruence in Lpi, and some basic algebraic laws. We then show applications of this theory, including: the derivability of delayed input; the correctness of an optimisation of the encoding of call-by-name lambda-calculus; the validity of some laws for Join.
A Concurrent Object Calculus: Reduction and Typing
- HLCL'98 TO APPEAR
, 1998
"... We obtain a new formalism for concurrent object-oriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from the-calculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it ..."
Abstract
-
Cited by 77 (5 self)
- Add to MetaCart
We obtain a new formalism for concurrent object-oriented languages by extending Abadi and Cardelli's imperative object calculus with operators for concurrency from the-calculus and with operators for synchronisation based on mutexes. Our syntax of terms is extremely expressive; in a precise sense it unifies notions of expression, process, store, thread, and configuration. We present a chemical-style reduction semantics, and prove it equivalent to a structural operational semantics. We identify a deterministic fragment that is closed under reduction and show that it includes the imperative object calculus. A collection of type systems for object-oriented constructs is at the heart of Abadi and Cardelli's work. We recast one of Abadi and Cardelli's first-order type systems with object types and subtyping in the setting of our calculus and prove subject reduction. Since our syntax of terms includes both stores and running expressions, we avoid the need to separate store typing from typing of expressions. We translate asynchronous communication channels and the choice-free asynchronous-calculus into our calculus to illustrate its expressiveness; the types of read-only and write-only channels are supertypes of read-write channels.
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
Compilation and Equivalence of Imperative Objects
, 1998
"... We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling objectoriented languages. We present both a big-step and a small-step substitution-based operational semantics fo ..."
Abstract
-
Cited by 34 (4 self)
- Add to MetaCart
We adopt the untyped imperative object calculus of Abadi and Cardelli as a minimal setting in which to study problems of compilation and program equivalence that arise when compiling objectoriented languages. We present both a big-step and a small-step substitution-based operational semantics for the calculus. Our rst two results are theorems asserting the equivalence of our substitutionbased semantics with a closure-based semantics like that given by Abadi and Cardelli. Our third result is a direct proof of the correctness of compilation to a stack-based abstract machine via a small-step decompilation algorithm. Our fourth result is that contextual equivalence of objects coincides with a form of Mason and Talcott's CIU equivalence; the latter provides a tractable means of establishing operational equivalences. Finally, we prove correct an algorithm, used in our prototype compiler, for statically resolving method osets. This is the rst study of correctness of an object-oriented abstract machine, and of operational equivalence for the imperative object calculus.
A Distributed Object Calculus
- In FOOL
, 2000
"... this paper, these two strands of research are brought together, to provide a model for distributed object-based languages. In doing so, two features of distributed programming become clear: ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
this paper, these two strands of research are brought together, to provide a model for distributed object-based languages. In doing so, two features of distributed programming become clear:
Aliasing Models for Object Migration
, 1999
"... In Obliq, a lexically scoped, distributed, object-oriented programming language, object migration was suggested as the creation of a copy of an object's state at the target site, followed by turning the object itself into an alias, also called surrogate, for the remote copy. We consider the crea ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
In Obliq, a lexically scoped, distributed, object-oriented programming language, object migration was suggested as the creation of a copy of an object's state at the target site, followed by turning the object itself into an alias, also called surrogate, for the remote copy. We consider the creation of object surrogates as an abstraction of the abovementioned style of migration. We introduce jeblik, a distribution-free subset of Obliq, and provide three different configuration-style semantics, which only differ in the respective aliasing model. We show that two of the semantics, one of which matches Obliq's implementation, render migration unsafe, while our new proposal for a third semantics is provably safe. Our work suggests a straightforward repair of Obliq's aliasing model such that it allows programs to safely migrate objects.
Migration = Cloning ; Aliasing (preliminary version)
"... In Obliq, a lexically scoped, distributed, object-based programming language, object migration was suggested as creating a (remote) copy of an object's state at the target site, followed by turning the (local) object itself into an alias, also called surrogate, for the just created remote copy. Ther ..."
Abstract
-
Cited by 7 (7 self)
- Add to MetaCart
In Obliq, a lexically scoped, distributed, object-based programming language, object migration was suggested as creating a (remote) copy of an object's state at the target site, followed by turning the (local) object itself into an alias, also called surrogate, for the just created remote copy. There is no proof that object migration in Obliq is safe in any sense. We consider the creation of object surrogates as an abstraction of the above-mentioned style of migration. We introduce Øjeblik, a distribution-free subset of Obliq, and provide two formal semantics, one in an intuitive configuration style, the other in terms of π-calculus. The intuitive semantics shows why surrogation is neither safe in Obliq, nor can it be so in full generality in Repliq (a repaired Obliq). The π-calculus semantics allows us to prove that surrogation in Øjeblik is safe for certain well-identified cases, thus suggesting that migration in Repliq may be safe, accordingly.
Aliasing Models for Mobile Objects
- INF. & COMP
, 1999
"... In Obliq, a lexically scoped, distributed, object-oriented programming language, object migration was suggested as the creation of a copy of an object's state at the target site, followed by turning the object itself into an alias, also called surrogate, for the remote copy. We consider the creat ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
In Obliq, a lexically scoped, distributed, object-oriented programming language, object migration was suggested as the creation of a copy of an object's state at the target site, followed by turning the object itself into an alias, also called surrogate, for the remote copy. We consider the creation of object surrogates as an abstraction of the above-mentioned style of migration. We introduce jeblik, a typed distributionfree subset of Obliq, and provide four di#erent configuration-style semantics, which only di#er in the respective aliasing model. We show that two of the semantics, one of which matches Obliq's implementation, render migration unsafe, while our new proposal allows for safe migration at least for a large class of program contexts. In addition, we propose a type system that allows a programmer to statically guarantee that programs belong to that class. Our work suggests a straightforward repair of Obliq's aliasing model.
Dynamic access control in a concurrent object calculus
- In CONCUR’06: Concurrency Theory
, 2006
"... Abstract. We develop a variant of Gordon and Hankin’s concurrent object calculus with support for flexible access control on methods. We investigate safe administration and access of shared resources in the resulting language. Specifically, we show a static type system that guarantees safe manipulat ..."
Abstract
-
Cited by 6 (6 self)
- Add to MetaCart
Abstract. We develop a variant of Gordon and Hankin’s concurrent object calculus with support for flexible access control on methods. We investigate safe administration and access of shared resources in the resulting language. Specifically, we show a static type system that guarantees safe manipulation of objects with respect to dynamic specifications, where such specifications are enforced via access changes on the underlying methods at runtime. By labeling types with secrecy groups, we show that well-typed systems preserve their secrets amidst dynamic access control and untrusted environments. 1
Locality and Polyadicity in Asynchronous Name-Passing Calculi
- LNCS 1784 (2000
, 2000
"... We give a divergence-free encoding of polyadic Local π into its monadic variant. Local π is a sub-calculus of asynchronous π-calculus where the recipients of a channel are local to the process that has created the channel. We prove the encoding fully-abstract with respect to barbed congruen ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
We give a divergence-free encoding of polyadic Local π into its monadic variant. Local π is a sub-calculus of asynchronous π-calculus where the recipients of a channel are local to the process that has created the channel. We prove the encoding fully-abstract with respect to barbed congruence. This implies that in Local π (i) polyadicity does not add extra expressive power, and (ii) when studying the theory of polyadic Local π we can focus on the simpler monadic variant. Then, we show how the idea of our encoding can be adapted to name-passing calculi with non-binding input prefix, such as Chi, Fusion and πF calculi .

