A Framework for Strong Typing and Type Inference in (Persistent) Object Models
In this paper a coherent framework of subtyping is developed that achieves strong typing in (persistent) object models without compromising flexibility and expressiveness. The typing framework is based on the concept of substitutability-meaning that from the type consistency perspective objects exhibiting a particular functional characteristic are substitutable for objects of another kind without compromising type safety. We deduce substitutability from the functional specification of object types, called the type signature. Utilizing our framework we show that inheritance-based subtyping on tuple-structured types cannot generally be extended to set-structured or any other collection types, e.g., lists, without sacrificing static verifiability of type consistency.
KeywordsObject Model Collection Type Type Inference Type Definition Strong Typing
Unable to display preview. Download preview PDF.
- 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
- 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 97105, Brighton, U.K., Sep 1987.Google Scholar
- 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
- J. A. Goguen and D. Wolfram. On types and POOPS. In Proc. IFIP TC 2 Working Conference on Database Semantics: Object Oriented Databases—Analysis, Design, and Construction, Windermere, UK, Jun 90.Google Scholar
- A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983.Google Scholar
- A. Kemper and G. Moerkotte. Correcting anomalies of standard inheritance—a constraint based approach. In Proc. Intl. Conf. ova Database and Expert Systems Applications, pages 49–55, Wien, Austria, Aug 90.Google Scholar
- A. Kemper, G. Moerkotte, 11.-D. Walter, and A. Zachmann. GOM: a strongly typed, persistent object model with polymorphism. In Proc. of the BTW Conf., pages 198–217, Mar 1991. Springer-Verlag, Informatik-Fachberichte Nr. 270.Google Scholar
- C. Lécluse and P. Richard. The 02 database programming language. In Proc. of The Conf. on Very Large Data Bases (VLDB), pages 411–422, Amsterdam, NL, Sep 1989.Google Scholar
- A. Ohori, P. Buneman, and V. Breazu-Tannen. Database programming in Machiavelli: A polymorphic language with static type inference. In Proc. of the ACM SIGMOD Conf. on Management of Data,Portland, OR, 19Ei9.Google Scholar
- S. Zdonik and D. Maier. Fundamentals of object-oriented databases. In S. Zdonik and D. Maier, editors, Readings in Object-Oriented Databases, pages 1–32. Morgan-Kaufman Publ. Co., 89.Google Scholar