Results 11  20
of
47
Logical equivalence for subtyping object and recursive types
"... Subtyping in first order object calculi is studied with respect to the logical semantics obtained by identifying terms that satisfy the same set of predicates, as formalised through an assignment system. It is shown that equality in the full first order ςcalculus is modelled by this notion, which i ..."
Abstract

Cited by 11 (9 self)
 Add to MetaCart
Subtyping in first order object calculi is studied with respect to the logical semantics obtained by identifying terms that satisfy the same set of predicates, as formalised through an assignment system. It is shown that equality in the full first order ςcalculus is modelled by this notion, which in turn is included in a Morrisstyle contextual equivalence.
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 10 (6 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...
Objects, Types and Modal Logics
, 1996
"... In this paper we present a modal logic for describing properties of terms in the object calculus of Abadi and Cardelli [AC96]. The logic is essentially the modal mucalculus of [Koz83]. The fragment allows us to express the temporal modalities of the logic CTL [BAMP83]. We investigate the connec ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
(Show Context)
In this paper we present a modal logic for describing properties of terms in the object calculus of Abadi and Cardelli [AC96]. The logic is essentially the modal mucalculus of [Koz83]. The fragment allows us to express the temporal modalities of the logic CTL [BAMP83]. We investigate the connection between the type system Ob 1!: and the mucalculus, providing a translation of types into modal formulae and an ordering on formulae that is sound w.r.t. to the subtype ordering of Ob 1!: .
From Applicative to Environmental Bisimulation
 MFPS 2011
, 2011
"... We illuminate important aspects of the semantics of higherorder functions that are common in the presence of local state, exceptions, names and type abstraction via a series of examples that add to those given by Stark. Most importantly we show that any of these language features gives rise to the ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
We illuminate important aspects of the semantics of higherorder functions that are common in the presence of local state, exceptions, names and type abstraction via a series of examples that add to those given by Stark. Most importantly we show that any of these language features gives rise to the phenomenon that certain behaviour of higherorder functions can only be observed by providing them with arguments which internally call the functions again. Other examples show the need for the observer to accumulate values received from the program and generate new names. This provides evidence for the necessity of complex conditions for functions in the definition of environmental bisimulation, which deviates in each of these ways from that of applicative bisimulation.
Labelled Reductions, Runtime Errors, and Operational Subsumption
 of Lecture Notes in Computer Science
, 1997
"... Introduction Consider the "nameswitching" function F def = x:fl 1 = x:l 2 ; l 2 = x:l 1 g in a  calculus with records. Most type systems would reject program (Ffl 1 = 3g):l 2 because the type of F is fl 1 : X; l 2 : Y g ! fl 2 : Y; l 1 : Xg and fl 1 : X; l 2 : Y g cannot be unified ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Introduction Consider the "nameswitching" function F def = x:fl 1 = x:l 2 ; l 2 = x:l 1 g in a  calculus with records. Most type systems would reject program (Ffl 1 = 3g):l 2 because the type of F is fl 1 : X; l 2 : Y g ! fl 2 : Y; l 1 : Xg and fl 1 : X; l 2 : Y g cannot be unified with fl 1 : Intg, the type of the record argument. However this program reduces to 3 without error. This shows that the common notion of "erroneous" terms, as implemented in most typed languages, is sometimes
Object calculus and the objectoriented analysis and design of an error sensitive GIS
, 2001
"... The use of objectoriented analysis and design (OOAD) in GIS research, development and application is now well established. However, the tendency towards informality in OOAD techniques means many of the potential benefits of objectorientation (OO) are being discounted. Recent advances in the formal ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
The use of objectoriented analysis and design (OOAD) in GIS research, development and application is now well established. However, the tendency towards informality in OOAD techniques means many of the potential benefits of objectorientation (OO) are being discounted. Recent advances in the formal representation of OO systems may help realise these benefits with respect to some of the key contemporary issues in GIS. This paper examines the application of one particular OO formalism, the sigma calculus of Abadi and Cardelli, to a longstanding unresolved research problem in GIS: the development of an errorsensitive GIS. The work indicates that significant enhancements in the exploration, verification and understanding of OO systems can be achieved through the use of sigmacalculus in support of conventional OOAD techniques.
Equational reasoning with subtypes
 Iowa State University
, 2002
"... Abstract. Using equational logic as a specification language, we investigate the proof theory of behavioral subtyping for objectoriented abstract data types with immutable objects and deterministic methods that can use multiple dispatch. In particular, we investigate a proof technique for correct b ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Using equational logic as a specification language, we investigate the proof theory of behavioral subtyping for objectoriented abstract data types with immutable objects and deterministic methods that can use multiple dispatch. In particular, we investigate a proof technique for correct behavioral subtyping in which each subtype’s specification includes terms that can be used to coerce its objects to objects of each of its supertypes. We show that this technique is sound, using our previous work on the model theory of such abstract data types. We also give an example to show that the technique is not complete, even if the methods do not use multiple dispatch, and even if types specified are termgenerated. In preparation for the results on equational subtyping we develop the proof theory of a richer form of equational logic that is suitable for dealing with subtyping and behavioral equivalence. This gives some insight into question of when our proof techniques can be make effectively computable, but in general behavioral consequence is not effectively computable. 1.
A mechanized model of the theory of objects
 In 9th IFIP International Conference on Formal Methods for Open ObjectBased Distributed Systems (FMOODS), LNCS
, 2007
"... Abstract. In this paper we present a formalization of Abadi’s and Cardelli’s theory of objects in the interactive theorem prover Isabelle/HOL. Our motivation is to build a mechanized HOLframework for the analysis of a functional calculus for distributed objects. In particular, we present (a) a form ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
Abstract. In this paper we present a formalization of Abadi’s and Cardelli’s theory of objects in the interactive theorem prover Isabelle/HOL. Our motivation is to build a mechanized HOLframework for the analysis of a functional calculus for distributed objects. In particular, we present (a) a formal model of objects and its operational semantics based on de Bruijn indices (b) a parallel reduction relation for objects (c) the proof of confluence for the theory of objects reusing Nipkow’s HOLframework for the lambda calculus. We expect this framework to be highly reusable and allow further development and mechanized proofs of various aspects of object theory, e.g., distribution, aspect orientation, typing. 1
The Coverage of Operational Semantics
 Higher Order Operational Techniques in Semantics, Publications of the Newton Institute
, 1998
"... Techniques of operational semantics do not apply universally to all language varieties: techniques that work for simple functional languages may not apply to more realistic languages with features such as objects and memory effects. We focus mainly on the characterization of the socalled finite ele ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
(Show Context)
Techniques of operational semantics do not apply universally to all language varieties: techniques that work for simple functional languages may not apply to more realistic languages with features such as objects and memory effects. We focus mainly on the characterization of the socalled finite elements. The presence of finite elements in a semantics allows for an additional powerful induction mechanism. We show that in some languages a reasonable notion of finite element may be defined, but for other languages this is problematic, and we analyse the reasons for these difficulties. We develop a formal theory of language embeddings and establish a number of properties of embeddings. More complex languages are given semantics by embedding them into simpler languages. Embeddings may be used to establish more general results and avoid reproving some results. It also gives us a formal metric to describe the gap between different languages. Dimensions of the untyped programming language design space addressed here include functions, injections, pairs, objects, and memories. 1