1. A data interaction system comprising: a computer processor for executing the following software components; a mapping component that generates an instance-level mapping between a first model expressed in a first metamodel and a second model expressed in a second metamodel based, at least in part, upon a translation of the first model to the second model, the mapping component translates the first model into constructs of a universal metamodel, then executes transformations that eliminate from the first model all modeling constructs that are absent from the second model, and then translates remaining constructs into the second model; wherein the universal metamodel includes main modeling constructs found in conventional metamodels and is extensible, such that the universal metamodel can be extended to include these additional constructs, and within the universal metamodel patterns are defined, each pattern represents a construct that may or may not appear in a given metamodel and is expressed as a conjunctive query, patterns are used to describe a metamodel and to annotate transformation rules to indicate their inputs and outputs; an abstraction component that employs the instance-level mapping to bi-directionally translate a data interaction operation of the first model into a data interaction operation of the second model, wherein the second model is updated incrementally, and wherein a graphical layout of the second model is preserved during editing of the first model; and a storage component that stores the instance-level mapping to a computer-readable medium; wherein the instance-level mapping is expressed in an algebraic data transformation language, the instance-level mapping incrementally modified by the mapping component based, at least in part, upon interaction from a user of the system; wherein the mapping component also includes functions that map unique identifiers of first model elements into unique identifiers of second model elements to generate Skolem functions; and an inheritance mapping data store that stores information regarding a target relation for each direct or inherited attribute of each type of a type hierarchy, the mapping component stores information in the inheritance mapping data store based, upon at least in part, information received from a user regarding a quantity of relations used for representing the type hierarchy, wherein the inheritance mapping data store provides a mechanism that subsumes all known inheritance mapping strategies and provides complete coverage of all possible mapping options.