Patent ID: 8112738

Claim:
A computer-implemented method executable by a processor of converting first metadata related to a first model to second metadata related to a second model, comprising the steps of: providing a declarative mapping between a first metamodel and a second metamodel, wherein said first metamodel relates to said first model and said second metamodel relates to said second model; providing a plurality of custom exits, wherein said plurality of custom exits provide programmable mapping rules in addition to said declarative mapping, and wherein said plurality of custom exits map other than a one-to-one mapping of elements between the first metamodel and the second metamodel; maintaining a translation backlog that contains a first plurality of elements that have already been processed and a second plurality of elements whose processing has been postponed; and applying said declarative mapping and said plurality of custom exits to said first metadata to result in said second metadata, wherein said step of applying said declarative mapping applies said declarative mapping with reference to said translation backlog, and wherein the plurality of custom exits resolve complex semantics between the first metamodel and the second metamodel by traversing up and down an input object tree of the first metamodel while simultaneously constructing an output object tree of the second metamodel.