Providing orthogonal persistence to C++ using forced inheritance

Orthogonal persistence, a property that any object can be made to persist independent of its type, is an important requirement of a persistent language. We present a new technique called forced inheritance for providing the orthogonal persistence to C++. In this technique, properties that make objects persist are attached as a header to an object or a value of any type that is desired to persist. Attaching the header gives the effect of inheriting these properties from a virtual persistent root class regardless of its type. This technique provides orthogonal persistence since attaching the header to an object can be done for any object. It also provides portability since it does not extend the language. The new, approach not only has advantages over existing ones, but also can be efficiently implemented.<<ETX>>

[1]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

[2]  Kyu-Young Whang A seamless integration in object-oriented database systems , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[3]  David Maier,et al.  Making smalltalk a database system , 1984, SIGMOD '84.

[4]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[5]  Narain H. Gehani,et al.  Design of the Persistence and Query Processing Facilities in O++: The Rationale , 1989, IEEE Data Eng. Bull..

[6]  Jay Banerjee,et al.  Composite object support in an object-oriented database system , 1987, OOPSLA '87.

[7]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[8]  Ronald Morrison,et al.  Persistent object management system , 1984, Softw. Pract. Exp..

[9]  Won Kim,et al.  Introduction to Object-Oriented Databases , 1991, Computer systems.

[10]  Peter Buneman,et al.  Types and persistence in database programming languages , 1987, CSUR.

[11]  Rakesh Agrawal,et al.  THE 0++ DATABASE PROGRAMMING LANGUAGE: , 1993 .

[12]  Narain H. Gehani,et al.  ODE (Object Database and Environment): the language and the data model , 1989, SIGMOD '89.

[13]  Klaus Küspert Databases for Objects: The Market Opportunity (Ovum Report, Januar 1991) , 1992, Datenbank Rundbr..

[14]  Thomas Atwood Two Approaches to Adding Persistence to C++ , 1990, POS.

[15]  Michael J. Carey,et al.  Persistence in the E Language: Issues and Implementation , 1989, Softw. Pract. Exp..

[16]  Bjarne Stroustrup,et al.  The C++ Programming Language, First Edition , 1986 .