Skip to main content
Log in

Object inheritance beyond subtyping

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • [Adámek et al 90] Adámek, J., Herrlich, H., Strecker, G.: Abstract and concrete categories. New York: Wiley 1990

    Google Scholar 

  • [Butterworth et al. 91] Butterworth, P., Otis, A., Stein, J.: The GemStone object database management system. Commun. ACM34, 64–77 (1991)

    Google Scholar 

  • [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)

  • [Costa 89] Costa, J.F.: Teoria algébrica dos processos animados. MSc Thesis, available as a technical report, Universidade Técnica de Lisboa, September 1989

  • [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 

  • [Costa and Sernadas A 90b] Costa, J.F., Sernadas, A.: Progress assumption in concurrent systems. Formal Aspects of Computing, Springer, accepted for publication.

  • [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 1992

    Google Scholar 

  • [Dahl 67] Dahl, O.-J., Myhrhaug, B., Nygaard, K.: SIMULA 67, Common base language. Oslo: Norwegian Computer Center 1967

    Google Scholar 

  • [Deux et al. 91] Deux, O. et al.: The O2 system. Commun. ACM34, 35–48 (1991)

    Google Scholar 

  • [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 

  • [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 1991

    Google Scholar 

  • [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 1992

    Google Scholar 

  • [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 1990

    Google Scholar 

  • [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–24

  • [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 1991

    Google Scholar 

  • [Fishman et al. 87] Fishman, D. et al.: IRIS: an object-oriented database management system. ACM Trans. Off. Inf. Syst.5 (1987)

  • [Goldberg and Robson 83] Goldberg, A., Robson, D.: Smalltalk 80: the language and its implementation. New York: Addison-Wesley 1983

    Google Scholar 

  • [Goguen 91] Goguen, J.: Types as theories. Proc. Conf. on Topology and Category Theory in Computer Science, pp. 357–390. Oxford: Oxford University Press 1991

    Google Scholar 

  • [Heitz 88] Heitz, M.: HOOD: a hierarchical object-oriented design method. Proc. of the 3rd German Ada Users Congress, Munich 1988, 12-1–12-9

  • [Hoare 85] Hoare, C.A.R.: Communicating sequential processes. Englewood Cliffs, N.J.: Prentice-Hall 1985

    Google Scholar 

  • [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–58

  • [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–165

  • [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, 1991

  • [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 1988

    Google Scholar 

  • [Kerth 88] Kerth, N.: MOOD: a methodology for structured object-oriented design. Tutorial presented at OOPSALA'88. San Diego, 1988

  • [Lukaszewicz 88] Lukaszewicz, W.: Non-monotonic reasoning. Chichester: Ellis Horwood 1990

    Google Scholar 

  • [Meyer 88] Meyer, B.: Object-oriented software construction. Englewood Cliffs: Prentice-Hall 1988

    Google Scholar 

  • [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, 1986

    Google Scholar 

  • [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 1989

    Google Scholar 

  • [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 1991

    Google Scholar 

  • [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 

  • [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 1991

    Google Scholar 

  • [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 1992

    Google Scholar 

  • [Stroustrup 86] Stroustrup, B.: The C++ programming language. Reading, MA: Addison-Wesley 1986

    Google Scholar 

  • [Wegner 89] Wegner, P.: Learning the language. Byte14, 245–253 (1989)

    Google Scholar 

  • [Winskel 84] Winskel, G.: Synchronization trees. Theor. Comput. Sci.34, 45–77 (1984)

    Google Scholar 

  • [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 1989

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Costa, J.F., Sernadas, A. & Sernadas, C. Object inheritance beyond subtyping. Acta Informatica 31, 5–26 (1994). https://doi.org/10.1007/BF01178920

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01178920

Keywords

Navigation