Welcome to EVOLVE Project HOME PAGE


EVOLVE


[ Project description | Team | Tools | Publications ]

Overview

The framework of the EVOLVE development consists of two layers: The Design and Prototyping Layer first translate the given requirement specifications (including both structural and behavioral requirements), that are produced through requirement capturing and specification process, into the EVOLVE notation, i.e., modeling the structural specifications in terms of the class dictionary graph notation (see Section~2), and representing the operational sepcifications in terms of the propagation patterns (see Section~4). Since the EVOLVE development takes the Demeter system/C++ as the experiment base, most of the EVOLVE notation are compatible with the Demeter notation \cite{karl:demeter}. After the syntax and semantic checking of the class dictionary specification and the propagation pattern schema, The EVOLVE will analyze and measure the quality of a given schema design by means of the set of adaptive schema style rules (see Section~3). Such an analysis is based on enhancing the adaptiveness and robustness of the schema in anticipation of future requirement changes. Based on the analysis results produced through the schema analysis and evaluation stage, the EVOLVE will use its schema transformation algorithms to generate a better style schema for the initial requirement design and specifications. The modified schema presents relatively higher adaptiveness towards future requirement changes. A list of benefits may also be provided, if requested, for demonstrating why and in what aspects the modified schema is better in terms of adaptiveness and robustness of the schema design. In the current implementation scenario, the Code Generation layer partially uses the Demeter system/C++ to assist in generation of the corresponding C++ class library and C++ method definitions for a given class dictionary graph and the set of propagation patterns ranging over this class dictionary graph. We are also interested in experiment of mapping the generated C++ code to a C++ based object schema for a commercial object-oriented DBMS (e.g., OpenDB, ObjectStroe, O2, etc.).

Outline of the Methodology

We describe the methodology of the EVOLVE development in
Figure 1. It consists of four components: the schema editor, the adaptive schema style analyzer, the schema optimizer and the code generator.

Project Members and Collaborations

Research Collaboration with


[Link to UofA] June 1, 1996