Friends of Eclipse,
Eclipse is an open source community that benefits millions of developers around the world each and every day! During the month of September, we are asking you to give back to our wonderful open source community. All donations will be used to improve Eclipse technology. Your contribution counts!
We thank you for this gesture, and for giving back to our community.
Developing matching heuristics and integrating with AMW
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>
Back to the top