A categorial theory of objects as observed processes

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


The semantic domain for object-oriented languages and systems outlined in this paper is an amalgamation of two approaches: the objects-as-sheaves approach of the second author published nearly two decades ago, and the more recent ideas of the first and third authors on objects as processes endowed with observation. The basic insight is that objects in the latter sense correspond to object morphisms in the former sense. After an informal introduction into both approaches, we first elaborate on the sheaf model, using the term "behaviour" for objects in this sense, and avoiding concepts from topology. Behaviours and behaviour morphisms are shown to form a complete category where parallel composition is reflected by limits. Objects are defined to be behaviour morphisms, giving rise to a cocomplete category of objects where colimits reflect object aggregation. Object morphisms reflect different forms of inheritance, and also object reification (implementing objects over objects) is conveniently expressed in this framework.

Key words

object-oriented system object object morphism process behaviour object aggregation parallel composition object inheritance object reification 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. BG77.
    Burstall,R;Goguen,J.: Putting Theories Together to Make Specifications. Proc. Fifth International Joint Conference on Artificial Intelligence, (R. Reddy, ed.), Dept of Computer Science, Carnegie-Mellon University, 1977, 1045–1058Google Scholar
  2. BG80.
    Burstall,R;Goguen,J.: The Semantics of Clear, a Specification Language. Proc. 1979 Copenhagen Winter School on Abstract Software Specification, (D. Bjorner, ed.), LNCS 86, Springer Verlag, 1980, 292–332Google Scholar
  3. BT88.
    Bergstra,J.A.;Tucker,J.V.: The Inescapable Stack: an Exercise in Algebraic Specification with Total Functions. Report No. P8804, Programming Research Group, University of Amsterdam 1988Google Scholar
  4. Di88.
    Dittrich, K.(ed.): Advances in Object-Oriented Database Systems. LNCS 334, Springer-Verlag, Berlin 1988Google Scholar
  5. ESS88.
    Ehrich,H.-D.;Sernadas,A.;Sernadas,C.: Abstract Object Types for Databases. In Di88, 144–149Google Scholar
  6. ESS89.
    Ehrich,H.-D.;Sernadas,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, 142–156Google Scholar
  7. ESS90.
    Ehrich, H.-D.;Sernadas, A.;Sernadas, C.: From Data Types to Object Types. Journal of Information Processing and Cybernetics EIK 26 (1990) 1/2, 33–48Google Scholar
  8. ES90.
    Ehrich, H.-D.;Sernadas, A.: Algebraic Implementation of Objects over Objects. Proc. REX Workshop on Stepwise Refinement of Distributed Systems: Models, Formalism, Correctness (J.W. deBakker, W.-P. deRoever, G. Rozenberg, eds.), LNCS 430, Springer-Verlag, Berlin 1990, 239–266Google Scholar
  9. FM90.
    Fiadeiro,J.;Maibaum,T.: Describing, Structuring and Implementing Objects. This volume.Google Scholar
  10. FS90.
    Fiadeiro,J.;Sernadas,A.: Logics of Modal Terms for Systems Specification. Journal of Logics and Computation (to appear)Google Scholar
  11. FSMS90.
    Fiadeiro,J.;Sernadas,C.;Maibaum,T.;Saake,G.: Proof-Theoretic Semantics of Object-Oriented Specification Constructs. Proc. IFIP 2.6 Working Conference DS-4, Windermere (UK) 1990 (to be published by North Holland)Google Scholar
  12. GB84.
    Gougen, J.A.;Burstall, R.: Some Fundamental Algebraic Tools for the Semantics of Computation. Theor. Comp. Sc. 31 (1984), Part 1: 175–209, Part 2: 263–295Google Scholar
  13. GB90.
    Goguen,J.A.;Burstall, R.: Institutions, Abstract Model Theory for Specification and Programming. Report ECS-LFCS-90-106, Edinburgh University, 1990 (to appear in JACM)Google Scholar
  14. GG78.
    Goguen,J.;Ginali,S.: A Categorical Approach to General Systems Theory. Applied General Systems Research (G. Klir, ed.), Plenum, 1978, 257–270Google Scholar
  15. GM82.
    Goguen, J.A.;Meseguer, J.: Universal Realization, Persistent Interconnection and Implementation of Abstract Modules. Proc. 9th Int. Conf. on Automata, Languages and Programming (M. Nielsen, E.M. Schmidt, eds.), LNCS 140, Springer-Verlag, Berlin 1982, 265–281Google Scholar
  16. GM87.
    Goguen,J.A.;Meseguer,J.: Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics. In SW87, 417–477Google Scholar
  17. Go71.
    Goguen,J.: Mathematical Representation of Hierarchically Organized Systems. Global Systems Dynamics (E. Attinger, ed.), S. Karger, 1971, 112–128Google Scholar
  18. Go73.
    Goguen,J.: Categorical Foundations for General Systems Theory. Advances in Cybernetics and Systems Research, Transcripta Books, 1973, 121–130Google Scholar
  19. Go75.
    Goguen, J.: Objects. International Journal of General Systems, 1(4), 1975, 237–243Google Scholar
  20. Go79.
    Goldblatt, R.: Topoi, the Categorial Analysis of Logic. North-Holland Publ. Comp., Amsterdam 1979Google Scholar
  21. Go89.
    Goguen,J.: A Categorical Manifesto. Technical Report PRG-72, Programming Research Group, Oxford University, March 1989. To appear in Mathematical Structures in Computer Science.Google Scholar
  22. Go90a.
    Goguen,J.: Sheaf Semantics of Concurrent Interacting Objects, 1990. To appear in Mathematical Structures in Computer Science.Google Scholar
  23. Go90b.
    Goguen, J.: An Algebraic Approach to Refinement. Proc. VDM'90: VDM and Z — Formal Methods in Software Development (D. Bjorner, C.A.R. Hoare, H. Langmaack, eds.), LNCS 428, Springer-Verlag, Berlin 1990, 12–28Google Scholar
  24. Gra65.
    Gray, J.: Sheaves with values in a category. Topology 3(1965), 1–18Google Scholar
  25. Gro71.
    Grothendieck, A.: Categories fibrees et descente. Lecture Notes in Mathematics, Volume 224, Springer-Verlag, Berlin 1971, 175–194Google Scholar
  26. GTW78.
    Goguen, J.A.;Thatcher, J.W.;Wagner, E.G.: An Initial Algebra Approach to the Specification, Correctness, and Implementation of Abstract Data Types. Current Trends in Programming Methodology IV: Data Structuring (R. Yeh, ed.), Prentice Hall, Englewood Cliffs 1978, 80–149Google Scholar
  27. Gu90.
    Gündel,A.: Compatibility Conditions on Subclasses, Dortmund University (unpublished draft)Google Scholar
  28. HC89.
    Hayes, F.;Coleman, D.: Objects and Inheritance: An Algebraic View. Technical Memo, HP Labs, Information Management Lab, Bristol 1989Google Scholar
  29. Ho72.
    Hoare, C.A.R.: Proof of Correctness of Data Representations. Acta Informatica 1 (1972), 271–281Google Scholar
  30. JSS90.
    Jungclaus,R.;Saake,G.;Sernadas,C.: Using Active Objects for Query Processing. Proc. IFIP 2.6 Working Conference DS-4, Windermere (UK) 1990 (to be published by North Holland)Google Scholar
  31. Sa90.
    Saake,G.: Descriptive Specification of Database Object Behavior (to appear in Data&Knowledge Engineering, North Holland)Google Scholar
  32. SE90.
    Sernadas,A.;Ehrich,H.-D.: What is an object, after all?. Proc. IFIP 2.6 Working Conference DS-4, Windermere (UK) 1990 (to be published by North Holland)Google Scholar
  33. SEC90.
    Sernadas, A.;Ehrich, H.-D.;Costa, J.-F.: From Processes to Objects. The INESC Journal of Research and Development 1 (1990) 1, 7–27Google Scholar
  34. SFSE89a.
    Sernadas,A.;Fiadeiro,J.;Sernadas,C.;Ehrich,H.-D.: The Basic Building Blocks of Information Systems. Information Systems Concepts: An In-Depth Analysis, E. Falkenberg and P. Lindgreen (eds.), North-Holland 1989, 225–246Google Scholar
  35. SFSE89b.
    Sernadas,A.;Fiadeiro,J.;Sernadas,C.;Ehrich,H.-D.: Abstract Object Types: A Temporal Perspective. Temporal Logic in Specification, B. Banieqbal, H. Barringer and A. Pnueli (eds.), LNCS 398, Springer-Verlag 1989, 324–350Google Scholar
  36. SW87.
    Shriver, B.;Wegner, P.(eds.): Research Directions in Object-Oriented Programming. The MIT Press, Cambridge, Mass. 1987Google Scholar
  37. 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
  38. Ve90.
    Verharen,E.M.: Object-oriented System Development: An Overview. Technical Report, Infolab, Tilburg University 1990Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • H. -D. Ehrich
    • 1
  • J. A. Goguen
    • 2
  • A. Sernadas
    • 3
  1. 1.Abteilung DatenbankenTechnische Universität BraunschweigBraunschweigFR Germany
  2. 2.Programming Research GroupOxford University Computing LabOxfordGreat Britain
  3. 3.Departamento de MatematicaInstituto Superior TécnicoLisboa CodexPortugal

Personalised recommendations