Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "AML"

(The AtlanMod Matching Language)
Line 1: Line 1:
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.
+
The AtlanMod Matching Language (AML) is a Domain Specific Language for expressing matching strategies. A matching strategy computes equivalences between models. Equivalences (also known as mappings, correspondences) can leverage essential model management tasks, among them, model transformation generation. AML is implemented on top of [http://www.eclipse.org/m2m/atl/ ATL] and [http://www.eclipse.org/gmt/amw/ 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 extends the fundamental stated in [http://www.eclipse.org/gmt/amw/usecases/matching the AMW matching use case]. There, a matching strategy is a chain of transformations. Each transformation:
 +
** instruments a type of heuristic,  
 +
** takes as input a set of models: the models to be matched (i.e., Left and Right), an equal model that refers to them, and a set of additional models,
 +
** and, yields an equal model. Equal models conform to an extension of the AMW core metamodel.
  
AML keeps the declarative flavor of ATL for expressing transformation rules, and adds dataflow programming constructs for describing transformation chains.  
+
AML keeps the declarative flavor of ATL for expressing matching rules, and adds dataflow programming constructs for describing transformation chains. Figure 1. shows the AML architecture:
  
\ih{The AML Compiler} takes a given AML program and performs the following tasks:
+
[[Image:AMLArchitecture.png]]
\begin{itemize}
+
 
\item Analyze the AML program (syntax and semantic).
+
* The AML Compiler takes a given AML program and performs the following tasks:
\item Generate an ATL transformation for each rule.
+
** Analyze the AML program (syntax and semantic).
\item Translate the dataflow block into an Ant script specifying the transformation chain.  
+
** Generate an ATL transformation for each matching rule.
\end{itemize}
+
** Translate the modelFlow block into an Ant script specifying the transformation chain.  
+
** Integrate ATL transformation from a Library.
Other features of AML are:
+
 
Generate model transformations from equal models.
+
* The AML Accuracy component enables to measure the precision, recall, and fscore of a strategy. How? by comparing an computed equal model to an expected equal model.
Measure matching strategy accuracy by comparing expected and computed equal models.  
+
 
Invoke native Java code.
+
* The AMW GUI allows users to manually refine equal models.
 +
 
 +
* HOTs take computed equal models and generate ATL transformations. Each HOT adresses an application domain, e.g., model adaptation, model merging.

Revision as of 10:15, 11 November 2009

The AtlanMod Matching Language (AML) is a Domain Specific Language for expressing matching strategies. A matching strategy computes equivalences between models. Equivalences (also known as mappings, correspondences) can leverage essential model management tasks, among them, model transformation generation. AML is implemented on top of ATL and AMW.

AML extends the fundamental stated in the AMW matching use case. There, a matching strategy is a chain of transformations. Each transformation:

    • instruments a type of heuristic,
    • takes as input a set of models: the models to be matched (i.e., Left and Right), an equal model that refers to them, and a set of additional models,
    • and, yields an equal model. Equal models conform to an extension of the AMW core metamodel.

AML keeps the declarative flavor of ATL for expressing matching rules, and adds dataflow programming constructs for describing transformation chains. Figure 1. shows the AML architecture:

AMLArchitecture.png

  • The AML Compiler takes a given AML program and performs the following tasks:
    • Analyze the AML program (syntax and semantic).
    • Generate an ATL transformation for each matching rule.
    • Translate the modelFlow block into an Ant script specifying the transformation chain.
    • Integrate ATL transformation from a Library.
  • The AML Accuracy component enables to measure the precision, recall, and fscore of a strategy. How? by comparing an computed equal model to an expected equal model.
  • The AMW GUI allows users to manually refine equal models.
  • HOTs take computed equal models and generate ATL transformations. Each HOT adresses an application domain, e.g., model adaptation, model merging.

Back to the top