Section 29.5. OTHER APPROACHES TO MODULARIZING CROSSCUTTING CONCERNS IN DATABASE SYSTEMS


29.5. OTHER APPROACHES TO MODULARIZING CROSSCUTTING CONCERNS IN DATABASE SYSTEMS

Modularization of crosscutting concerns has also been considered in other database systems. Most notably, the Generic Object-Oriented Database System (GOODS) [16] employs a meta-object protocol to separate policies for inter-task synchronization of object access, locking, transaction management, and cache management from the object access manager. Custom approaches can be implemented by refining existing meta-objects through inheritance. However, some overlapping concerns such as the transaction model and the locking scheme are not completely untangled and cannot be customized with a localized impact. This is in contrast with the use of aspect-oriented approaches discussed in this chapter, as these have been effective in localizing changes to overlapping concerns.

The Open OODB framework [35] offers a meta-architecture comprising some kernel modules and interface definitions to be respected by extender modules. The latter implements custom application-specific policies for features such as persistence, transaction management, distribution, querying, and change management. The functionality of extender modules is plugged in using advice-like interceptors defined for existing methods in the system. The Open OODB architecture, therefore, pursues the same philosophydevelopment of customizable and extensible object-oriented database systemsas the aspect-oriented approach presented in this chapter. While the former relies on traditional object-oriented modularity for the purpose, the latter makes use of the additional modularization support offered by aspect-oriented techniques, thereby reducing the complexity encountered in modularizing crosscutting policies.

Genesis [5] offers a DBMS compiler to synthesize systems from a library of pre-existing modules. The synthesis is based on parameterized types and rule-based algebra. Unlike Genesis, which focuses on an architecture to build component database systems, the aspect-oriented approach presented in this chapter can be used to provide customizability in existing database systems without re-architecting them.

The Transparent Schema Evolution System (TSE) [21] employs object-oriented views to simulate versions of schema. All objects are associated with one underlying global schema, and the schema versions are implemented as views defined on the global schema. Objects are thus directly shared across the various schema versions. Changes to the global schema are implemented using inheritance and virtual classes. Virtual classes represent the incremental change and are generalizations or specializations of modified classes. Introduction of a new class whenever a new feature is needed is termed as "abusing inheritance" by Meyer [17], who advocates that "a class should always define a significant abstraction, and if we are just adding a property that we initially forgot, we should simply update the class definition." Introduction of virtual classes in TSE can also compromise substitutability semantics of object-oriented systems. An object-slicing approach complemented by multiple classification and dynamic reclassification is employed for instance adaptation. The proposed dynamic reclassification approach can violate the type-system rules of the object-oriented programming language being used. This is in contrast with AspOEv, where the schema implementation is based on a language with a versioned type system. Therefore, typing semantics are preserved, and incremental changes are introduced through versioning.

In the hologram approach, an object is implemented by multiple instances representing its many-faceted nature [1]. These instances are linked together through aggregation links in a specialization hierarchy. This makes objects dynamic since they can migrate between the classes of a hierarchy. This is similar to the dynamic instance adaptation approach discussed in this chapter.

Event-condition-action rules have been employed in active database systems [7] to modularize broadly scoped constraints. In the approach discussed in this chapter, aspects have been used to separate instance adaptation constraints from the evolution model and project schema views to be used by applications.



Aspect-Oriented Software Development
Aspect-Oriented Software Development with Use Cases
ISBN: 0321268881
EAN: 2147483647
Year: 2003
Pages: 307

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net