Skip to main content

GOM: A Strongly Typed Persistent Object Model With Polymorphism

  • Conference paper
Book cover Datenbanksysteme in Büro, Technik und Wissenschaft

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 270))

Abstract

In this paper the persistent object model GOM is described. GOM is an object-oriented data model that provides the most essential object features in a “lean” and coherent syntactical framework. These features include: object identity, object instantiation, subtyping and inheritance, operation refinement, dynamic (late) binding. One of the main goals in the design of GOM was type safety. In order to achieve this we developed a strongly typed language that enables the verification of type safety at compile time. It is shown in this paper how commonly encountered “traps” for strong typing are avoided in GOM by specifying a very clean subtyping semantics on the basis of substitutability and type signatures.

The typing rules that enforce strong typing at compile time somewhat restrain the flexibility of the object model because subtyping and inheritance has to be restricted—in particular—for collection-valued types. The solution to regain the expressiveness that was traded off for safety is by combining inheritance and explicitly controlled operation polymorphism. To make operations polymorphic signatures may contain type variables which are substituted by named types at compile time.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Atkinson, F. Bancilhon, D. J. DeWitt, K. R. Dittrich, D. Maier, and S. Zdonik. The object-oriented database system manifesto. In Proc. of the DOOD Conference, pages 40–57, Kyoto, Japan, Dec 1989.

    Google Scholar 

  2. F. Bancilhon, T. Briggs, S. Khoshafian, and P. Valduriez. FAD, a powerful and simple database language. In Proc. of The Conf. on Very Large Data Bases (VLDB), pages 97–105, Brighton, U.K., Sep 1987.

    Google Scholar 

  3. C. Beeri. Formal models for object-oriented databases. In Proc. of the DOOD (Deductive and Object-Oriented Databases) Conference, pages 370–395, Kyoto, Japan, Dec 1989.

    Google Scholar 

  4. L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. ACM Computing Surveys, 17(4):471–522, Dec 1985.

    Article  Google Scholar 

  5. M. Carey and D. J. DeWitt. An overview of the EXODUS project. IEEE Database Engineering, 10(2):47–53, Jun 1987.

    Google Scholar 

  6. M. J. Carey, D. J. De Witt, and S. L. Vandenberg. A data model and query language for EXODUS. In Proc. of the ACM SIGMOD Conf. on Management of Data, pages 413–423, Chicago, Il., Jun 1988.

    Google Scholar 

  7. G. Copeland and D. Maier. Making Smalltalk a database system. In Proc. of the ACM SIGMOD Conf on Management of Data, pages 316–325, 1984.

    Google Scholar 

  8. O. Dahl and K. Nygaard. Simula, an Algol-based simulation language. CACM, 9:671–678, 1966.

    MATH  Google Scholar 

  9. J. A. Goguen and D. Wolfram. On types and FOOPS. In Proc. IFIP TC-2 Conf. on Object-Oriented Databases, Windermere, UK, Jun 90.

    Google Scholar 

  10. A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.

    MATH  Google Scholar 

  11. A. Kemper and G. Moerkotte. Access support in object bases. In Proc. of the ACM SIGMOD Conf on Management of Data, pages 364–374, Atlantic City, NJ, May 1990.

    Google Scholar 

  12. A. Kemper and G. Moerkotte. Advanced query processing in object bases using access support relations. In Proc. of The Conf. on Very Large Data Bases (VLDB), pages 290–301, Brisbane, Australia, Aug 1990.

    Google Scholar 

  13. A. Kemper and G. Moerkotte. Correcting anomalies of standard inheritance—a constraint based approach. In Proc. Intl. Conf. on Database and Expert Systems Applications, pages 49–55, Wien, Austria, Aug 90.

    Google Scholar 

  14. W. Kim, H. T. Chou, and J. Banerjee. Operations and implementation of complex objects. IEEE Trans. Software Eng., 14(7):985–996, Jul 1988.

    Article  Google Scholar 

  15. C. Lécluse and P. Richard. The O2 database programming language. In Proc. of The Conf. on Very Large Data Bases (VLDB), pages 411–422, Amsterdam, NL, Sep 1989.

    Google Scholar 

  16. R. Milner. A theory of type polymorphism. Journal of Computer and System Sciences, 17:378–375, 1978.

    Article  MathSciNet  Google Scholar 

  17. J. Schmidt. Some high level language constructs for data of type relation. ACM Trans. Database Systems, 2(3), Sep 1977.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Kemper, A., Moerkotte, G., Walter, HD., Zachmann, A. (1991). GOM: A Strongly Typed Persistent Object Model With Polymorphism. In: Appelrath, HJ. (eds) Datenbanksysteme in Büro, Technik und Wissenschaft. Informatik-Fachberichte, vol 270. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-76530-8_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-76530-8_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53861-5

  • Online ISBN: 978-3-642-76530-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics