Skip to main content

Towards an algebraic semantics for the object paradigm

  • Invited Papers
  • Conference paper
  • First Online:
Recent Trends in Data Type Specification (ADT 1992, COMPASS 1992)

Abstract

This paper surveys our current state of knowledge (and ignorance) on the use of hidden sorted algebra as a foundation for the object paradigm. Our main goal is to support equational reasoning about properties of concurrent systems of objects, because of its simple and efficient mechanisation. We show how equational specifications can describe objects, inheritance and modules; our treatment of the latter topic emphasises the importance of reuse, and the rôle of the so-called Satisfaction Condition. We then consider how to prove things about objects, how to unify the object and logic paradigms by using logical variables that range over objects, and how to connect objects into concurrent systems. We provide a universal characterisation of parallel connection, and more generally, of parallel connection with synchronisation, and show how the former construction gives a class manager that provides unique identifiers for its objects. The paper concludes with some topics for further research.

The research reported in this paper has been partially supported by the Science and Engineering Research Council, Fujitsu Laboratories Limited, the Information Technology Promotion Agency, Japan, as part of the R & D of Basic Technology for Future Industries “New Models for Software Architecture” project sponsored by NEDO (New Energy and Industrial Technology Development Organization), and the CEC under ESPRIT-2 BRA Working Groups 6071, IS-CORE (Information Systems Correctness and REusability) and 6112, COMPASS (COMPrehensive Algebraic Approach to System Specification and development).

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Antonio Alencar. OOZE: An Object Oriented Specification Language. PhD thesis, Programming Research Group, Oxford University Computing Lab, to appear 1994.

    Google Scholar 

  2. Antonio Alencar and Joseph Goguen. Specification in OOZE with examples. In Object Oriented Specification Case Studies, pages 158–183. Prentice Hall, 1993. Programming Research Group, Oxford University Computing Lab, Report PRG-TR-7-92, 1992.

    Google Scholar 

  3. Michael Barr and Charles Wells. Category Theory for Computing Science. Prentice-Hall, 1990.

    Google Scholar 

  4. Garrett Birkhoff. On the structure of abstract algebras. Proceedings of the Cambridge Philosophical Society, 31:433–454, 1935.

    Google Scholar 

  5. Rod Burstall and Razvan Diaconescu. Hiding and behaviour: an institutional approach. Technical Report ECS-LFCS-8892-253, Laboratory for Foundations of Computer Science, University of Edinburgh, 1992. To appear in A Classical Mind: Essays in Honour of C.A.R. Hoare, Prentice Hall, 1993.

    Google Scholar 

  6. Rod Burstall and Joseph Goguen. The semantics of Clear, a specification language. In Dines Bjorner, editor, Proceedings, 1979 Copenhagen Winter School on Abstract Software Specification, pages 292–332. Springer, 1980. Lecture Notes in Computer Science, Volume 86; based on unpublished notes handed out at the Symposium on Algebra and Applications, Stefan Banach Center, Warsaw, Poland, 1978.

    Google Scholar 

  7. Nachum Dershowitz and Jean-Pierre Jouannaud. Rewriting systems. In Jan van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume B, pages 244–320. Elsevier Science, 1990.

    Google Scholar 

  8. Razvan Diaconescu. The logic of Horn clauses is equational. Technical Report PRG-TR-3-93, Programming Research Group, University of Oxford, 1993. Written in 1990.

    Google Scholar 

  9. Razvan Diaconescu, Joseph Goguen, and Petros Stefaneas. Logical support for modularisation. In Gerard Huet and Gordon Plotkin, editors, Logical Environments, pages 83–130. Cambridge, 1993. Proceedings of a Workshop held in Edinburgh, Scotland, May 1991.

    Google Scholar 

  10. Joseph Goguen. Principles of parameterized programming. In Ted Biggerstaff and Alan Perlis, editors, Software Reusability, Volume I: Concepts and Models, pages 159–225. Addison Wesley, 1989.

    Google Scholar 

  11. Joseph Goguen. An algebraic approach to refinement. In Dines Bjorner, C.A.R. Hoare, and Hans Langmaack, editors, Proceedings, VDM'90: VDM and Z — Formal Methods in Software Development, pages 12–28. Springer, 1990. Lecture Notes in Computer Science, Volume 428.

    Google Scholar 

  12. Joseph Goguen. Hyperprogramming: A formal approach to software environments. In Proceedings, Symposium on Formal Approaches to Software Environment Technology. Joint System Development Corporation, Tokyo, Japan, January 1990.

    Google Scholar 

  13. Joseph Goguen. Proving and rewriting. In Hélène Kirchner and Wolfgang Wechler, editors, Proceedings, Second International Conference on Algebraic and Logic Programming, pages 1–24. Springer, 1990. Lecture Notes in Computer Science, Volume 463.

    Google Scholar 

  14. Joseph Goguen. A categorical manifesto. Mathematical Structures in Computer Science, 1(1):49–67, March 1991. Also, Programming Research Group Technical Monograph PRG-72, Oxford University, March 1989.

    Google Scholar 

  15. Joseph Goguen. Types as theories. In George Michael Reed, Andrew William Roscoe, and Ralph F. Wachter, editors, Topology and Category Theory in Computer Science, pages 357–390. Oxford, 1991. Proceedings of a. Conference held at Oxford, June 1989.

    Google Scholar 

  16. Joseph Goguen. Theorem Proving and Algebra. MIT, 1994.

    Google Scholar 

  17. Joseph Goguen and Rod Burstall. Introducing institutions. In Edward Clarke and Dexter Kozen, editors, Proceedings, Logics of Programming Workshop, pages 221–256. Springer, 1984. Lecture Notes in Computer Science. Volume 164.

    Google Scholar 

  18. Joseph Goguen and Rod Burstall. Institutions: Abstract model theory for specification and programming. Journal of the Association for Computing Machinery, 39(1):95–146, January 1992. Draft appears as Report ECS-LFCS-90-106, Computer Science Department, University of Edinburgh, January 1990; an early ancestor is “Introducing Institutions,” in Proceedings, Logics of Programming Workshop, Edward Clarke and Dexter Kozen, Eds., Springer Lecture Notes in Computer Science, Volume 164, pages 221–256, 1984.

    Google Scholar 

  19. Joseph Goguen and Tom Kemp. A hidden Herbrand theorem, 1993. Submitted to special issue of Theoretical Computer Science, edited by A. William Roscoe and Michael W. Mislove.

    Google Scholar 

  20. Joseph Goguen and José Meseguer. Universal realization, persistent interconnection and implementation of abstract modules. In M. Nielsen and E.M. Schmidt, editors, Proceedings, 9th International Conference on Automata. Languages and Programming, pages 265–281. Springer, 1982. Lecture Notes in Computer Science. Volume 140.

    Google Scholar 

  21. Joseph Goguen and José Meseguer. Unifying functional, object-oriented and relational programming, with logical semantics. In Bruce Shriver and Peter Wegner, editors, Research Directions in Object-Oriented Programming, pages 417–477. MIT, 1987. Preliminary version in SIGPLAN Notices, Volume 21, Number 10, pages 153–162, October 1986.

    Google Scholar 

  22. Joseph Goguen and José Meseguer. Order-sorted algebra I: Equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoretical Computer Science, 105(2):217–273, 1992. Also, Programming Research Group Technical Monograph PRG-80, Oxford University, December 1989, and Technical Report SRI-CSL-89-10, SRI International, Computer Science Lab, July 1989; originally given as lecture at Seminar on Types, Carnegie-Mellon University, June 1983; many draft versions exist, from as early as 1985.

    Google Scholar 

  23. Joseph Goguen and Adolfo Socorro. Module composition and system design for the object paradigm. Journal of Object Oriented Programming, to appear 1994. Technical Report, Oxford University Computer Lab, 1993.

    Google Scholar 

  24. Joseph Goguen, Andrew Stevens, Keith Hobley, and Hendrik Hilberdink. 2OBJ, a metalog-ical framework based on equational logic. Philosophical Transactions of the Royal Society, Series A, 339:69–86, 1992. Also in Mechanized Reasoning and Hardware Design, edited by C.A.R. Hoare and M.J.C. Gordon, Prentice-Hall, 1992, pages 69–86.

    Google Scholar 

  25. Joseph Goguen, Timothy Winkler, José Meseguer, Kokichi Futatsugi, and Jean-Pierre Jouannaud. Introducing OBJ. In Joseph Goguen, editor, Applications of Algebraic Specification using OBJ. Cambridge, to appear 1993. Also to appear as Technical Report from SRI International.

    Google Scholar 

  26. Joseph Goguen and David Wolfram. On types and FOOPS. In Robert Meersman, William Kent, and Samit Khosla, editors, Object Oriented Databases: Analysis, Design and Construction, pages 1–22. North Holland, 1991. Proceedings, IFIP TC2 Conference, Windermere, UK, 2–6 July 1990.

    Google Scholar 

  27. Robert Goldblatt. Topoi, the Categorial Analysis of Logic. North-Holland, 1979.

    Google Scholar 

  28. F. William Lawvere. Functorial semantics of algebraic theories. Proceedings, National Academy of Sciences, U.S.A., 50:869–872, 1963. Summary of Ph.D. Thesis, Columbia University.

    Google Scholar 

  29. Ernest Manes. Algebraic Theories. Springer, 1976. Graduate Texts in Mathematics, Volume 26.

    Google Scholar 

  30. José Meseguer and Joseph Goguen. Initiality, induction and computability. In Maurice Nivat and John Reynolds, editors, Algebraic Methods in Semantics, pages 459–541. Cambridge, 1985.

    Google Scholar 

  31. David Parnas. Information distribution aspects of design methodology. Information Processing '72, 71:339–344, 1972. Proceedings of 1972 IFIP Congress.

    Google Scholar 

  32. Horst Reichel. Behavioural equivalence — a unifying concept for initial and final specifications. In Proceedings, Third Hungarian Computer Science Conference. Akademiai Kiado, 1981. Budapest.

    Google Scholar 

  33. Horst Reichel. Behavioural validity of conditional equations in abstract data types. In Contributions to General Algebra 3. Teubner, 1985. Proceedings of the Vienna Conference, June 21–24, 1984.

    Google Scholar 

  34. Donald Sannella and Andrzej Tarlecki. Specifications in an arbitrary institution. Information and Control, 76:165–210, 1988. Earlier version in Proceedings, International Symposium on the Semantics of Data Types, Lecture Notes in Computer Science, Volume 173, Springer, 1985.

    Google Scholar 

  35. Adolfo Socorro. Design, Implementation, and Evaluation of a Declarative Object Oriented Language. PhD thesis, Programming Research Group, Oxford University, 1993.

    Google Scholar 

  36. Andrew Stevens and Joseph Goguen. Mechanised theorem proving with 2OBJ: A tutorial introduction. Technical report, Programming Research Group, University of Oxford, 1993.

    Google Scholar 

  37. Alfred Tarski. The semantic conception of truth. Philos. Phenomenological Research, 4:13–47, 1944.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Hartmut Ehrig Fernando Orejas

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goguen, J.A., Diaconescu, R. (1994). Towards an algebraic semantics for the object paradigm. In: Ehrig, H., Orejas, F. (eds) Recent Trends in Data Type Specification. ADT COMPASS 1992 1992. Lecture Notes in Computer Science, vol 785. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57867-6_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-57867-6_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57867-3

  • Online ISBN: 978-3-540-48361-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics