|
Abstract : |
We investigate a modeling issue arising when object-oriented databases meet object-oriented programming languages like C++. For the application modeling process we argue that a taxonomic view is superior to the implementation view popular in C++. As a consequence we require classes to have both types and extensions. At the object definition level taxonomic modeling needs integrity constraints in form of functional constraints. However, if implemented naively taxonomic modeling may incur a considerable storage penalty. We present an automatic storage optimization algorithm, which in practical cases achieves the same low storage requirements as tailored C++ solutions. Our second focus is on software reuse, which demands proper adaptation measures to ensure semantically correct inheritance of update methods. We present a new adaptation algorithm that can be carried out automatically at schema compile time. Finally we demonstrate how to rapidly implement taxonomic modeling on top of a standard C++ based OODBS. Our results are exemplified throughout the paper by practical CAD examples., |