Inheritance and cofree constructions

  • Bart Jacobs
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1098)


The coalgebraic view on classes and objects is elaborated to include inheritance. Inheritance in coalgebraic specification (of classes) will be understood dually to parametrization in algebraic specification. That is, inheritance involves restriction (specialization), where parametrization involves extension. And cofree constructions are “best” restrictions, like free constructions are “best” extensions. To make this view on inheritance precise we need a suitable notion of behaviour preserving morphism between classes, which will be defined as a “coalgebra map up-to-bisimulation”.


State Space Bank Account Core Part Forgetful Functor Note Comp 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K. Bruce, L. Caxdelli, G. Castagna, The Hopkins Objects Group, G. Leavens, and B. Pierce. On binary methods. Manuscript, May 1995.Google Scholar
  2. 2.
    L. Cardelli. A semantics of multiple inheritance. Inf. & Comp., 76(2/3):138–164, 1988.zbMATHMathSciNetCrossRefGoogle Scholar
  3. 3.
    W. Cook and J. Palsberg. A denotational semantics of inheritance and its correctness. Inf. & Comp., 114(2):329–350, 1995.MathSciNetCrossRefGoogle Scholar
  4. 4.
    W.R. Cook. Object-oriented programming versus abstract data types. In J.W. de Bakker, W.P. de Roever, and G. Rozenberg, editors, Foundations of Object-Oriented Languages, number 489 in Lect. Notes Comp. Sci., pages 151–178. Springer, Berlin, 1990.Google Scholar
  5. 5.
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification I: Equations and Initial Semantics. Number 6 in EATCS Monographs. Springer, Berlin, 1985.zbMATHGoogle Scholar
  6. 6.
    J.A. Goguen. Realization is universal. Math. Syst. Theor., 6(4):359–374, 1973.zbMATHMathSciNetCrossRefGoogle Scholar
  7. 7.
    J.A. Goguen. A categorical manifesto. Math. Struct. Comp. Sci., 1(1):49–67, 1991.zbMATHMathSciNetCrossRefGoogle Scholar
  8. 8.
    J.A Goguen and J. Meseguer. Universal realization, persistent interconnection and implementation of abstract modules. In M. Nielsen and E.M. Schmidt, editors, Automata, Languages and Programming (ICALP'82), number 140 in Lect. Notes Comp. Sci., pages 263–281. Springer, Berlin, 1982.Google Scholar
  9. 9.
    J.A Goguen and J. Meseguer. Unifying functional, object-oriented and relational programming with logical semantics. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming, pages 417–477. The MIT Press series in computer systems, 1987.Google Scholar
  10. 10.
    B. Jacobs. Mongruences and cofree coalgebras. In V.S. Alagar and M. Nivat, editors, Algebraic Methods and Software Technology, number 936 in Lect. Notes Comp. Sci., pages 245–260. Springer, Berlin, 1995.Google Scholar
  11. 11.
    B. Jacobs. Coalgebraic specifications and models of deterministic hybrid systems. In M. Wirsing, editor, Algebraic Methods and Software Technology, Lect. Notes Comp. Sci. Springer, Berlin, 1996, to appear.Google Scholar
  12. 12.
    B. Jacobs. Objects and classes, coalgebraically. In B. Freitag, C.B. Jones, and C. Lengauer, editors, Object-Orientation with Parallelism and Persistence. Kluwer, 1996, to appear.Google Scholar
  13. 13.
    S. Mac Lane. Categories for the Working Mathematician. Springer, Berlin, 1971.zbMATHGoogle Scholar
  14. 14.
    S. Lang. Algebra. Addison Wesley, 2nd rev. edition, 1984.Google Scholar
  15. 15.
    B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988.Google Scholar
  16. 16.
    B. Meyer. Eiffel: The Language. Prentice Hall, 1992.Google Scholar
  17. 17.
    R. Milner. Communication and Concurrency. Prentice Hall, 1989.Google Scholar
  18. 18.
    J. Palsberg and M.I. Schwartzbach. Object-Oriented Type Systems. Wiley, 1994.Google Scholar
  19. 19.
    H. Reichel. An approach to object semantics based on terminal co-algebras. Math. Struct. Comp. Sci., 5:129–152, 1995.zbMATHMathSciNetGoogle Scholar
  20. 20.
    R. Rist and R. Terwilliger. Object-Oriented Programming in Eiffel Prentice Hall, 1995.Google Scholar
  21. 21.
    B. Stroustrup. The C++ Programming Language. Addison-Wesley, 2nd rev. edition, 1994.Google Scholar
  22. 22.
    P. Wegner. The object-oriented classification paradigm. In B. Shriver and P. Wegner, editors, Research Directions in Object-Oriented Programming, pages 479–560. The MIT Press series in computer systems, 1987.Google Scholar
  23. 23.
    P. Wegner. Concepts and paradigms of object-oriented programming OOPS Messenger, 1(1):7–87, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Bart Jacobs
    • 1
  1. 1.CWISJ AmsterdamThe Netherlands

Personalised recommendations