Algebraic implementation of objects over objects

  • H. -D. Ehrich
  • A. Sernadas
Technical Contributions
Part of the Lecture Notes in Computer Science book series (LNCS, volume 430)


This paper gives semantic foundations of (correct) implementation as a relationship between an "abstract" object and a community of "base" objects. In our aproach, an object is an "observed process". Objects and object morphisms constitute a category OB in which colimits reflect object aggregation and interaction between objects. Our concept of implementation allows for composition, i.e. by composing any number of (correct) implementation steps, a (correct) entire implementation is obtained. We study two specific kinds of implementation, extension and encapsulation, in more detail and investigate their close relationship to object morphisms. Our main technical result is a normal form theorem saying that any regular implementation, i.e. one composed of any number of extensions and encapsulations, in any order, can be done in just two steps: first an extension, and then an encapsulation.

Key words

object-oriented systems objects object morphisms processes process morphisms semantic fundamentals algebraic implementation reification refinement extension encapsulation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Am86.
    America, P.: Object-Oriented Programming: A Theoretician's Introduction. EATCS Bulletin 29 (1986), 69–84Google Scholar
  2. AR89.
    America, P.; Rutten, J.: A Parallel Object-Oriented Language: Design and Semantic Foundations. Dissertation, Vrije Universiteit Amsterdam 1989Google Scholar
  3. DD86.
    Dayal, U.;Dittrich, K.(eds): Proc. Int. Workshop on Object-Oriented Database Systems. IEEE Computer Society, Los Angeles 1986Google Scholar
  4. Di88.
    Dittrich, K.(ed.): Advances in Object-Oriented Database Systems. LNCS 334. Springer-Verlag, Berlin 1988Google Scholar
  5. DMN67.
    Dahl, O.-J.;Myhrhaug, B.;Nygaard, K.: SIMULA 67, Common Base Language, Norweigan Computing Center, Oslo 1967Google Scholar
  6. Eh81.
    Ehrich, H.-D.: On Realization and Implementation. Proc. MFCS'81 (J. Gruska, M. Chytil, eds.), LNCS 118, Springer-Verlag, Berlin 1981, 271–280Google Scholar
  7. ESS88.
    Ehrich,H.-D.;Sernadas,A.;Sernadas,C.: Abstract Object Types for Databases. In Di88, 144–149Google Scholar
  8. ESS89.
    Ehrich,H.-D.;Scrnadas,A.;Sernadas,C.: Objects, Object Types and Object Identity. Categorical Methods in Computer Science with Aspects from Topology (H. Ehrig et al (eds.), LNCS 393, Springer-Verlag (in print)Google Scholar
  9. ESS90.
    Ehrich,H.-D.;Sernadas,A.;Sernadas,C.: From Data Types to Object Types. Journal of Information Processing and Cybernetics EIK (to appear 1990)Google Scholar
  10. FS89.
    Fiadeiro,J.;Sernadas,A.: Logics of Modal Terms for Systems Specification. INESC, Lisbon 1989 (submitted for publication)Google Scholar
  11. GM87.
    Goguen,J.A.;Meseguer,J.: Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics. In SW87, 417–477Google Scholar
  12. Go75.
    Goguen, J.A.: Objects. Int. J. General Systems 1 (1975), 237–243Google Scholar
  13. Go79.
    Goldblatt, R.: Topoi, the Categorial Analysis of Logic. North-Holland Publ. Comp., Amsterdam 1979Google Scholar
  14. GR83.
    Goldberg, A.;Robson, D.: Smalltalk 80: The Language and its Implementation. Addison-Wesley, Reading, Mass. 1983Google Scholar
  15. HB77.
    Hewitt,C.;Baker,H.: Laws for Communicating Parallel Processes. Proc. 1977 IFIP Congress, IFIP (1977), 987–992Google Scholar
  16. He77.
    Hewitt, C.: Viewing Control Structures as Patterns of Passing Messanges. Journal of Artificial Intelligence 8:3 (1977), 323–364CrossRefGoogle Scholar
  17. He88.
    Hennessy, M.: Algebraic Theory of Processes. The MIT Press, Cambridge, Mass. 1988Google Scholar
  18. Li82.
    Lipeck,U.: Ein algebraischer Kalkül für einen strukturierten Entwurf von Datenabstraktionen. Dissertation, Universität Dortmund 1982Google Scholar
  19. Lo85.
    Lochovski,F.(ed.): Special Issue on Object-Oriented Systems. IEEE Database Engineering 8:4 (1985)Google Scholar
  20. Pa72.
    Parnas, D.L.: A Technique for Software Module Specification with Examples. Communications of the ACM 15 (1972),330–336CrossRefGoogle Scholar
  21. SEC89.
    Sernadas,A.;Ehrich,H.-D.;Costa,J.-F.: From Processes to Objects (to appear)Google Scholar
  22. SW87.
    Shriver, B.;Wegner, P.(eds.): Research Directions in Object-Oriented Programming. The MIT Press, Cambridge, Mass. 1987Google Scholar
  23. SSE87.
    Sernadas, A,;Sernadas, C.;Ehrich, H.-D.: Object-Oriented Specification of Databases: An Algebraic Approach. Proc. 13th VLDB, P.M. Stocker, W. Kent (eds.), Morgan-Kaufmann Publ. Inc., Los Altos 1987, 107–116Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • H. -D. Ehrich
    • 1
  • A. Sernadas
    • 2
  1. 1.Abteilung DatenbankenTechnische Universität BraunschweigBraunschweigFRG
  2. 2.Departmento de MatematicaInstituto Superior TecnicoLisboa CodexPortugal

Personalised recommendations