This paper presents the facilities in the EDM-2 product modeling and database language that support model evolution. It reviews the need for model evolution as a system and/or language requirement to support product modeling. Four types of model evolution are considered: (1) translation between distinct models, (2) deriving views from a central model, (3) modification of an existing model, and (4) model evolution based on writable views associated with each application. While the facilities described support all for types of evolution, the last type is emphasized. The language based modeling capabilities described in EDM-2 include: (a) mapping facilities for defining derivations and views within a single model or between different models; (b) procedural language capabilities supporting model addition, deletion and modification; (c) support for object instance migration so as to partition the set of class instances into multiple classes; (d) support for managing practical deletion of portions of a model; (e) explicit specification and automatic management of integrity between a building model and various views. The rationale and language features, and in some cases, the implementation strategy for the features, are presented.
All Science Journal Classification (ASJC) codes