Results 1 
4 of
4
Objects and Classes, Coalgebraically
 ObjectOrientation with Parallelism and Persistence
, 1995
"... The coalgebraic perspective on objects and classes in objectoriented programming is elaborated: objects consist of a (unique) identifier, a local state, and a collection of methods described as a coalgebra; classes are coalgebraic (behavioural) specifications of objects. The creation of a "new" o ..."
Abstract

Cited by 68 (17 self)
 Add to MetaCart
The coalgebraic perspective on objects and classes in objectoriented programming is elaborated: objects consist of a (unique) identifier, a local state, and a collection of methods described as a coalgebra; classes are coalgebraic (behavioural) specifications of objects. The creation of a "new" object of a class is described in terms of the terminal coalgebra satisfying the specification. We present a notion of "totally specified" class, which leads to particularly simple terminal coalgebras. We further describe local and global operational semantics for objects. Associated with the local operational semantics is a notion of bisimulation (for objects belonging to the same class), expressing observational indistinguishability. AMS Subject Classification (1991): 18C10, 03G30 CR Subject Classification (1991): D.1.5, D.2.1, E.1, F.1.1, F.3.0 Keywords & Phrases: object, class, (terminal) coalgebra, coalgebraic specification, bisimulation 1. Introduction Within the objectoriente...
Mongruences and Cofree Coalgebras
 Algebraic Methods and Software Technology, number 936 in Lect. Notes Comp. Sci
, 1995
"... . A coalgebra is introduced here as a model of a certain signature consisting of a type X with various "destructor" function symbols, satisfying certain equations. These destructor function symbols are like methods and attributes in objectoriented programming: they provide access to the type (or st ..."
Abstract

Cited by 30 (10 self)
 Add to MetaCart
. A coalgebra is introduced here as a model of a certain signature consisting of a type X with various "destructor" function symbols, satisfying certain equations. These destructor function symbols are like methods and attributes in objectoriented programming: they provide access to the type (or state) X. We show that the category of such coalgebras and structure preserving functions is comonadic over sets. Therefore we introduce the notion of a `mongruence' (predicate) on a coalgebra. It plays the dual role of a congrence (relation) on an algebra. An algebra is a set together with a number of operations on this set which tell how to form (derived) elements in this set, possibly satisfying some equations. A typical example is a monoid, given by a set M with operations 1 ! M , M \Theta M ! M . Here 1 = f;g is a singleton set. In mathematics one usually considers only singletyped algebras, but in computer science one more naturally uses manytyped algebras like 1 ! list(A), A \Theta l...
Inheritance of Proofs
, 1996
"... The CurryHoward isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit objectoriented structuring me ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
The CurryHoward isomorphism, a fundamental property shared by many type theories, establishes a direct correspondence between programs and proofs. This suggests that the same structuring principles that ease programming be used to simplify proving as well. To exploit objectoriented structuring mechanisms for verification, we extend the objectmodel of Pierce and Turner, based on the higher order typed calculus F ! , with a proof component. By enriching the (functional) signature of objects with a specification, the methods and their correctness proofs are packed together in the objects. The uniform treatment of methods and proofs gives rise in a natural way to objectoriented proving principles  including inheritance of proofs, late binding of proofs, and encapsulation of proofs  as analogues to objectoriented programming principles. We have used Lego, a typetheoretic proof checker, to explore the feasibility of this approach. In particular, we have verified a small hier...
OPUS: a Formal Approach to ObjectOrientation
, 1994
"... OPUS is an elementary calculus that models objectorientation. ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
OPUS is an elementary calculus that models objectorientation.