A Semantics for Model Management Operators
- Sergey Melnik ,
- Philip A. Bernstein ,
- Alon Halevy ,
- Erhard Rahm ,
- Phil Bernstein
MSR-TR-2004-59 |
Model management is an approach to simplify the programming of metadata-intensive applications. It offers developers powerful operators, such as Compose, Extract, and Merge, that are applied to models, such as database schemas or interface specifications, and to mappings between models. To be used in practice, these operators need to be implemented for particular schema definition languages and mapping languages. To guide that implementation, we need a language-independent semantics that tells what the operators should do. In this paper we develop a state-based semantics of the operators. That is, we express the effect of applying the operators to models in terms of what the operators do to instances of these models. We show that our semantics captures previously-proposed desiderata for the operators. We study formal properties of the operators, such as commutativity, associativity, uniqueness of results, and how the cardinality of the results corresponds to that of the inputs. Finally, we specify the state-based semantics of the operators in Rondo, the first prototype model-management system.