Skip to main content

Part of the book series: The Kluwer International Series in Engineering and Computer Science ((SECS,volume 370))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Chapter  Google Scholar 

  2. P. America, Designing an object-oriented language with behavioural sub-typing. In: [3], 60–90.

    Chapter  Google Scholar 

  3. J.W. de Bakker, W.P. de Roever and G. Rozenberg (eds.), Foundations of Object-Oriented Languages (Springer LNCS 489, 1990).

    Google Scholar 

  4. 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.

    Google Scholar 

  5. T. Budd, An Introduction to Object-Oriented Programming (Addison-Wesley, 1991).

    Google Scholar 

  6. 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.

    Google Scholar 

  7. L. Cardelli and P. Wegner, On understanding types, data abstraction and polymorphism, ACM Comp. Surv. 4 (1985), 471–522.

    Article  Google Scholar 

  8. 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.

    Google Scholar 

  9. W.R. Cook, Object-oriented programming versus abstract data types. In: [3], 151–178.

    Chapter  Google Scholar 

  10. A. Eliëns, Principles of Object-Oriented Software Development (Addison-Wesley, 1995).

    MATH  Google Scholar 

  11. L.M.G. Feijs and H.B.M. Jonkers, Formal Specification and Design (Cambridge Univ. Press, Tracts in Theor. Comp. Sci. 5, 1992).

    Book  MATH  Google Scholar 

  12. J.A. Goguen, Realization is universal, Math. Syst. Theory 6(4) (1973), 359–374.

    Article  MathSciNet  MATH  Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. M. Hofmann and B. Pierce, A unifying type-theoretic framework for objects, Journ. Fund. Progr., to appear.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. B. Jacobs, Inheritance and cofree constructions. In: P. Cointe (ed.), European Conference on Object-Oriented Programming (Springer LNCS, 1996, to appear).

    Google Scholar 

  18. 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).

    Google Scholar 

  19. S. Kamin, Final data types and their specification, ACM Trans, on Progr. Lang, and Systems 5(1) (1983), 97–123.

    Article  MATH  Google Scholar 

  20. 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.

    Google Scholar 

  21. B. Meyer, Object-Oriented Software Construction (Prentice Hall, 1988).

    Google Scholar 

  22. J.C. Mitchell and G.D. Plotkin, Abstract types have existential type, ACM Trans, on Progr. Lang, and Systems 10(3) (1988), 470–502.

    Article  Google Scholar 

  23. B.C. Pierce and D.N. Turner, Simple type theoretic foundation for object-oriented programming Journ. Fund. Progr. 4(2) (1994), 207–247.

    Article  MATH  Google Scholar 

  24. H. Reichel, An approach to object semantics based on terminal co-algebras Math. Struct, in Comp. Sci. 5 (1995), 129–152.

    Article  MathSciNet  MATH  Google Scholar 

  25. 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.

    Google Scholar 

  26. M.B. Smyth and G.D. Plotkin, The category theoretic solution of recursive domain equations, SIAM Journ. Comput. 11 (1982) 761–783.

    Article  MathSciNet  MATH  Google Scholar 

  27. P. Wegner, Concepts and paradigms of object-oriented programming, OOPS Messenger 1(1) (1990), 7–87.

    Article  Google Scholar 

  28. M. Wirsing, Algebraic Specification. In: J. van Leeuwen (ed.), Handbook of Theoretical Computer Science, Elsevier/MIT Press 1990, Volume B, 673–788.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics