Results 1 
9 of
9
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 bigstep and a smallstep substitutionbased 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 bigstep and a smallstep substitutionbased operational semantics for the calculus. Our rst two results are theorems asserting the equivalence of our substitutionbased semantics with a closurebased semantics like that given by Abadi and Cardelli. Our third result is a direct proof of the correctness of compilation to a stackbased abstract machine via a smallstep 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 objectoriented abstract machine, and of operational equivalence for the imperative object calculus.
Semantic Types: A Fresh Look at the Ideal Model for Types
, 2004
"... We present a generalization of the ideal model for recursive polymorphic types. Types are defined as sets of terms instead of sets of elements of a semantic domain. Our proof of the existence of types (computed by fixpoint of a typing operator) does not rely on metric properties, but on the fact tha ..."
Abstract

Cited by 23 (2 self)
 Add to MetaCart
We present a generalization of the ideal model for recursive polymorphic types. Types are defined as sets of terms instead of sets of elements of a semantic domain. Our proof of the existence of types (computed by fixpoint of a typing operator) does not rely on metric properties, but on the fact that the identity is the limit of a sequence of projection terms. This establishes a connection with the work of Pitts on relational properties of domains. This also suggests that ideals are better understood as closed sets of terms defined by orthogonality with respect to a set of contexts.
Plan in Maude: Specifying an Active Network Programming Language
 Proc. 4th. Intl. Workshop on Rewriting Logic and its Applications. ENTCS, Elsevier
, 2002
"... PLAN is a language designed for programming active networks, and can more generally be regarded as a model of mobile computation. PLAN generalizes the paradigm of imperative functional programming in an elegant way that allows for recursive, remote function calls, and it provides a clear mechanism f ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
PLAN is a language designed for programming active networks, and can more generally be regarded as a model of mobile computation. PLAN generalizes the paradigm of imperative functional programming in an elegant way that allows for recursive, remote function calls, and it provides a clear mechanism for the interaction between host and mobile code. Techniques for specifying and reasoning about such languages are of growing importance. In this paper we describe our specification of PLAN in the rewriting logic language Maude. We show how techniques for specifying the operational semantics of imperative functional programs (syntaxbased semantics) and for formalizing variable binding constructs and mobile environments (CINNI calculus) are used in combination with the natural representation of concurrency and distribution provided by rewriting logic to develop a faithful description of the informal PLAN semantics. We also illustrate the widespectrum approach to formal modeling supported by Maude: executing PLAN programs; analyzing PLAN programs using search and modelchecking; proving properties of particular PLAN programs; and proving general properties of the PLAN language.
Names, Equations, Relations: Practical Ways to Reason about new
, 1996
"... The nucalculus of Pitts and Stark is a typed lambdacalculus, extended with state in the form of dynamicallygenerated names. These names can be created locally, passed around, and compared with one another. Through the interaction between names and functions, the language can capture notions of sc ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The nucalculus of Pitts and Stark is a typed lambdacalculus, extended with state in the form of dynamicallygenerated names. These names can be created locally, passed around, and compared with one another. Through the interaction between names and functions, the language can capture notions of scope, visibility and sharing. Originally motivated by the study of references in Standard ML, the nucalculus has connections to other kinds of local declaration, and to the mobile processes of the calculus. This
Reasoning about Denotations of Recursive Objects
, 2006
"... I hereby declare that this thesis has not been previously submitted, either in the same or different form, to this or any other university for a degree. Signature: Preface The contents of Part II were obtained as the result of joint research with my supervisor, Dr. Bernhard Reus. A preliminary versi ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
I hereby declare that this thesis has not been previously submitted, either in the same or different form, to this or any other university for a degree. Signature: Preface The contents of Part II were obtained as the result of joint research with my supervisor, Dr. Bernhard Reus. A preliminary version of this chapter appeared as a University of
Bisimilarity for the region calculus
 HigherOrder and Symbolic Computation
"... Abstract. A region calculus is a programming language calculus with explicit instrumentation for memory management. Every value is annotated with a region in which it is stored and regions are allocated and deallocated in a stacklike fashion. The annotations can be statically inferred by a type and ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Abstract. A region calculus is a programming language calculus with explicit instrumentation for memory management. Every value is annotated with a region in which it is stored and regions are allocated and deallocated in a stacklike fashion. The annotations can be statically inferred by a type and effect system, making a region calculus suitable as an intermediate language for a compiler of statically typed programming languages. Although a lot of attention has been paid to type soundness properties of different flavors of region calculi, it seems that little effort has been made to develop a semantic framework. In this paper, we present a theory based on bisimulation, which serves as a coinductive proof principle for showing equivalences of polymorphically regionannotated terms. Our notion of bisimilarity is reminiscent of open bisimilarity for the πcalculus and we prove it sound and complete with respect to Morrisstyle contextual equivalence. As an application, we formulate a syntactic equational theory, which is used elsewhere to prove the soundness of a specializer based on region inference. We use our bisimulation framework to show that the equational theory is sound with respect to contextual equivalence.
On the observational theory of the CPScalculus ∗
"... We study the observational theory of Thielecke’s CPScalculus, a distillation of the target language of ContinuationPassing Style transforms. We define a labelled transition system for the CPScalculus from which we derive a (weak) labelled bisimilarity that completely characterises Morris ’ contex ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We study the observational theory of Thielecke’s CPScalculus, a distillation of the target language of ContinuationPassing Style transforms. We define a labelled transition system for the CPScalculus from which we derive a (weak) labelled bisimilarity that completely characterises Morris ’ contextequivalence. We prove a context lemma showing that Morris ’ contextequivalence coincides with a simpler contextequivalence closed under a smaller class of contexts. Then we profit of the determinism of the CPScalculus to give a simpler labelled characterisation of Morris ’ equivalence, in the style of Abramsky’s applicative bisimilarity. We enhance our bisimulation proofmethods with upto bisimilarity and upto context proof techniques. We use our bisimulation proof techniques to investigate a few algebraic properties on diverging terms that cannot be proved using the original axiomatic semantics of the CPScalculus. Finally, we prove the full abstraction of Thielecke’s encoding of the CPScalculus into a fragment of Fournet and Gonthier’s Joincalculus with single pattern definitions. 1
An Equational Theory for a Region Calculus
, 2002
"... A region calculus is a polymorphically typed lambda calculus with explicit memory management primitives. Every value is annotated with a region in which it is stored. Regions are allocated and deallocated in a stacklike fashion. The annotations can be statically inferred by a type and eect syst ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
A region calculus is a polymorphically typed lambda calculus with explicit memory management primitives. Every value is annotated with a region in which it is stored. Regions are allocated and deallocated in a stacklike fashion. The annotations can be statically inferred by a type and eect system, making a region calculus suitable as an intermediate language for a compiler of statically typed programming languages.