Acta Informatica

, Volume 31, Issue 1, pp 5–26 | Cite as

Object inheritance beyond subtyping

  • J. F. Costa
  • A. Sernadas
  • C. Sernadas


A categorial semantic domain for objects is presented in order to clarify both aggregation and specialization. Three kinds of specialization are discussed: (1) subtyping (specialization with no side effects and no non-monotonic overriding); (2) monotonic specialization (possibly with side effects but still only with monotonic overriding); and (3) non-monotonic specialization (possibly with side effects and non-monotonic overriding). A sequence of three categories of objects differing only in the morphisms is presented. The first one is used to explain object aggregation (respecting locality through a frame constraint) and the strictest form of specialization (subtyping). The second category is shown to be adequate for explaining specialization with side effects (by relaxing the frame constraint). Finally, the third category supports also non-monotonic overriding, by adopting as morphisms suitable partial morphisms of the second one. All these categories are complete and cocomplete. Colimits are used for explaining the semantics of aggregation and multiple inheritance.


Information System Operating System Data Structure Communication Network Information Theory 
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. [Adámek et al 90] Adámek, J., Herrlich, H., Strecker, G.: Abstract and concrete categories. New York: Wiley 1990Google Scholar
  2. [Butterworth et al. 91] Butterworth, P., Otis, A., Stein, J.: The GemStone object database management system. Commun. ACM34, 64–77 (1991)Google Scholar
  3. [Brass and Lipeck] Brass, S., Lipeck, U.: Semantics of inheritance in logical object specifications. Proc. of the 2nd International Conference on Deductive and Object-Oriented Data-bases (DOOD'91), 1991 (to appear)Google Scholar
  4. [Costa 89] Costa, J.F.: Teoria algébrica dos processos animados. MSc Thesis, available as a technical report, Universidade Técnica de Lisboa, September 1989Google Scholar
  5. [Costa and Sernadas A 90a] Costa, J.F., Sernadas, A.: Process models within a categorial framework. The INESC Journal of Research and Development,4(1), 83–93 (1993)Google Scholar
  6. [Costa and Sernadas A 90b] Costa, J.F., Sernadas, A.: Progress assumption in concurrent systems. Formal Aspects of Computing, Springer, accepted for publication.Google Scholar
  7. [Costa et al 92] Costa, J.F., Sernadas, A., Sernadas, C., Ehrich, H.-D.: Object interaction. Mathematical Foundations of Computer Science (Lect. Notes Comput. Sci., vol. 629, pp. 200–208) Berlin, Heidelberg, New York: Springer 1992Google Scholar
  8. [Dahl 67] Dahl, O.-J., Myhrhaug, B., Nygaard, K.: SIMULA 67, Common base language. Oslo: Norwegian Computer Center 1967Google Scholar
  9. [Deux et al. 91] Deux, O. et al.: The O2 system. Commun. ACM34, 35–48 (1991)Google Scholar
  10. [Ehrich et al. 90] Ehrich, H.-D., Sernadas, A., Sernadas, C.: From data types to object types. J. Inf. Process. Cybern.26(1/2), 33–48 (1990)Google Scholar
  11. [Ehrich et al. 91] Ehrich, H.-D., Goguen, J., Sernadas, A.: A categorial theory of objects as observed processes. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Proc. of the REX90/Workshop on Foundations of Object-Oriented Languages. (Lect. Notes Comput. Sci., vol. 489, pp. 203–228) Berlin, Heidelberg, New York: Springer 1991Google Scholar
  12. [Ehrich et al 92] Ehrich, H.-D., Gogolla, M., Sernadas, A.: Objects and their specifications. In: Bidoit, M., Choppy, C. (eds.) Recent trends in data type specification: 8th Workshop on Specification of Abstract Data Types. Selected papers. (Lect. Notes Comput. Sci., vol. 655, pp. 40–65) Berlin, Heidelberg, New York: Springer 1992Google Scholar
  13. [Ehrich and Sernadas A 90] Ehrich, H.-D., Sernadas, A.: Algebraic implementation of objects over objects. In: de Bakker, J., de Roever, W.-P., Rozenberg, G. (eds) Proc. of the REX Workshop on Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness, pp. 239–266. Berlin, Heidelberg, New York: Springer 1990Google Scholar
  14. [Ehrich and Sernadas A 91] Ehrich, H.-D., Sernadas, A.: Object concepts and constructions. In: Saake, G., Sernadas, A. (eds) Proc of the IS-CORE Workshop'91 (Informatik-Berichte 91-03) Tech. Univ. Braunschweig, 1991, pp. 1–24Google Scholar
  15. [Fiadeiro et al. 91] Fiadeiro, J., Sernadas, C., Maibaum, T., Saake, G.: Proof-theoretic semantics of object-oriented specification constructs. In: Meersman, R., Kent, W., Khosla, S. (eds.) Object-oriented databases: analysis, design and construction, pp. 243–284. Amsterdam: North Holland 1991Google Scholar
  16. [Fishman et al. 87] Fishman, D. et al.: IRIS: an object-oriented database management system. ACM Trans. Off. Inf. Syst.5 (1987)Google Scholar
  17. [Goldberg and Robson 83] Goldberg, A., Robson, D.: Smalltalk 80: the language and its implementation. New York: Addison-Wesley 1983Google Scholar
  18. [Goguen 91] Goguen, J.: Types as theories. Proc. Conf. on Topology and Category Theory in Computer Science, pp. 357–390. Oxford: Oxford University Press 1991Google Scholar
  19. [Heitz 88] Heitz, M.: HOOD: a hierarchical object-oriented design method. Proc. of the 3rd German Ada Users Congress, Munich 1988, 12-1–12-9Google Scholar
  20. [Hoare 85] Hoare, C.A.R.: Communicating sequential processes. Englewood Cliffs, N.J.: Prentice-Hall 1985Google Scholar
  21. [Jonsson 85] Jonsson, B.: A model and proof system for asynchronous networks. In: Proc. of the 4th Annual ACM Symposium on Principles on Distributed Computing. Minaki, Canada, 1985, pp. 49–58Google Scholar
  22. [Jonsson 89] Jonsson, B.: A fully abstract trace model for dataflow networks. In: Proc. of the 16th Annual ACM Symposium on Principles of Programming Languages, 1989, pp. 155–165Google Scholar
  23. [Jungclaus et al. 91] Jungclaus, R., Saake, G., Hartmann, T., Sernadas, C.: Object-oriented specification of information systems: the TROLL language (Informatik-Berichte) Tech. Univ. Braunschweig, 1991Google Scholar
  24. [Kim et al. 88] Kim, W. et al.: Features of the ORION object-oriented DBMS. In: Kim, W., Lochovsky, E.H. (eds.) Object-oriented concepts, databases, and applications. Reading, MA: Addison-Wesley 1988Google Scholar
  25. [Kerth 88] Kerth, N.: MOOD: a methodology for structured object-oriented design. Tutorial presented at OOPSALA'88. San Diego, 1988Google Scholar
  26. [Lukaszewicz 88] Lukaszewicz, W.: Non-monotonic reasoning. Chichester: Ellis Horwood 1990Google Scholar
  27. [Meyer 88] Meyer, B.: Object-oriented software construction. Englewood Cliffs: Prentice-Hall 1988Google Scholar
  28. [E. Seidewitz and M. Stark 86] Seidewitz, E., Stark, M.: General object-oriented software development. Document No. SEL-86-002, NASA Goddard Space Flight Center, Greenbelt, Maryland, 1986Google Scholar
  29. [Sernadas A et al. 89] Sernadas, A., Fiadeiro, J., Sernadas, C., Ehrich, H.-D.: Basic building blocks of information systems. In:Falkenberg, E., Lindgreen, P. (eds.) Information system concepts: an in-depth analysis, pp. 225–246. Amsterdam: North-Holland 1989Google Scholar
  30. [Sernadas A and Ehrich 90] Sernadas, A., Ehrich, H.-D.: What is an object, after all. In: Meersman, R., Kent, W., Khosla, S. (eds.) Object-oriented databases: analysis, design and construction, pp. 39–69. Amsterdam: North-Holland 1991Google Scholar
  31. [Sernadas A et al 90] Sernadas, A., Ehrich, H.-D., Costa, J.-F.: From processes to objects. INESC J. Res. Dev.1(1), 7–27 (1990)Google Scholar
  32. [Sernadas C et al. 91] Sernadas, C., Resende, P., Gouveia, P., Sernadas, A.: In-the-large object-oriented design of information systems. In: van Assche, F., Moulin, B., Rolland, C. (eds.) Object-oriented approach in information systems, pp. 209–232. Amsterdam: North-Holland 1991Google Scholar
  33. [Sernadas C et al. 92] Sernadas, C., Gouveia, P., Gouveia, J., Sernadas, A., Resende, P.: The reification dimension in object-oriented data base design. In: Harper, D., Norrie, M. (eds.) Specification of data base systems, pp. 275–299, Berlin, Heidelberg, New York: Springer 1992Google Scholar
  34. [Stroustrup 86] Stroustrup, B.: The C++ programming language. Reading, MA: Addison-Wesley 1986Google Scholar
  35. [Wegner 89] Wegner, P.: Learning the language. Byte14, 245–253 (1989)Google Scholar
  36. [Winskel 84] Winskel, G.: Synchronization trees. Theor. Comput. Sci.34, 45–77 (1984)Google Scholar
  37. [Winskel 89] Winskel, G.: An introduction to event structures. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds.) Linear time, branching time and partial order in logics and models for concurrency (Lect. Notes Comput. Sci., vol. 354, pp. 364–397) Berlin, Heidelberg, New York: Springer 1989Google Scholar

Copyright information

© Springer-Verlag 1994

Authors and Affiliations

  • J. F. Costa
    • 1
  • A. Sernadas
    • 1
  • C. Sernadas
    • 1
  1. 1.INESC and Departamento de Matemática-ISTLisboa CodexPortugal

Personalised recommendations