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).
Preview
Unable to display preview. Download preview PDF.
References
Antonio Alencar. OOZE: An Object Oriented Specification Language. PhD thesis, Programming Research Group, Oxford University Computing Lab, to appear 1994.
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.
Michael Barr and Charles Wells. Category Theory for Computing Science. Prentice-Hall, 1990.
Garrett Birkhoff. On the structure of abstract algebras. Proceedings of the Cambridge Philosophical Society, 31:433–454, 1935.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Joseph Goguen. Theorem Proving and Algebra. MIT, 1994.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Robert Goldblatt. Topoi, the Categorial Analysis of Logic. North-Holland, 1979.
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.
Ernest Manes. Algebraic Theories. Springer, 1976. Graduate Texts in Mathematics, Volume 26.
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.
David Parnas. Information distribution aspects of design methodology. Information Processing '72, 71:339–344, 1972. Proceedings of 1972 IFIP Congress.
Horst Reichel. Behavioural equivalence — a unifying concept for initial and final specifications. In Proceedings, Third Hungarian Computer Science Conference. Akademiai Kiado, 1981. Budapest.
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.
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.
Adolfo Socorro. Design, Implementation, and Evaluation of a Declarative Object Oriented Language. PhD thesis, Programming Research Group, Oxford University, 1993.
Andrew Stevens and Joseph Goguen. Mechanised theorem proving with 2OBJ: A tutorial introduction. Technical report, Programming Research Group, University of Oxford, 1993.
Alfred Tarski. The semantic conception of truth. Philos. Phenomenological Research, 4:13–47, 1944.
Author information
Authors and Affiliations
Editor information
Rights 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