The AMW plug-in provides a set of matching transformations that automatically create weaving models. However, it may be necessary to develop new transformations, due to several reasons: to develop new heuristic methods; to better tune the existing heuristics; or to execute several transformations at the same time and with different weights.
The AMW plug-in provides an extension point that enables to easily plug new matching transformations. This page explains how to contribute to this extension point. This is a technical document that requires previous knowledge about development of Eclipse plug-ins.
create OUT : AMW from IN : AMW, left : MOF, right : MOF;- HOT; the higher-order transformations are added in the menu "Transform". The higher-order transformations produce an ATL transformation model. This model is used to transform the models conforming to the left metamodel into models conforming to the right metamodel.
create OUT : ATL from IN : AMW, left: MOF, right: MOF;The developer must indicate the transformation file ('.asm'). The weaving model opened in the weaving panel is the input weaving model.
<!ELEMENT extension (matching* , hot*)> <!ATTLIST extension point CDATA #REQUIRED id CDATA #REQUIRED>
<!ELEMENT matching (binding+)> <!ATTLIST matching transformation CDATA #REQUIRED description CDATA #REQUIRED file_suffix CDATA #REQUIRED>
<!ELEMENT binding EMPTY> <!ATTLIST binding reference CDATA #REQUIRED header CDATA #REQUIRED>
<plugin> <extension id="TransformationExtension" point="org.eclipse.weaver.transformationID"> <matching transformation="transformations/Assign_NameSimbyType.asm" description="Name equality" file_suffix="eq"> <binding reference="leftM" header="left"/> <binding reference="rightM" header="right"/> </matching> <hot transformation="transformations/AMWtoATL_Match.asm" description="Generate transformation" file_suffix="hot"> <binding reference="leftM" header="left"/> <binding reference="rightM" header="right"/> </hot> </extension> </plugin>