Click a term to initiate a search.
Many problems encountered when building applications of database systems involve the manipulation
of models. By “model,” we mean a complex structure that represents a design artifact,
such as a relational schema, object-oriented interface, UML model, XML DTD, web-site schema,
semantic network, complex document, or software configuration. Many uses of models involve
managing changes in models and transformations of data from one model into another. These uses
require an explicit representation of “mappings” between models. We propose to make database
systems easier to use for these applications by making “model” and “model mapping” first-class
objects with special operations that simplify their use. We call this capability model management.
In addition to making the case for model management, our main contribution is a sketch of a
proposed data model. The data model consists of formal, object-oriented structures for representing
models and model mappings, and of high-level algebraic operations on those structures, such
as matching, differencing, merging, function application, selection, inversion and instantiation. We
focus on structure and semantics, not implementation.