On Types and FOOPS

In Robert Meersman, William Kent and Samit Khosla, (editors), Proceedings of the Fourth IFIP TC-2 Working Conference on Data Semantics (DS-4): Object Oriented Databases: Analysis, Design & Construction, Windermere, 2-6 July 1990. Organized by Working Group 2.6 (Database), (North-Holland, Amsterdam, 1991) 1-22.

Abstract

In describing object oriented systems, the word ``type'' is used for at least three different levels: data, objects, and modules. In FOOPS, these three are carefully distinguished both syntactically and semantically, and given a rigorous algebraic semantics. Order sorted algebra is used for the semantics of data and of objects; the semantics of objects also uses hidden sorts, and the semantics of modules is based on theories. This paper describes this three-fold approach to types and compares it with aspects of some other approaches, including type theoretic approaches and the language Eiffel. We conclude that failure to distinguish among the different types of ``type'' can lead to unnecessary complication and limitation.

© 1991 by North-Holland.

BiBTeX Entry

@inproceedings{IFIP90,
               AUTHOR = "Joseph A.\ Goguen and David Wolfram",
               TITLE = "On types and {FOOPS}",
               BOOKTITLE = "Proceedings of the IFIP Working Group 2.6 Working
                            Conference on Database Semantics: Object Oriented
                            Databases: Analysis, Design \& Construction",
               YEAR = "1991",
               EDITOR = "Robert Meersman and William Kent and Samit Khosla",
               PAGES = "1--22",
               ORGANIZATION = "International Federation for Information
                               Processing",
               PUBLISHER = "North-Holland",
               ADDRESS = "Amsterdam",
               NOTE = "Windermere, United Kingdom, 2--6 July 1990. Sponsors:
                       IFIP, Coopers \& Lybrand Deloitte, London."}

Some Citations

  1. Paulo Borba and Joseph A. Goguen.
    An operational semantics for FOOPS, Technical Report PRG-16-94, Programming Research Group, University of Oxford, November 1994.

  2. Paulo Borba and Joseph A. Goguen.
    On refinement and FOOPS, Technical Report PRG-17-94, Programming Research Group, University of Oxford, November 1994.

  3. Maura Cerioli, Till Mossakowski, Bernd Krieg-Brückner, Anne Haxthausen, Peter D. Mosses, and Olaf Owe: The Common Framework Initiative.
    Subsorting in CASL: CoFI Language Design Study Note, (2 Dec 1996), BRICS, Denmark.

  4. Stefan Conrad, Martin Gogolla, and Rudolf Herzig.
    TROLL light: A core language for specifying objects, Technische Universität Braunschweig, Informatik Bericht 92 02 (1992).

  5. Răzvan Diaconescu, Joseph Goguen and Petros Stefaneas.
    Logical support for modularisation, in Gérard Huet and Gordon Plotkin, Eds., Logical Environments, Cambridge University Press 1993, pp. 83-130.

  6. Hans-Dieter Ehrich, Martin Gogolla, and Amílcar Sernadas.
    Objects and their Specification. In M. Bidoit and C. Choppy, editors, Proc. 8th Workshop on Abstract Data Types (ADT'91), Lecture Notes in Computer Science 655, (Springer, Berlin, 1992) 40-65.

  7. Hans-Dieter Ehrich, Gunter Saake, and Amílcar Sernadas.
    Concepts of object-orientation, In Proc. of the 2nd Workshop of Informationssysteme und Kunstliche Intelligenz: Modellierung, Ulm, pages 1-19. Springer IFB 303, 1992.

  8. Hans-Dieter Ehrich and Amílcar Sernadas.
    Local specification of distributed families of sequential objects, In E. Astesiano, G. Reggio, and A. Tarlecki, editors, Recent Trends in Data Type Specifications, Proc. 10th ADT Workshop /5th COMPASS Workshop, Selected papers, Lecture Notes in Computer Science 906, (Springer, Berlin, 1995) 219-235.

  9. Hans-Dieter Ehrich, Ralf Jungclaus, Grit Denker, and Amílcar Sernadas.
    Object-oriented design of information systems: theoretical foundations, In J. Paredaens and L. Tenenbaum, editors, Advances in Database Systems, Implementations and Applications, pages 201-218. Springer-Verlag, 1994.

  10. Joseph A. Goguen.
    Sheaf Semantics for Concurrent Interacting ObjectsMathematical Structures in Computer Science, 2, (1992) 159-191.

  11. Joseph Goguen.
    Tossing algebraic flowers down the great divide, In Cristian S. Calude, Ed., People & Ideas in Theoretical Computer Science, (Springer, Singapore, 1998) 93-129.

  12. Joseph Goguen and Răzvan Diaconescu.
    An Oxford survey of order sorted algebra, Mathematical Structures in Computer Science, Volume 4, 1994, pages 363-392.

  13. Joseph A. Goguen and Răzvan Diaconescu.
    Towards an Algebraic Semantics for the Object Paradigm, Recent trends in Data Type Specifications, Lecture Notes in Computer Science 785, (Springer, Berlin, 1994) 1-34.

  14. Joseph A. Goguen, Timothy Winkler, José Meseguer, Kokichi Futatsugi, and Jean-Pierre Jouannaud.
    Introducing OBJ, In Joseph Goguen and Grant Malcolm, editors, Software Engineering with OBJ: algebraic specification in action, pages 3-167. Kluwer, 2000.

  15. Alfons Kemper and Guido Moerkotte.
    A framework for strong typing and type inference in (persistent) object models, Dimitris Karagiannis (Ed.): Database and Expert Systems Applications, Proceedings of the International Conference in Berlin, Germany, 1991. Springer-Verlag, Wien, 1991, pp. 257-263.

  16. Joseph R. Kiniry.
    Kind Theory, PhD Thesis, California Institute of Technology, Pasadena, California, USA, xxii+287pp., 2002.

  17. Joseph R. Kiniry.
    OBJ3/Algebra Bibliography
    KindSoftware, LLC, September 2003.

  18. Alfons Kemper, Guido Moerkotte, Hans-Dirk Walter and Andreas Zachmann.
    GOM: A strongly typed persistent object model with polymorphism, Datenbanksysteme in Büro, Technik und Wissenschaft, GI-Fachtagung, Kaiserslautern, 6.-8. März 1991, Proceedings. Informatik-Fachberichte 270, Springer 1991, pp. 198-217.

  19. Narciso Martí-Oliet and José Meseguer.
    Inclusions and subtypes I, Journal of Logic and Computation 6, 3 (1996) 409-438.

  20. José Meseguer.
    Solving the inheritance anomaly in concurrent object-oriented programming, in: ECOOP '93, Object-Oriented Programming, (Oscar M. Nierstrasz, Ed.), Lecture Notes in Computer Science 707 (Springer, Berlin, 1993) 220-246.

  21. José Meseguer.
    A logical theory of concurrent objects and its realization in the Maude language, in: Research Directions in Concurrent Object-Oriented Programming, (Gul Agha, Peter Wegner, and Akinori Yonezawa, Eds.), (MIT, Cambridge, Mass., 1993) 314-390.

  22. José Meseguer and Xiaolei Qian.
    A logical semantics for object-oriented databases. In Proc. ACM SIGMOD Int. Conf. on Management of Data, pages 89-98, Washington, D.C., 1993.

  23. Guido Moerkotte and Andreas Zachmann.
    Multiple substitutability without affecting the taxonomy, In Proc. International Conference on Extending Data Base Technology, 1992, 120-135.

  24. Lucia Rapanotti and Adolfo Socorro.
    Introducing FOOPS, Oxford University Computing Laboratory, Technical Report PRG-TR-28-92, 1992, 120pp.

  25. Mark Richters.
    A Precise Approach to Validating UML Models and OCL Constraints, PhD Thesis, University of Bremen, Germany, 2001.

  26. Richard Sinnott and K.J. Turner.
    The specification of a type management system in LOTOS, Technical Report, Department of Computing Science, University of Stirling, Scotland, 1994, 12 pp.

  27. Tarmo Uustalu.
    Combining object-oriented and logic paradigms: A modal logic programming approach. In O. L. Madsen, editor, European Conference on Object-Oriented Programming (ECOOP'92), pages 98-113, June 1992.

  28. Roel J. Wieringa.
    Equational specification of dynamic objects, In R.A. Meersman, W. Kent, and S. Khosla, editors, Object-Oriented Databases: Analysis, Design, and Construction (DS-4), (North-Holland, Amsterdam, 1991) 415-438.