Abstract
The co-algebraic perspective on objects and classes in object-oriented programming is elaborated: classes are described as co-algebras, which may occur as models (implementations) of co-algebraic specifications. These specifications are much like deferred (or virtual) classes with assertions in Eiffel. An object belonging to a class is an element of the state space of the class, as co-algebra. We show how terminal co-algebras of co-algebraic specifications give rise to canonical models (in which all observationally indistinguishable objects are identified). We further describe operational semantics for objects, with an associated notion of bisimulation (for objects in classes modeling the same specification), expressing observational indistinguishability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
P. Aczel and N. Mendler, A final co-algebra theorem, In: D.H. Pitt and A. Poigné and D.E. Rydeheard (eds.), Category Theory and Computer Science Springer LNCS 389, 1989, 357–365.
P. America, Designing an object-oriented language with behavioural sub-typing. In: [3], 60–90.
J.W. de Bakker, W.P. de Roever and G. Rozenberg (eds.), Foundations of Object-Oriented Languages (Springer LNCS 489, 1990).
K. Bruce, L. Cardelli, G. Castagna, The Hopkins Objects Group, G. Leavens and B. Pierce, On binary methods, Theory and Practice of Object Systems, to appear.
T. Budd, An Introduction to Object-Oriented Programming (Addison-Wesley, 1991).
R. Burstall and R. Diaconescu, Hiding and behaviour: an institutional approach. In: A.W. Roscoe (ed.), A Classical Mind. Essays in honour of C.A.R. Hoare (Prentice Hall, 1994), 75–92.
L. Cardelli and P. Wegner, On understanding types, data abstraction and polymorphism, ACM Comp. Surv. 4 (1985), 471–522.
J.R.B. Cockett and D. Spencer, Strong categorical datatypes I. In: R.A.G. Seely (ed.), Category Theory 1991 (CMS Conference Proceedings 13, 1992), 141–169.
W.R. Cook, Object-oriented programming versus abstract data types. In: [3], 151–178.
A. Eliëns, Principles of Object-Oriented Software Development (Addison-Wesley, 1995).
L.M.G. Feijs and H.B.M. Jonkers, Formal Specification and Design (Cambridge Univ. Press, Tracts in Theor. Comp. Sci. 5, 1992).
J.A. Goguen, Realization is universal, Math. Syst. Theory 6(4) (1973), 359–374.
J.A. Goguen, Types as Theories. In: G.M. Reed. A.W. Roscoe and R.F. Wachter (eds.), Topology and Category Theory in Computer Science (Oxford Univ. Press, 1991), 357–390.
J.A. Goguen and J. Meseguer, Unifying functional, object-oriented and relational programming with logical semantics. In: B. Shriver and P. Weg-ner (eds.), Research Directions in Object-Oriented Programming (The MIT Press series in computer systems, 1987), 417–477.
M. Hofmann and B. Pierce, A unifying type-theoretic framework for objects, Journ. Fund. Progr., to appear.
B. Jacobs, Mongruences and cofree co-algebras. In: V.S. Alagar and M. Nivat (eds., Algebraic Methods and Software Technology (Springer LNCS 936, 1995), 245–260.
B. Jacobs, Inheritance and cofree constructions. In: P. Cointe (ed.), European Conference on Object-Oriented Programming (Springer LNCS, 1996, to appear).
B. Jacobs, Co-algebraic specifications and models of deterministic hybrid systems. In: M. Wirsing (ed.), Algebraic Methods and Software Technology (Springer LNCS, 1996, to appear).
S. Kamin, Final data types and their specification, ACM Trans, on Progr. Lang, and Systems 5(1) (1983), 97–123.
J. Meseguer and J.A. Goguen, Initiality, induction and computability. In: M. Nivat and J.C. Reynolds (eds.), Algebraic Methods in Semantics (Cambridge Univ. Press, 1985), 459–541.
B. Meyer, Object-Oriented Software Construction (Prentice Hall, 1988).
J.C. Mitchell and G.D. Plotkin, Abstract types have existential type, ACM Trans, on Progr. Lang, and Systems 10(3) (1988), 470–502.
B.C. Pierce and D.N. Turner, Simple type theoretic foundation for object-oriented programming Journ. Fund. Progr. 4(2) (1994), 207–247.
H. Reichel, An approach to object semantics based on terminal co-algebras Math. Struct, in Comp. Sci. 5 (1995), 129–152.
J. Rutten and D. Turi, On the foundations of final semantics: nonstandard sets, metric spaces and partial orders. In: J.W. de Bakker, W.P. de Roever, and G. Rozenberg (eds.), Semantics: Foundations and Applications. (Springer LNCS 666, 1993), 477–530.
M.B. Smyth and G.D. Plotkin, The category theoretic solution of recursive domain equations, SIAM Journ. Comput. 11 (1982) 761–783.
P. Wegner, Concepts and paradigms of object-oriented programming, OOPS Messenger 1(1) (1990), 7–87.
M. Wirsing, Algebraic Specification. In: J. van Leeuwen (ed.), Handbook of Theoretical Computer Science, Elsevier/MIT Press 1990, Volume B, 673–788.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1996 Kluwer Academic Publishers
About this chapter
Cite this chapter
Jacobs, B. (1996). Objects And Classes, Co-Algebraically. In: Freitag, B., Jones, C.B., Lengauer, C., Schek, HJ. (eds) Object Orientation with Parallelism and Persistence. The Kluwer International Series in Engineering and Computer Science, vol 370. Springer, Boston, MA. https://doi.org/10.1007/978-1-4613-1437-0_5
Download citation
DOI: https://doi.org/10.1007/978-1-4613-1437-0_5
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4612-8625-7
Online ISBN: 978-1-4613-1437-0
eBook Packages: Springer Book Archive