Results 1  10
of
32
From Rewrite Rules to Bisimulation Congruences
 THEORETICAL COMPUTER SCIENCE
, 1998
"... The dynamics of many calculi can be most clearly defined by a reduction semantics. To work with a calculus, however, an understanding of operational congruences is fundamental; these can often be given tractable definitions or characterisations using a labelled transition semantics. This paper consi ..."
Abstract

Cited by 71 (2 self)
 Add to MetaCart
The dynamics of many calculi can be most clearly defined by a reduction semantics. To work with a calculus, however, an understanding of operational congruences is fundamental; these can often be given tractable definitions or characterisations using a labelled transition semantics. This paper considers calculi with arbitrary reduction semantics of three simple classes, firstly ground term rewriting, then leftlinear term rewriting, and then a class which is essentially the action calculi lacking substantive name binding. General definitions of labelled transitions are given in each case, uniformly in the set of rewrite rules, and without requiring the prescription of additional notions of observation. They give rise to bisimulation congruences. As a test of the theory it is shown that bisimulation for a fragment of CCS is recovered. The transitions generated for a fragment of the Ambient Calculus of Cardelli and Gordon, and for SKI combinators, are also discussed briefly.
A bisimulation for type abstraction and recursion
 SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES
, 2005
"... We present a bisimulation method for proving the contextual equivalence of packages in λcalculus with full existential and recursive types. Unlike traditional logical relations (either semantic or syntactic), our development is “elementary, ” using only sets and relations and avoiding advanced mach ..."
Abstract

Cited by 46 (4 self)
 Add to MetaCart
We present a bisimulation method for proving the contextual equivalence of packages in λcalculus with full existential and recursive types. Unlike traditional logical relations (either semantic or syntactic), our development is “elementary, ” using only sets and relations and avoiding advanced machinery such as domain theory, admissibility, and ⊤⊤closure. Unlike other bisimulations, ours is complete even for existential types. The key idea is to consider sets of relations—instead of just relations—as bisimulations.
Imperative Objects and Mobile Processes
 MATH. STRUCT. COMPUT. SCI
, 1998
"... An interpretation of Abadi and Cardelli's firstorder Imperative Object Calculus into a typed picalculus is presented. The interpretation validates the subtyping relation and the typing judgements of the Object Calculus, and is computationally adequate. The proof of computational adequacy makes use ..."
Abstract

Cited by 39 (11 self)
 Add to MetaCart
An interpretation of Abadi and Cardelli's firstorder Imperative Object Calculus into a typed picalculus is presented. The interpretation validates the subtyping relation and the typing judgements of the Object Calculus, and is computationally adequate. The proof of computational adequacy makes use of (a picalculus version) of ready simulation, and of a factorisation of the interpretation into a functional part and a very simple imperative part. The interpretation can be used to compare and contrast the Imperative and the Functional Object Calculi, and to prove properties about them, within a unified framework.
A fully abstract may testing semantics for concurrent objects
 In Proceedings of LICS ’02. IEEE, Computer
, 2002
"... This paper provides a fully abstract semantics for a variant of the concurrent object calculus. We define may testing for concurrent object components and then characterise it using a trace semantics inspired by UML interaction diagrams. The main result of this paper is to show that the trace semant ..."
Abstract

Cited by 38 (4 self)
 Add to MetaCart
This paper provides a fully abstract semantics for a variant of the concurrent object calculus. We define may testing for concurrent object components and then characterise it using a trace semantics inspired by UML interaction diagrams. The main result of this paper is to show that the trace semantics is fully abstract for may testing. This is the first such result for a concurrent object language. 1.
A Congruence Theorem for Structured Operational Semantics of HigherOrder Languages
, 1997
"... In this paper we describe the promoted tyft/tyxt rule format for defining higherorder languages. The rule format is a generalization of Groote and Vaandrager 's tyft/tyxt format in which terms are allowed as labels on transitions in rules. We prove that bisimulation is a congruence for any languag ..."
Abstract

Cited by 36 (0 self)
 Add to MetaCart
In this paper we describe the promoted tyft/tyxt rule format for defining higherorder languages. The rule format is a generalization of Groote and Vaandrager 's tyft/tyxt format in which terms are allowed as labels on transitions in rules. We prove that bisimulation is a congruence for any language defined in promoted tyft/tyxt format and demonstrate the usefulness of the rule format by presenting promoted tyft/tyxt definitions for the lazy calculus, CHOCS and the ßcalculus. 1 Introduction For a programming language definition that uses bisimulation as the notion of equivalence, it is desirable for the bisimulation relation to be compatible with the language constructs; i.e. that bisimulation be a congruence. Several rule formats have been defined, so that as long as a definition satisfies certain syntactic constraints, then the defined bisimulation relation is guaranteed to be a congruence. However these rule formats have not been widely used for defining languages with higher...
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 32 (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.
Relational Reasoning about Contexts
 HIGHER ORDER OPERATIONAL TECHNIQUES IN SEMANTICS, PUBLICATIONS OF THE NEWTON INSTITUTE
, 1998
"... ..."
Objects as Mobile Processes
 RESEARCH SERIES RS9638, BRICS
, 1996
"... The object calculus of Abadi and Cardelli [AC96, AC94b, AC94a] is intended as model of central aspects of objectoriented programming languages. In this paper we encode the object calculus in the asynchronous picalculus without matching and investigate the properties of our encoding. ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
The object calculus of Abadi and Cardelli [AC96, AC94b, AC94a] is intended as model of central aspects of objectoriented programming languages. In this paper we encode the object calculus in the asynchronous picalculus without matching and investigate the properties of our encoding.
Characterizing Convergent Terms in Object Calculi via Intersection Types
"... We give a simple characterization of convergent terms in Abadi and Cardelli untyped Object Calculus (&calculus) via intersection types. We consider a calculus with records and its intersection type assignment system. We prove that convergent terms are characterized by their types. The charact ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
We give a simple characterization of convergent terms in Abadi and Cardelli untyped Object Calculus (&calculus) via intersection types. We consider a calculus with records and its intersection type assignment system. We prove that convergent terms are characterized by their types. The characterization is then inherited by the object calculus via selfapplication interpretation.
Coinductive Techniques for Operational Equivalence of Interaction Nets
, 1998
"... In this paper we study a notion of operational equivalence for interaction nets, following the recent success of applying methods based on bisimulation to functional and object oriented programming languages. We set up notions of contextual equivalence and bisimilarity and show that they coincide. A ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
In this paper we study a notion of operational equivalence for interaction nets, following the recent success of applying methods based on bisimulation to functional and object oriented programming languages. We set up notions of contextual equivalence and bisimilarity and show that they coincide. A coinduction principle then gives a simple and robust way of showing when two interaction nets are contextually equivalent. We include several examples to demonstrate the usefulness of the approach, in particular for optimizing interaction nets. 1 Introduction One of the most fundamental notions in programming languages is that of program equivalence: when can one program fragment be replaced by another. A notion of equivalence should be substitutive so that programs remain equivalent in all contexts. Amongst other applications, this facilitates proving properties of programs, and gives a sound basis for program optimization. Interaction nets provide an interesting new perspective as both a...