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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. ACM Computing Surveys, 17(4):471–522, Dec 1985.
M. Carey and D. J. DeWitt. An overview of the EXODUS project. IEEE Database Engineering, 10(2):47–53, Jun 1987.
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.
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.
O. Dahl and K. Nygaard. Simula, an Algol-based simulation language. CACM, 9:671–678, 1966.
J. A. Goguen and D. Wolfram. On types and FOOPS. In Proc. IFIP TC-2 Conf. on Object-Oriented Databases, Windermere, UK, Jun 90.
A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.
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.
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.
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.
W. Kim, H. T. Chou, and J. Banerjee. Operations and implementation of complex objects. IEEE Trans. Software Eng., 14(7):985–996, Jul 1988.
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.
R. Milner. A theory of type polymorphism. Journal of Computer and System Sciences, 17:378–375, 1978.
J. Schmidt. Some high level language constructs for data of type relation. ACM Trans. Database Systems, 2(3), Sep 1977.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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