next up previous
Next: CM: Chimera's Data Model Up: Chimera: A Model and Previous: Chimera: A Model and

Introduction

In this paper, we introduce a major attempt towards integrating active, deductive and object-oriented data modeling and manipulation techniques within a unified framework. The resulting model and language, called Chimera, has been designed as a joint conceptual interface for our work within the IDEA project, a four-years activity sponsored by the ESPRIT program of the Commission of the European Community. The project consortium involves partners from Belgium, France, Germany, Italy and Spain. The overall aim of the IDEA project has been the design and prototyping of an ``intelligent database system'', offering a conceptual interface that supports a variety of novel features proposed and developed recently within the DB research community: an object-oriented data model, deductive rules (for the definition of derived concepts), static integrity constraints (for the definition of legal DB states) and active rules (for the definition of reactive behaviour of the system in addition to the methods of the data model). Systems integrating deductive and object-oriented functionality have been called ``DOOD systems'' for some time now. Active DOOD systems in addition provide the concept of an active rule, thus naturally extending representation power and operational strength.

Chimera is the name of a famous mythical creature composed from a lion, a goat and a serpent. When designing Chimera, we often felt like creating such a monster indeed! On the one hand, the integration of concepts from three of the most active and productive areas of current research caused a lot of problems, because there are so many possible choices and design parameters to be considered. On the other hand, doing such an exercise within the context of a European research consortium composed of a very heterogeneous set of partners - from different nations, from industry and academia, with very different background and interests - is a difficult and exhausting affair. However, we feel that this effort has been worthwhile as we finally came up with a solution that we do not regard as too much of a compromise, but as a rather well-balanced and solid piece of design that might be of interest to others outside the consortium as well.

We did not attempt to invent any exciting or exotic new features, but instead aimed at a proper selection of important and well-established concepts and a good and seamless blend into a unified framework. Thus, the value of Chimera does not so much depend on the originality of its individual ingredients (though some new solutions have been developed, particularly wrt active rules), but on the way how these features have been combined and how potential conflicts have been resolved.

Chimera consists of a conceptual model (called Chimera Model, short: CM), providing object-oriented modelling facilities, and of a conceptual language (called Chimera Language, short: CL), providing data definitions, declarative queries, procedural primitives for database manipulation, as well as various forms of rules and constraints. Chimera has been designed in such a way, that it can either serve as an interface to a stand-alone database system or as a database sublanguage embedded in various procedural host languages. Due to the diversity of programming environments present in the IDEA consortium (ranging from C/C++ to PROLOG), aspects of procedural, general-purpose programming have been omitted from CL as far as possible. This issue has been left to the respective programming language into which Chimera will be embedded by the various partners. Certain basic linguistic decisions in CL, such as primitive value types, syntax of primitive values, conventions for distinguishing variables, constants or functors, and so on, may vary from one embedding to the other due to the particular conventions of the host language.

This paper is mainly aimed at providing a brief account of the spectrum covered by the Chimera design. The main ingredients of model and language are reviewed and some key decisions are highlighted. Representative examples, collected in the Appendix due to space limitations, will illustrate the flavor of the language.


next up previous
Next: CM: Chimera's Data Model Up: Chimera: A Model and Previous: Chimera: A Model and

Benutzernr. fuer das Idea-Projekt
Wed Sep 11 15:52:56 MET DST 1996