<!--
/********************************************************************************
 * Copyright (c) 2007 INRIA. 
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Eclipse Public License v1.0 
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors: 
 *     INRIA - Initial implementation
 *     
 ******************************************************************************/
-->

<!-- author: Hugo Bruneliere -->
	
<project name="PerformanceAnnotatedUmlStateCharts_MoDisco-UseCase" default="generateModel">

	<target name="generateModel" depends="loadMetamodels">
		
		<!-- Load the TraceSamples-Excel model -->
		<am3.loadModel modelHandler="EMF" name="TraceSamples-XML" metamodel="XML" path="Inputs/Order_PerformanceTrace.xml">
			<injector name="xml"/>
		</am3.loadModel>
		<am3.saveModel model="TraceSamples-XML" path="Outputs/TraceSamples-XML.xmi"/>
	
		<!-- Generate the ExcelSpreadsheetML model from the XML model -->
		<am3.atl path="Transformations/XML2SpreadsheetMLSimplified.atl">
			<inModel name="IN" model="TraceSamples-XML"/>
			<inModel name="XML" model="XML"/>
			<inModel name="SpreadsheetMLSimplified" model="SpreadsheetMLSimplified"/>
			<outModel name="OUT" model="TraceSamples-Excel" metamodel="SpreadsheetMLSimplified"/>
		</am3.atl>
		<am3.saveModel model="TraceSamples-Excel" path="Outputs/TraceSamples-Excel.xmi"/>

		<!-- Generate the Trace model from the ExcelSpreadsheetML model -->
		<am3.atl path="Transformations/SpreadsheetMLSimplified2Trace.atl">
			<inModel name="IN" model="TraceSamples-Excel"/>
			<inModel name="SpreadsheetMLSimplified" model="SpreadsheetMLSimplified"/>
			<inModel name="Trace" model="Trace"/>
			<outModel name="OUT" model="TraceSamples-Trace" metamodel="Trace"/>
		</am3.atl>
		<am3.saveModel model="TraceSamples-Trace" path="Outputs/TraceSamples-Trace.xmi"/>
		
	</target>
	
	
	<target name="loadMetamodels">

		<!-- Load XML metamodel -->
		<am3.loadModel modelHandler="EMF" name="XML" metamodel="MOF" path="Metamodels/XML.ecore" />
					
		<!-- Load SpreadsheetMLSimplified metamodel -->
		<am3.loadModel modelHandler="EMF" name="SpreadsheetMLSimplified" metamodel="MOF" path="Metamodels/MSOfficeExcel_SpreadsheetMLSimplified.ecore" />
		
		<!-- Load Trace metamodel -->
		<am3.loadModel modelHandler="EMF" name="Trace" metamodel="MOF" path="Metamodels/Trace.ecore" />
		
	</target>
	
</project>