Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

AML

Revision as of 09:10, 11 November 2009 by Unnamed Poltroon (Talk) (The AtlanMod Matching Language)

The AtlanMod Matching Language (AML) is a DSL for expressing matching strategies. A matching strategy allows to compute equivalences between models. Equivalences (also known as mappings, correspondences) can leverage essential model management tasks, e.g., model transformation generation, model differentiation, model merging. AML is implemented on top of ATL and AMW.

AML extends the fundamental stated in \ref{ModelMigration}, i.e., a matching strategy is a chain of transformations. Each transformation instruments a matching heuristic, takes as input a set of models (i.e., an equal model and a set of additional models), and yields an equal model. Equal models conform to the AMW core metamodel.

AML keeps the declarative flavor of ATL for expressing transformation rules, and adds dataflow programming constructs for describing transformation chains.

\ih{The AML Compiler} takes a given AML program and performs the following tasks: \begin{itemize} \item Analyze the AML program (syntax and semantic). \item Generate an ATL transformation for each rule. \item Translate the dataflow block into an Ant script specifying the transformation chain. \end{itemize}

Other features of AML are: Generate model transformations from equal models. Measure matching strategy accuracy by comparing expected and computed equal models. Invoke native Java code.

Back to the top