This paper presents a model of persistency for the Eiffel language and its implementation by FLOO system. This model supports in a transparent way a “contagious” and incremental handling of persistency within a transactional framework. After having defined the context and the constraints of the modelization which had been retained, we present main characteristics of the model which is implemented through routines located in class inherited by all classes of an application. Then, persistent-programming style, which is induced by this model, is illustrated with some basic examples.
Implementation of FLOO system, which uses O2 DBMS as persistent object's server is presented briefly. This choice allows to benefit from capabilities provided by O2 such as an incremental loading, an optimized indexing, its transactional framework using a client/server architecture and its interfacing with other object oriented languages such as C++, for application interoperability. But the strong linking between Eiffel and O2, which is mandatory for an elegant integration of our model in the Eiffel world, means to solve non trivial translation problems for building an O2 image starting from an Eiffel class, and need an adaptation of Eiffel run-time. We end this paper with a first assesment of the project and with perspectives according to ‘ODMG’93 works.