Simplifying an Extensible Class Library Interface with OpenC++


Authors: Joël CAVARROC, Sabine MOISAN and Jean-Paul RIGAULT

Abstract:

In this paper we focus on the benefits that a metaobject protocol may bring to a C++ class library. This library, named FRAMELIB, implements "frames" as used in Artificial Intelligence. It addresses four important aspects: frame structure and behavior, type safety, frame instance persistence, and sophisticated debugging mechanisms. Although frames may appear rather similar to classes as found in object-oriented languages, their implementation in C++ raises a number of technical challenges. The interface to our library introduces protocols and patterns which must be strictly followed to ensure the correctness and consistency of the code. To simplify the usage of the library, we decided to recourse to a metaobject protocol (MOP), and more specifically to OpenC++. This paper describes our experience with this MOP, the promising results that we obtained, the problems we encountered, and the design issues that this technique raises.

Keywords: C++, OpenC++, metaobject protocol, library interface

To get this article,  click here


BibTeX reference:

@INPROCEEDINGS{OOPSLA98,
     AUTHOR             = {Cavarroc,J. and Moisan, S. and Rigault, J-P.},
     BOOKTITLE          = {OOPSLA'98, Worshop on Reflective programming in C++ and Java},
     TITLE              = {S}implifying an {E}xtensible {C}lass {L}ibray {I}nterface with  {OpenC++}},
     YEAR               = {1998},
     MONTH               = oct,
     LOCATION           = {Vancouver, Canada}
}

  Dernière mise à jour : 15/03/01
Agnes.Cortell@sophia.inria.fr