Jump to: navigation, search

Difference between revisions of "AM3/Ant Tasks"

< AM3
(am3.saveModel)
(am3.atl)
Line 79: Line 79:
  
 
==am3.atl==
 
==am3.atl==
 +
 +
* Description
  
 
The purpose of this task is to execute an [[ATL]] transformation.
 
The purpose of this task is to execute an [[ATL]] transformation.
Line 86: Line 88:
 
A metametamodel is referenced by a string composed of a percent character (i.e. '%') followed by the name of the model handler.
 
A metametamodel is referenced by a string composed of a percent character (i.e. '%') followed by the name of the model handler.
 
For instance: '%EMF' refers to Ecore and '%MDR' refers to MOF 1.4.
 
For instance: '%EMF' refers to Ecore and '%MDR' refers to MOF 1.4.
 +
 +
* Parameters
 +
<table border="1">
 +
<tr>
 +
  <th>Attribute</th>
 +
  <th>Description</th>
 +
  <th>Required</th>
 +
</tr>
 +
<tr>
 +
  <td>path</td>
 +
  <td>Path of ATL transformation to run</td>
 +
  <td>Yes</td>
 +
</tr>
 +
</table>
 +
 +
* Parameters specified as nested elements
 +
* inModel
 +
<table border="1">
 +
<tr>
 +
  <th>Attribute</th>
 +
  <th>Description</th>
 +
  <th>Required</th>
 +
</tr>
 +
<tr>
 +
  <td>name</td><td>Name of model in transformation context</td><td>Yes</td>
 +
</tr>
 +
<tr>
 +
  <td>model</td><td>Name of model in task context</td><td>Yes</td>
 +
</tr>
 +
</table>
 +
* outModel
 +
<table border="1">
 +
<tr>
 +
  <th>Attribute</th>
 +
  <th>Description</th>
 +
  <th>Required</th>
 +
</tr>
 +
<tr>
 +
  <td>name</td><td>Name of model in transformation context</td><td>Yes</td>
 +
</tr>
 +
<tr>
 +
  <td>model</td><td>Name of model in task context</td><td>Yes</td>
 +
</tr>
 +
<tr>
 +
  <td>metamodel</td><td>Name of metamodel in task context</td><td>Yes</td>
 +
</tr>
 +
</table>
 +
*  library
 +
<table border="1">
 +
<tr>
 +
  <th>Attribute</th>
 +
  <th>Description</th>
 +
  <th>Required</th>
 +
</tr>
 +
<tr>
 +
  <td>name</td><td>Name of library in transformation context</td><td>Yes</td>
 +
</tr>
 +
<tr>
 +
  <td>path</td><td>Path of library</td><td>Yes</td>
 +
</tr>
 +
</table>
 +
 +
* Examples
 +
 +
<am3.atl name="/AMMA-Tools/TCS2Problem.atl">
 +
  <inModel name="IN" model="metamodel.tcs"/>
 +
  <inModel name="TCS" model="TCS"/>
 +
  <inModel name="MM" model="metamodel.km3"/>
 +
  <inModel name="KM3" model="KM3"/>
 +
  <inModel name="Problem" model="Problem"/>
 +
  <library name="KM3Helpers" path="/AMMA-Tools/KM3Helpers.asm" />
 +
  <library name="strings" path="/AMMA-Tools/strings.asm" />
 +
  <outModel name="OUT" model="metamodel.pbs" metamodel="Problem"/>
 +
</am3.atl>

Revision as of 08:59, 17 July 2006


am3.loadModel

  • Description

This task is used to load a model. This model may be a terminal model or a metamodel. The metametamodels are typically not loaded with this task since they come bundled with a model handler.

  • Parameters
Attribute Description Required Default value
nameName of model in task contextYesNone
metamodel Name of metamodel in task context Yes None
path Path of file to load Yes None
modelHandler Model handler of loaded model No EMF
  • Parameters specified as nested elements
  • Examples
<am3.loadModel modelHandler="EMF" name="News" metamodel="MOF" path="/org.eclipse.am3.zoos.atlantic/News.ecore" />
<am3.loadModel modelHandler="EMF" name="IN" metamodel="KM3" path="/org.eclipse.am3.zoos.atlantic/Amble.km3">
 <injector name="ebnf">
  <param name="name" value="KM3" />
 </injector>
</am3.loadModel>
<am3.loadModel name="myXML" metamodel="XML" path="/test/testQuery.xml">
 <injector name="xml" />
</am3.loadModel>

am3.saveModel

  • Description

This task is used to save a model.

  • Examples
<am3.saveModel model="myXML" path="/test/opop.xml">
 <extractor name="xml" />
</am3.saveModel>
<am3.saveModel model="news_model" path="/test/news.ecore" />
<am3.saveModel model="IN" path="/test/MyKM3.km3">
 <extractor name="ebnf">
  <param name="format" value="KM3.tcs"/>
  <param name="indentString" value=" "/>
  <param name="serializeComments" value="false"/>
 </extractor>
</am3.saveModel>

am3.atl

  • Description

The purpose of this task is to execute an ATL transformation. The models used by a transformation are referenced by their IDs as defined at their loading time (see AM3_Ant_Tasks#am3.loadModel).

There is an exception for metametamodels, which are typically already available from the model handler. A metametamodel is referenced by a string composed of a percent character (i.e. '%') followed by the name of the model handler. For instance: '%EMF' refers to Ecore and '%MDR' refers to MOF 1.4.

  • Parameters
Attribute Description Required
path Path of ATL transformation to run Yes
  • Parameters specified as nested elements
  • inModel
Attribute Description Required
nameName of model in transformation contextYes
modelName of model in task contextYes
  • outModel
Attribute Description Required
nameName of model in transformation contextYes
modelName of model in task contextYes
metamodelName of metamodel in task contextYes
  • library
Attribute Description Required
nameName of library in transformation contextYes
pathPath of libraryYes
  • Examples
<am3.atl name="/AMMA-Tools/TCS2Problem.atl">
 <inModel name="IN" model="metamodel.tcs"/>
 <inModel name="TCS" model="TCS"/>
 <inModel name="MM" model="metamodel.km3"/>
 <inModel name="KM3" model="KM3"/>
 <inModel name="Problem" model="Problem"/>
 <library name="KM3Helpers" path="/AMMA-Tools/KM3Helpers.asm" />
 <library name="strings" path="/AMMA-Tools/strings.asm" />
 <outModel name="OUT" model="metamodel.pbs" metamodel="Problem"/>
</am3.atl>