Metaclasses in VODAK and their Application in Database Integration

W. Klas, E. J. Neuhold, M. Schrefl
Technical Report
TRE9005 (1990)
Arbeitspapiere der GMD, Nummer 462, Gesellschaft für Mathematik und Datenverarbeitung (GMD), Darmstadt, Deutschland, 1990
Copy  (In order to obtain the copy please send an email with subject  TRE9005  to


Object-oriented data models organize object according to common properties into classes. Similarly, some object-oriented systems organize classes into metaclasses which define common properties of their class instances. But in none of them metaclasses can be used to define common properties of instances of their instances. Metaclasses in CODAK, a distributed object-oriented database system developed at IPSI, have been extended in that direction. They can be employed to predefine a common structure and behavior of classes and of individual object at the metaclass level. Using this feature, metaclasses can be employed to introduce new data model primitives, and thus, to extend the VODAK kernel model with capabilities needed in specific application domains. We illustrate the use of metaclasses in database integration. A frequent approach to integrate a set of related classes is to define a generalization class for them. class definition by generalization, however, is usually not supported by ordinary data models. It is left to the application developer to define the semantics of generalization classes with every single generalization class. Using metaclasses the semantics of generalization classes can be defined once and for all at the metaclass level.