Loading…
Coalgebraic description of generalised binary methods
We extend the coalgebraic account of specification and refinement of objects and classes in object-oriented programming given by Reichel and Jacobs to (generalised) binary methods. These are methods that take more than one parameter of a class type. Class types include products, sums and powerset ty...
Saved in:
Published in: | Mathematical structures in computer science 2007-08, Vol.17 (4), p.647-673 |
---|---|
Main Authors: | , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Summary: | We extend the coalgebraic account of specification and refinement of objects and classes in object-oriented programming given by Reichel and Jacobs to (generalised) binary methods. These are methods that take more than one parameter of a class type. Class types include products, sums and powerset type constructors. To allow for class constructors, we model classes as bialgebras. We study and compare two solutions for modelling generalised binary methods, which use purely covariant functors. In the first solution, which applies when we already have a class implementation, we reduce the behaviour of a generalised binary method to that of a bunch of unary methods. These are obtained by freezing the types of the extra class parameters to constant types. If all parameter types are finitary, the bisimilarity equivalence induced on objects by this model yields the greatest congruence with respect to method application. In the second solution, we treat binary methods as graphs instead of functions, thus turning contravariant occurrences in the functor into covariant ones. We show the existence of final coalgebras in both cases. |
---|---|
ISSN: | 0960-1295 1469-8072 |
DOI: | 10.1017/S0960129507006214 |