<!--
/********************************************************************************
 * 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">

		<am3.loadModel modelHandler="EMF" name="TraceSamplesPerformanceMetrics-Metrics" metamodel="Metrics" path="Outputs/TraceSamplesPerformanceMetrics-Metrics.xmi"/>
		<am3.loadModel modelHandler="UML2" name="StateChart-UML" metamodel="UML2" path="Inputs/Order.uml"/>
		<am3.loadModel modelHandler="UML2" name="PerformanceProfile-UML" metamodel="UML2" path="Inputs/Performance.profile.uml"/>
		
		<!-- 
			Generate the performance annotated UML state chart model model from the UML state chart model, 
			the associated "Performance" profile and the Metrics model
		-->
		<am3.atl path="Transformations/UML2Copy.atl" allowInterModelReferences="true">
			<inModel name="IN" model="StateChart-UML"/>
			<inModel name="PRO" model="PerformanceProfile-UML"/>
			<inModel name="ME" model="TraceSamplesPerformanceMetrics-Metrics"/>
			<inModel name="UML2" model="UML2"/>
			<inModel name="Metrics" model="Metrics"/>
			<outModel name="OUT" model="PerformanceAnnotatedStateChart-UML" metamodel="UML2" path="Outputs/PerformanceAnnotatedStateChart-UML.uml"/>
			<superimpose path="Transformations/UMLStateChart2PerformanceAnnotatedUMLStateChart.atl"/>
		</am3.atl>
			
		<am3.saveModel model="PerformanceAnnotatedStateChart-UML" path="Outputs/PerformanceAnnotatedStateChart-UML.uml"/>
		
	</target>
	
	
	<target name="loadMetamodels">

		<!-- Load Metrics metamodel -->
		<am3.loadModel modelHandler="EMF" name="Metrics" metamodel="MOF" path="Metamodels/Metrics.ecore" />
		
		<!-- Load UML metamodel -->
		<am3.loadModel modelHandler="UML2" name="UML2" metamodel="MOF" nsUri="http://www.eclipse.org/uml2/2.1.0/UML"/>
		
	</target>
	
</project>