Abstract
This paper presents an architecture where persistence is added to an object-oriented reflective model in a client-server environment. When the client and the server database management system do not share a common formalism, conversion rules must be set. If the open reflective client has intercession properties and the server does not, for example, when an open reflective language is bound to a relational database management system, we show that the conversion rules may become inadequate when a designer extends the semantics of the client language. An object-oriented reflective system is reified as a metaobject model and intercession is often designed as a metaobject protocol that can be specialized. In this case, we state that the best architecture to bring persistence to a reflective client is to extend the standard metaobject protocol with a fine-grained persistence and conversion protocol. We present such a protocol, and we illustrate it with a binding between Power Classes, an open reflective language, and ObjectDriver, our wrapper to relational databases.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
D. Bobrow, L. DeMichiel, R. Gabriel, S. Keene, G. Kiczales and D. Moon, Common Lisp Object System Specification, SIGPLAN notices 23 (special issue), 1988
D. Bobrow, R. Gabriel and J. White, CLOS in Context. In Object-Oriented Programming, the Clos Perspective, The MIT Press, chap. 2, pp. 29–61, 1995
P. Cointe, Metaclasses are First Class: the ObjVLisp Model. Proc. of OOPSLA’89, SIGPLAN notices 24(10), pp. 156–167, 1989.
S. Demphlous, A Metaobject Protocol for Interoperability, Proc. of the ISCA Int. Conf. on Parallel and Distributed Computing Systems, pp. 653–657, 1996.
S. Demphlous, Databases Evolution: An Approach by Metaobjects, Proc. the third Int. Workshop on Databases and Information Systems, ACM SIGMOD Chapter, pp. 31–37, 1996.
S. Demphlous, Gestion de la persistance au sein de systèmes réflexifs à objets, PhD thesis, University of Nice-Sophia Antipolis, France, 1998.
J. Ferber, Computational Reflection in Class based Object Oriented Languages, Proc. of OOPSLA’89, SIGPLAN notices 24(10), pp. 317–326, 1989.
I. Forman, Putting Metaclasses to Work, Addison-Wesley, 1998.
A. Goldberg and D. Robson, Smalltalk-80: the Language and its Implementation, Addison-Wesley, 1983.
N. Graube, Metaclass Compatibility, Proc. of OOPSLA’89, SIGPLAN notices 24(10), pp. 305–315, 1989.
Ilog, Ilog Talk/Power Classes Reference Manual v.1.3, Gentilly, France, 1994.
A. Keller, R. Jensen and S. Agarwal, Persistence Software: Bridging Object-Oriented Programming and Relational Databases, SIGMOD record, 22(2), pp. 215–230, 1993.
G. Kiczales, J. des Rivières and D. Bobrow, The Art of the Metaobject Protocol, The MIT Press, 1991.
W. Klas and M. Schref, Metaclasses and their Application: Data Model Tailoring and Database Integration, Lecture Notes in Computer Science n.943, Springer-Verlag, 1995.
W. Klas, G. Fischer and K. Aberer, Integrating Relational and Object-Oriented Databases using a Metaclass Concept, Journal of Systems Integration, vol. 4, pp. 341–372, 1994.
F. Lebastard, Driver: une couche objet persistante pour le raisonnement sur les bases de données relationelles, PhD thesis, INSA de Lyon INRIA CERMICS, 1993.
F. Lebastard, S. Demphlous, V. Aguilera and O. Jautzy, ObjectDriver: Reference Manual, CERMICS, France, http://www.inria.fr/cermics/dbteam/ObjectDriver, 1999.
F. Lebastard, Vues objets compatibles ODMG sur base de données relationnelles, Actes des premières journées Ré-ingénierie des Systèmes d’Information, pp. 16–25, 1998.
P. Maes, Concepts and Experiments in Computational Reflection, Proc. of OOPSLA’87, ACM SIGPLAN notices 22(12), pp. 147–155, 1987.
C. Nicolle, D. Benslimane and K. Yetongnon, Multi-Data Models Translation in Interoperable Information Systems, Proc. of the 8th Intl Conf. on Advanced Information Systems Engineering (CAiSE’96), pp. 176–192, 1996.
J. Padget, G. Nuyens and H. Bretthauer, On Overview of EuLisp, Lisp and Symbolic Computation, vol.6, n.1/2, pp. 9–99, 1993.
A. Paepcke. Pclos: A Flexible Implementation of Clos Persistence, Proc. of ECOOP, Lecture Note in Computer Science n.322, pp. 374–389, Springer-Verlag, 1988
R. Peters, Tigukat: a Uniform Behavioral Objectbase Management System, PhD thesis, University of Alberta, Canada, 1994.
Rational Software Corporation, Unified Modeling Language, Notation Guide, can be found at the URL: http://www.rational.com/, 1997.
N. Revault, H. Sahraoui, G. Blain and J.-F. Perrot, A Metamodeling Technique: the Metagen System, Proc. of TOOLS Europe’95, pp. 127–139, 1995
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Demphlous, S., Lebastard, F. (1999). Designing Persistence Libraries in Reflective Models with Intercession Property for a Client-Server Environment. In: Cointe, P. (eds) Meta-Level Architectures and Reflection. Reflection 1999. Lecture Notes in Computer Science, vol 1616. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48443-4_5
Download citation
DOI: https://doi.org/10.1007/3-540-48443-4_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66280-8
Online ISBN: 978-3-540-48443-1
eBook Packages: Springer Book Archive