  To address the issues of reusability and evolvability in designing self-
describing systems, this paper proposes a pattern-based, object-oriented,
description-driven system architecture. The proposed architecture embodies four
pillars - first, the adoption of a multi-layered meta-modeling architecture and
reflective meta-level architecture, second, the identification of four data
modeling relationships that must be made explicit such that they can be
examined and modified dynamically, third, the identification of five design
patterns which have emerged from practice and have proved essential in
providing reusable building blocks for data management, and fourth, the
encoding of the structural properties of the five design patterns by means of
one pattern, the Graph pattern. The CRISTAL research project served as the
basis onto which the pattern-based meta-object approach has been applied. The
proposed architecture allows the realization of reusability and adaptability,
and is fundamental in the specification of self-describing data management
components.
