[517072] Add JUnit test for QVTr example
diff --git a/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/.gitignore b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/.gitignore
index ae3c172..bafb681 100644
--- a/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/.gitignore
+++ b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/.gitignore
@@ -1 +1,3 @@
/bin/
+/src-gen/
+/test-gen/
diff --git a/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/build.properties b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/build.properties
index b799b34..7d2eae2 100644
--- a/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/build.properties
+++ b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/build.properties
@@ -5,5 +5,6 @@
.,\
about.html,\
plugin.properties,\
- .settings/
+ .settings/,\
+ plugin.xml
src.includes = about.html
diff --git a/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/plugin.xml b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/plugin.xml
new file mode 100644
index 0000000..c34c55f
--- /dev/null
+++ b/examples/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/plugin.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2017 Willink Transformations and others.
+ ;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:
+ ; E.D.Willink - Initial API and implementation
+-->
+
+<plugin>
+ <extension
+ point="org.eclipse.core.contenttype.contentTypes">
+ </extension>
+
+</plugin>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/AbstractTestQVT.java b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/AbstractTestQVT.java
index cad5e80..8eb7942 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/AbstractTestQVT.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtbase.tests/src/org/eclipse/qvtd/xtext/qvtbase/tests/AbstractTestQVT.java
@@ -104,7 +104,7 @@
protected final @NonNull URI testsBaseURI;
protected final @NonNull String projectName;
- protected final @NonNull String testFolderName;
+ // protected final @NonNull String testFolderName;
protected final @NonNull URI testFolderURI;
protected final @NonNull URI samplesBaseUri;
protected AbstractCompilerChain compilerChain = null;
@@ -112,17 +112,23 @@
private QVTiTransformationExecutor generatedExecutor = null;
private Set<@NonNull String> nsURIs = new HashSet<@NonNull String>();
- public AbstractTestQVT(@NonNull URI testsBaseURI, @NonNull String projectName, @NonNull String testFolderName) {
+ public AbstractTestQVT(@NonNull URI testsBaseURI, @NonNull String projectName, @Nullable String testFolderName) {
+ this(testsBaseURI, projectName, testFolderName, "samples");
+ }
+
+ public AbstractTestQVT(@NonNull URI testsBaseURI, @NonNull String projectName, @Nullable String testFolderName, @Nullable String samplesFolderName) {
super(new QVTiEnvironmentFactory(LoadTestCase.getProjectMap(), null));
- this.testsBaseURI = testsBaseURI;
+ this.testsBaseURI = testsBaseURI.toString().endsWith("/") ? testsBaseURI : testsBaseURI.appendSegment("");
this.projectName = projectName;
- this.testFolderName = testFolderName;
- this.testFolderURI = testsBaseURI.appendSegment(testFolderName);
- this.samplesBaseUri = testFolderURI.appendSegment("samples");
+ // this.testFolderName = testFolderName;
+ URI testFolderURI = testFolderName != null ? testsBaseURI.appendSegment(testFolderName) : testsBaseURI;
+ this.testFolderURI = testFolderURI.toString().endsWith("/") ? testFolderURI : testFolderURI.appendSegment("");
+ URI samplesBaseUri = samplesFolderName != null ? testFolderURI.appendSegment(samplesFolderName) : testFolderURI;
+ this.samplesBaseUri = samplesBaseUri.toString().endsWith("/") ? samplesBaseUri : samplesBaseUri.appendSegment("");
}
protected void checkOutput(@NonNull Resource outputResource, @NonNull String expectedFile, @Nullable ModelNormalizer normalizer) throws IOException, InterruptedException {
- URI referenceModelURI = samplesBaseUri.appendSegment(expectedFile);
+ URI referenceModelURI = URI.createURI(expectedFile).resolve(samplesBaseUri);
Resource referenceResource = outputResource.getResourceSet().getResource(referenceModelURI, true);
assert referenceResource != null;
if (normalizer != null) {
@@ -336,7 +342,7 @@
}
public @Nullable Resource loadInput(@NonNull String modelName, @NonNull String modelFile) {
- URI modelURI = samplesBaseUri.appendSegment(modelFile);
+ URI modelURI = URI.createURI(modelFile).resolve(samplesBaseUri);
if (interpretedExecutor != null) {
return interpretedExecutor.loadModel(modelName, modelURI);
}
@@ -372,7 +378,7 @@
}
public @NonNull Resource saveOutput(@NonNull String modelName, @NonNull String modelFile, @Nullable String expectedFile, @Nullable ModelNormalizer normalizer) throws IOException, InterruptedException {
- URI modelURI = samplesBaseUri.appendSegment(modelFile);
+ URI modelURI = URI.createURI(modelFile).resolve(samplesBaseUri);
ResourceSet resourceSet = /*getResourceSet()*/environmentFactory.getMetamodelManager().getASResourceSet();
Resource outputResource;
if (interpretedExecutor != null) {
diff --git a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java
index 5837634..46c3dcc 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtcore.tests/src/org/eclipse/qvtd/xtext/qvtcore/tests/QVTcCompilerTests.java
@@ -65,9 +65,10 @@
public class QVTcCompilerTests extends LoadTestCase
{
private static final @NonNull String PROJECT_NAME = "org.eclipse.qvtd.xtext.qvtcore.tests";
- protected static final @NonNull URI TESTS_BASE_URI = URI.createPlatformResourceURI("/org.eclipse.qvtd.xtext.qvtcore.tests/bin/org/eclipse/qvtd/xtext/qvtcore/tests", true);
- protected static final @NonNull URI TESTS_JAVA_SRC_URI = URI.createPlatformResourceURI("/org.eclipse.qvtd.xtext.qvtcore.tests/test-gen", true);
- protected static final @NonNull URI TESTS_JAVA_BIN_URI = URI.createPlatformResourceURI("/org.eclipse.qvtd.xtext.qvtcore.tests/bin", true);
+ // protected static final @NonNull URI TESTS_BASE_URI = URI.createPlatformResourceURI("/org.eclipse.qvtd.xtext.qvtcore.tests/bin/org/eclipse/qvtd/xtext/qvtcore/tests", true);
+ public static final @NonNull URI TESTS_BASE_URI = URI.createPlatformResourceURI("/" + PROJECT_NAME + "/bin/" + PROJECT_NAME.replace(".", "/"), true);
+ // protected static final @NonNull URI TESTS_JAVA_SRC_URI = URI.createPlatformResourceURI("/org.eclipse.qvtd.xtext.qvtcore.tests/test-gen", true);
+ // protected static final @NonNull URI TESTS_JAVA_BIN_URI = URI.createPlatformResourceURI("/org.eclipse.qvtd.xtext.qvtcore.tests/bin", true);
protected static class MyQVT extends AbstractTestQVT
{
@@ -126,10 +127,12 @@
}
protected @NonNull Map<@NonNull String, @Nullable Map<CompilerChain.@NonNull Key<Object>, @Nullable Object>> createBuildCompilerChainOptions() {
+ URI testsJavaSrcURI = URI.createPlatformResourceURI("/" + projectName +"/test-gen", true);
+ URI testsJavaBinURI = URI.createPlatformResourceURI("/" + projectName + "/bin", true);
Map<@NonNull String, @Nullable Map<CompilerChain.@NonNull Key<Object>, @Nullable Object>> options = createCompilerChainOptions();
- QVTcCompilerChain.setOption(options, CompilerChain.JAVA_STEP, CompilerChain.URI_KEY, TESTS_JAVA_SRC_URI);
+ QVTcCompilerChain.setOption(options, CompilerChain.JAVA_STEP, CompilerChain.URI_KEY, testsJavaSrcURI);
QVTcCompilerChain.setOption(options, CompilerChain.JAVA_STEP, CompilerChain.JAVA_GENERATED_DEBUG_KEY, true);
- QVTcCompilerChain.setOption(options, CompilerChain.CLASS_STEP, CompilerChain.URI_KEY, TESTS_JAVA_BIN_URI);
+ QVTcCompilerChain.setOption(options, CompilerChain.CLASS_STEP, CompilerChain.URI_KEY, testsJavaBinURI);
return options;
}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/META-INF/MANIFEST.MF
index 4a4b91d..582f4ea 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/META-INF/MANIFEST.MF
@@ -15,5 +15,6 @@
org.eclipse.qvtd.compiler;bundle-version="[0.14.0,1.0.0)",
org.eclipse.qvtd.codegen;bundle-version="[0.14.0,1.0.0)",
org.eclipse.qvtd.xtext.qvtimperative.tests;bundle-version="[0.14.0,1.0.0)",
- org.eclipse.qvtd.xtext.qvtcore.tests;bundle-version="[0.14.0,1.0.0)"
+ org.eclipse.qvtd.xtext.qvtcore.tests;bundle-version="[0.14.0,1.0.0)",
+ org.eclipse.qvtd.examples.qvtrelation.hstm2fstm;bundle-version="[0.14.0,1.0.0)"
Export-Package: org.eclipse.qvtd.xtext.qvtrelation.tests
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
index ffcad10..ce59c4c 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
@@ -62,8 +62,6 @@
{
private static final @NonNull String PROJECT_NAME = "org.eclipse.qvtd.xtext.qvtrelation.tests";
private static final @NonNull URI TESTS_BASE_URI = URI.createPlatformResourceURI("/" + PROJECT_NAME + "/bin/" + PROJECT_NAME.replace(".", "/"), true);
- private static URI TESTS_JAVA_SRC_URI = URI.createPlatformResourceURI("/" + PROJECT_NAME +"/test-gen", true);
- private static URI TESTS_JAVA_BIN_URI = URI.createPlatformResourceURI("/" + PROJECT_NAME + "/bin", true);
protected static class MyQVT extends AbstractTestQVT
{
@@ -103,7 +101,11 @@
private final @NonNull Map<@NonNull Class<? extends Region>, @NonNull Integer> regionClass2count = new HashMap<>();
public MyQVT(@NonNull String testFolderName, @NonNull EPackage... eInstances) {
- super(TESTS_BASE_URI, PROJECT_NAME, testFolderName);
+ this(TESTS_BASE_URI, PROJECT_NAME, testFolderName, "samples", eInstances);
+ }
+
+ public MyQVT(@NonNull URI testsBaseURI, @NonNull String projectName, @Nullable String testFolderName, @Nullable String samplesFolderName, @NonNull EPackage... eInstances) {
+ super(testsBaseURI, projectName, testFolderName, samplesFolderName);
installEPackages(eInstances);
//
// http://www.eclipse.org/emf/2002/Ecore is referenced by just about any model load
@@ -130,9 +132,9 @@
assertEquals("Region " + regionClass.getSimpleName() + " count:", count != 0 ? count : null, regionClass2count.get(regionClass));
}
- public @NonNull Class<? extends Transformer> buildTransformation(@NonNull String testName, @NonNull String testFileName, @NonNull String outputName,
+ public @NonNull Class<? extends Transformer> buildTransformation(@NonNull String modelsSubPackageName, @NonNull String testFileName, @NonNull String outputName,
@NonNull String middleNsURI, boolean isIncremental, @NonNull String @NonNull... genModelFiles) throws Exception {
- Map<@NonNull String, @Nullable Map<CompilerChain.@NonNull Key<Object>, @Nullable Object>> options = createBuildCompilerChainOptions(testName, isIncremental);
+ Map<@NonNull String, @Nullable Map<CompilerChain.@NonNull Key<Object>, @Nullable Object>> options = createBuildCompilerChainOptions(modelsSubPackageName, isIncremental);
return doBuild(testFileName, outputName, options, genModelFiles);
}
@@ -140,17 +142,19 @@
return doCompile(testFileName, outputName, createCompilerChainOptions(basePrefix));
}
- protected @NonNull Map<@NonNull String, @Nullable Map<CompilerChain.@NonNull Key<Object>, @Nullable Object>> createBuildCompilerChainOptions(String testName, boolean isIncremental) {
+ protected @NonNull Map<@NonNull String, @Nullable Map<CompilerChain.@NonNull Key<Object>, @Nullable Object>> createBuildCompilerChainOptions(String modelsSubPackageName, boolean isIncremental) {
+ URI testsJavaSrcURI = URI.createPlatformResourceURI("/" + projectName +"/test-gen", true);
+ URI testsJavaBinURI = URI.createPlatformResourceURI("/" + projectName + "/bin", true);
Map<@NonNull String, @Nullable String> genModelOptions = new HashMap<>();
- genModelOptions.put(CompilerChain.GENMODEL_BASE_PREFIX, PROJECT_NAME + "." + testName);
+ genModelOptions.put(CompilerChain.GENMODEL_BASE_PREFIX, projectName + "." + modelsSubPackageName);
genModelOptions.put(CompilerChain.GENMODEL_COPYRIGHT_TEXT, "Copyright (c) 2015, 2016 Willink Transformations and others.\n;All rights reserved. This program and the accompanying materials\n;are made available under the terms of the Eclipse Public License v1.0\n;which accompanies this distribution, and is available at\n;http://www.eclipse.org/legal/epl-v10.html\n;\n;Contributors:\n; E.D.Willink - Initial API and implementation");
Map<@NonNull String, @Nullable Map<CompilerChain.@NonNull Key<Object>, @Nullable Object>> options = new HashMap<>();
QVTrCompilerChain.setOption(options, CompilerChain.DEFAULT_STEP, CompilerChain.DEBUG_KEY, true);
QVTrCompilerChain.setOption(options, CompilerChain.DEFAULT_STEP, CompilerChain.SAVE_OPTIONS_KEY, TestsXMLUtil.defaultSavingOptions);
- QVTrCompilerChain.setOption(options, CompilerChain.JAVA_STEP, CompilerChain.URI_KEY, TESTS_JAVA_SRC_URI);
+ QVTrCompilerChain.setOption(options, CompilerChain.JAVA_STEP, CompilerChain.URI_KEY, testsJavaSrcURI);
QVTrCompilerChain.setOption(options, CompilerChain.JAVA_STEP, CompilerChain.JAVA_INCREMENTAL_KEY, isIncremental);
QVTrCompilerChain.setOption(options, CompilerChain.JAVA_STEP, CompilerChain.JAVA_GENERATED_DEBUG_KEY, true);
- QVTrCompilerChain.setOption(options, CompilerChain.CLASS_STEP, CompilerChain.URI_KEY, TESTS_JAVA_BIN_URI);
+ QVTrCompilerChain.setOption(options, CompilerChain.CLASS_STEP, CompilerChain.URI_KEY, testsJavaBinURI);
QVTrCompilerChain.setOption(options, CompilerChain.GENMODEL_STEP, CompilerChain.GENMODEL_USED_GENPACKAGES_KEY, usedGenPackages);
QVTrCompilerChain.setOption(options, CompilerChain.GENMODEL_STEP, CompilerChain.GENMODEL_OPTIONS_KEY, genModelOptions);
return options;
@@ -440,6 +444,38 @@
}
@Test
+ public void testQVTrCompiler_HierarchicalStateMachine2FlatStateMachine_example_CG() throws Exception {
+ // Splitter.RESULT.setState(true);
+ // Splitter.STAGES.setState(true);
+ // Scheduler.DEBUG_GRAPHS.setState(true);
+ // AbstractTransformer.EXCEPTIONS.setState(true);
+ // AbstractTransformer.INVOCATIONS.setState(true);
+ // QVTm2QVTp.PARTITIONING.setState(true);
+ // QVTr2QVTc.VARIABLES.setState(true);
+ URI testsBaseURI = URI.createPlatformResourceURI("/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/bin/org/eclipse/qvtd/examples/qvtrelation/hstm2fstm/", true);
+ String projectName = "org.eclipse.qvtd.examples.qvtrelation.hstm2fstm";
+ MyQVT myQVT = new MyQVT(testsBaseURI, projectName, null, null);
+ try {
+ Class<? extends Transformer> txClass = myQVT.buildTransformation("models",
+ // "/org.eclipse.qvtd.examples.qvtrelation.hstm2fstm/src/org/eclipse/qvtd/examples/qvtrelation/hstm2fstm/HierarchicalStateMachine2FlatStateMachine.qvtr", "flat",
+ "HierarchicalStateMachine2FlatStateMachine.qvtr", "flat",
+ "http://www.eclipse.org/qvtd/examples/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine2FlatStateMachine", false);//,
+ myQVT.assertRegionCount(BasicMappingRegionImpl.class, 0);
+ myQVT.assertRegionCount(EarlyMerger.EarlyMergedMappingRegion.class, 0);
+ myQVT.assertRegionCount(LateConsumerMerger.LateMergedMappingRegion.class, 1);
+ myQVT.assertRegionCount(MicroMappingRegionImpl.class, 7);
+ //
+ myQVT.createGeneratedExecutor(txClass);
+ myQVT.loadInput("hier", "in/hier.xmi");
+ myQVT.executeTransformation();
+ myQVT.saveOutput("flat", "out/generated_CG.xmi", "out/expected.xmi", FlatStateMachineNormalizer.INSTANCE);
+ }
+ finally {
+ myQVT.dispose();
+ }
+ }
+
+ @Test
public void testQVTrCompiler_HierarchicalStateMachine2FlatStateMachine_iCG() throws Exception {
// Splitter.RESULT.setState(true);
// Splitter.STAGES.setState(true);
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine.ecore b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine.ecore
index f9dab4f..b7ce308 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine.ecore
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine.ecore
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="FlatStateMachine" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
- nsPrefix="fstm">
- <eClassifiers xsi:type="ecore:EClass" name="State">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
- eType="#//StateMachine" eOpposite="#//StateMachine/ownedStates"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions" ordered="false"
- upperBound="-1" eType="#//Transition" eOpposite="#//Transition/fromState"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions" ordered="false"
- upperBound="-1" eType="#//Transition" eOpposite="#//Transition/toState"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Transition">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
- eType="#//StateMachine" eOpposite="#//StateMachine/ownedTransitions"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="fromState" ordered="false"
- lowerBound="1" eType="#//State" eOpposite="#//State/outTransitions"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="toState" ordered="false"
- lowerBound="1" eType="#//State" eOpposite="#//State/inTransitions"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="StateMachine">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStates" ordered="false"
- upperBound="-1" eType="#//State" containment="true" eOpposite="#//State/owningStateMachine"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTransitions" ordered="false"
- upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/owningStateMachine"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="FlatStateMachine" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
+ nsPrefix="fstm">
+ <eClassifiers xsi:type="ecore:EClass" name="State">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
+ eType="#//StateMachine" eOpposite="#//StateMachine/ownedStates"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions" ordered="false"
+ upperBound="-1" eType="#//Transition" eOpposite="#//Transition/fromState"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions" ordered="false"
+ upperBound="-1" eType="#//Transition" eOpposite="#//Transition/toState"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Transition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
+ eType="#//StateMachine" eOpposite="#//StateMachine/ownedTransitions"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromState" ordered="false"
+ lowerBound="1" eType="#//State" eOpposite="#//State/outTransitions"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toState" ordered="false"
+ lowerBound="1" eType="#//State" eOpposite="#//State/inTransitions"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StateMachine">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStates" ordered="false"
+ upperBound="-1" eType="#//State" containment="true" eOpposite="#//State/owningStateMachine"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTransitions" ordered="false"
+ upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/owningStateMachine"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine.ecore b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine.ecore
index 27c4b11..2347bae 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine.ecore
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine.ecore
@@ -1,37 +1,37 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HierarchicalStateMachine" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
- nsPrefix="hstm">
- <eClassifiers xsi:type="ecore:EClass" name="State">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
- eType="#//StateMachine" eOpposite="#//StateMachine/ownedStates"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="nestedStates" ordered="false"
- upperBound="-1" eType="#//State" eOpposite="#//State/nestingState"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="nestingState" ordered="false"
- eType="#//State" eOpposite="#//State/nestedStates"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions" ordered="false"
- upperBound="-1" eType="#//Transition" eOpposite="#//Transition/fromState"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions" ordered="false"
- upperBound="-1" eType="#//Transition" eOpposite="#//Transition/toState"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Transition">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
- eType="#//StateMachine" eOpposite="#//StateMachine/ownedTransitions"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="fromState" ordered="false"
- lowerBound="1" eType="#//State" eOpposite="#//State/outTransitions"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="toState" ordered="false"
- lowerBound="1" eType="#//State" eOpposite="#//State/inTransitions"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="StateMachine">
- <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStates" ordered="false"
- upperBound="-1" eType="#//State" containment="true" eOpposite="#//State/owningStateMachine"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTransitions" ordered="false"
- upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/owningStateMachine"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HierarchicalStateMachine" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
+ nsPrefix="hstm">
+ <eClassifiers xsi:type="ecore:EClass" name="State">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
+ eType="#//StateMachine" eOpposite="#//StateMachine/ownedStates"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nestedStates" ordered="false"
+ upperBound="-1" eType="#//State" eOpposite="#//State/nestingState"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="nestingState" ordered="false"
+ eType="#//State" eOpposite="#//State/nestedStates"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outTransitions" ordered="false"
+ upperBound="-1" eType="#//Transition" eOpposite="#//Transition/fromState"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="inTransitions" ordered="false"
+ upperBound="-1" eType="#//Transition" eOpposite="#//Transition/toState"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Transition">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owningStateMachine" lowerBound="1"
+ eType="#//StateMachine" eOpposite="#//StateMachine/ownedTransitions"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromState" ordered="false"
+ lowerBound="1" eType="#//State" eOpposite="#//State/outTransitions"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="toState" ordered="false"
+ lowerBound="1" eType="#//State" eOpposite="#//State/inTransitions"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StateMachine">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedStates" ordered="false"
+ upperBound="-1" eType="#//State" containment="true" eOpposite="#//State/owningStateMachine"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTransitions" ordered="false"
+ upperBound="-1" eType="#//Transition" containment="true" eOpposite="#//Transition/owningStateMachine"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel.xmi b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel.xmi
index cb50033..9fb8903 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel.xmi
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel.xmi
@@ -1,57 +1,57 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hstm:StateMachine
- xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:hstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
- xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine ../HierarchicalStateMachine.ecore"
- name="sm">
- <ownedStates
- outTransitions="//@ownedTransitions.0"
- inTransitions="//@ownedTransitions.2"
- name="s1"/>
- <ownedStates
- outTransitions="//@ownedTransitions.1 //@ownedTransitions.4"
- inTransitions="//@ownedTransitions.0"
- name="s2"/>
- <ownedStates
- nestedStates="//@ownedStates.3 //@ownedStates.4"
- outTransitions="//@ownedTransitions.3"
- name="s3"/>
- <ownedStates
- nestingState="//@ownedStates.2"
- inTransitions="//@ownedTransitions.1"
- name="s3a"/>
- <ownedStates
- nestedStates="//@ownedStates.5 //@ownedStates.6"
- nestingState="//@ownedStates.2"
- inTransitions="//@ownedTransitions.3 //@ownedTransitions.4"
- name="s3b"/>
- <ownedStates
- nestingState="//@ownedStates.4"
- outTransitions="//@ownedTransitions.2"
- name="s3ba"/>
- <ownedStates
- nestingState="//@ownedStates.4"
- name="s3bb"/>
- <ownedTransitions
- fromState="//@ownedStates.0"
- toState="//@ownedStates.1"
- name="t1_2"/>
- <ownedTransitions
- fromState="//@ownedStates.1"
- toState="//@ownedStates.3"
- name="t2_3a"/>
- <ownedTransitions
- fromState="//@ownedStates.5"
- toState="//@ownedStates.0"
- name="t3ba_1"/>
- <ownedTransitions
- fromState="//@ownedStates.2"
- toState="//@ownedStates.4"
- name="t3_3b"/>
- <ownedTransitions
- fromState="//@ownedStates.1"
- toState="//@ownedStates.4"
- name="t2_3b"/>
-</hstm:StateMachine>
+<?xml version="1.0" encoding="UTF-8"?>
+<hstm:StateMachine
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:hstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
+ xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine ../HierarchicalStateMachine.ecore"
+ name="sm">
+ <ownedStates
+ outTransitions="//@ownedTransitions.0"
+ inTransitions="//@ownedTransitions.2"
+ name="s1"/>
+ <ownedStates
+ outTransitions="//@ownedTransitions.1 //@ownedTransitions.4"
+ inTransitions="//@ownedTransitions.0"
+ name="s2"/>
+ <ownedStates
+ nestedStates="//@ownedStates.3 //@ownedStates.4"
+ outTransitions="//@ownedTransitions.3"
+ name="s3"/>
+ <ownedStates
+ nestingState="//@ownedStates.2"
+ inTransitions="//@ownedTransitions.1"
+ name="s3a"/>
+ <ownedStates
+ nestedStates="//@ownedStates.5 //@ownedStates.6"
+ nestingState="//@ownedStates.2"
+ inTransitions="//@ownedTransitions.3 //@ownedTransitions.4"
+ name="s3b"/>
+ <ownedStates
+ nestingState="//@ownedStates.4"
+ outTransitions="//@ownedTransitions.2"
+ name="s3ba"/>
+ <ownedStates
+ nestingState="//@ownedStates.4"
+ name="s3bb"/>
+ <ownedTransitions
+ fromState="//@ownedStates.0"
+ toState="//@ownedStates.1"
+ name="t1_2"/>
+ <ownedTransitions
+ fromState="//@ownedStates.1"
+ toState="//@ownedStates.3"
+ name="t2_3a"/>
+ <ownedTransitions
+ fromState="//@ownedStates.5"
+ toState="//@ownedStates.0"
+ name="t3ba_1"/>
+ <ownedTransitions
+ fromState="//@ownedStates.2"
+ toState="//@ownedStates.4"
+ name="t3_3b"/>
+ <ownedTransitions
+ fromState="//@ownedStates.1"
+ toState="//@ownedStates.4"
+ name="t2_3b"/>
+</hstm:StateMachine>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel_expected.xmi b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel_expected.xmi
index ed2fdb5..2f11e13 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel_expected.xmi
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/LargerModel_expected.xmi
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fstm:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
- xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine java://org.eclipse.qvtd.xtext.qvtrelation.tests.HierarchicalStateMachine2FlatStateMachine.FlatStateMachine.FlatStateMachinePackage"
- name="sm">
- <ownedStates outTransitions="//@ownedTransitions.4 //@ownedTransitions.8 //@ownedTransitions.9" inTransitions="//@ownedTransitions.10"
- name="s2"/>
- <ownedStates outTransitions="//@ownedTransitions.10" inTransitions="//@ownedTransitions.0" name="s1"/>
- <ownedStates outTransitions="//@ownedTransitions.3 //@ownedTransitions.7" inTransitions="//@ownedTransitions.9" name="s3a"/>
- <ownedStates outTransitions="//@ownedTransitions.0 //@ownedTransitions.1 //@ownedTransitions.5" inTransitions="//@ownedTransitions.1 //@ownedTransitions.2 //@ownedTransitions.3 //@ownedTransitions.4"
- name="s3ba"/>
- <ownedStates outTransitions="//@ownedTransitions.2 //@ownedTransitions.6" inTransitions="//@ownedTransitions.5 //@ownedTransitions.6 //@ownedTransitions.7 //@ownedTransitions.8"
- name="s3bb"/>
- <ownedTransitions fromState="//@ownedStates.3" toState="//@ownedStates.1" name="t3ba_1"/>
- <ownedTransitions fromState="//@ownedStates.3" toState="//@ownedStates.3" name="t3_3b"/>
- <ownedTransitions fromState="//@ownedStates.4" toState="//@ownedStates.3" name="t3_3b"/>
- <ownedTransitions fromState="//@ownedStates.2" toState="//@ownedStates.3" name="t3_3b"/>
- <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.3" name="t2_3b"/>
- <ownedTransitions fromState="//@ownedStates.3" toState="//@ownedStates.4" name="t3_3b"/>
- <ownedTransitions fromState="//@ownedStates.4" toState="//@ownedStates.4" name="t3_3b"/>
- <ownedTransitions fromState="//@ownedStates.2" toState="//@ownedStates.4" name="t3_3b"/>
- <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.4" name="t2_3b"/>
- <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.2" name="t2_3a"/>
- <ownedTransitions fromState="//@ownedStates.1" toState="//@ownedStates.0" name="t1_2"/>
-</fstm:StateMachine>
+<?xml version="1.0" encoding="UTF-8"?>
+<fstm:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
+ xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine java://org.eclipse.qvtd.xtext.qvtrelation.tests.HierarchicalStateMachine2FlatStateMachine.FlatStateMachine.FlatStateMachinePackage"
+ name="sm">
+ <ownedStates outTransitions="//@ownedTransitions.4 //@ownedTransitions.8 //@ownedTransitions.9" inTransitions="//@ownedTransitions.10"
+ name="s2"/>
+ <ownedStates outTransitions="//@ownedTransitions.10" inTransitions="//@ownedTransitions.0" name="s1"/>
+ <ownedStates outTransitions="//@ownedTransitions.3 //@ownedTransitions.7" inTransitions="//@ownedTransitions.9" name="s3a"/>
+ <ownedStates outTransitions="//@ownedTransitions.0 //@ownedTransitions.1 //@ownedTransitions.5" inTransitions="//@ownedTransitions.1 //@ownedTransitions.2 //@ownedTransitions.3 //@ownedTransitions.4"
+ name="s3ba"/>
+ <ownedStates outTransitions="//@ownedTransitions.2 //@ownedTransitions.6" inTransitions="//@ownedTransitions.5 //@ownedTransitions.6 //@ownedTransitions.7 //@ownedTransitions.8"
+ name="s3bb"/>
+ <ownedTransitions fromState="//@ownedStates.3" toState="//@ownedStates.1" name="t3ba_1"/>
+ <ownedTransitions fromState="//@ownedStates.3" toState="//@ownedStates.3" name="t3_3b"/>
+ <ownedTransitions fromState="//@ownedStates.4" toState="//@ownedStates.3" name="t3_3b"/>
+ <ownedTransitions fromState="//@ownedStates.2" toState="//@ownedStates.3" name="t3_3b"/>
+ <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.3" name="t2_3b"/>
+ <ownedTransitions fromState="//@ownedStates.3" toState="//@ownedStates.4" name="t3_3b"/>
+ <ownedTransitions fromState="//@ownedStates.4" toState="//@ownedStates.4" name="t3_3b"/>
+ <ownedTransitions fromState="//@ownedStates.2" toState="//@ownedStates.4" name="t3_3b"/>
+ <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.4" name="t2_3b"/>
+ <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.2" name="t2_3a"/>
+ <ownedTransitions fromState="//@ownedStates.1" toState="//@ownedStates.0" name="t1_2"/>
+</fstm:StateMachine>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel.xmi b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel.xmi
index d29b7ef..53537e3 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel.xmi
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel.xmi
@@ -1,21 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hstm:StateMachine
- xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:hstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
- xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine ../HierarchicalStateMachine.ecore"
- name="sm">
- <ownedStates
- nestedStates="//@ownedStates.1"
- outTransitions="//@ownedTransitions.0"
- name="s1"/>
- <ownedStates
- nestingState="//@ownedStates.0"
- inTransitions="//@ownedTransitions.0"
- name="s2"/>
- <ownedTransitions
- fromState="//@ownedStates.0"
- toState="//@ownedStates.1"
- name="t12"/>
-</hstm:StateMachine>
+<?xml version="1.0" encoding="UTF-8"?>
+<hstm:StateMachine
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:hstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
+ xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine ../HierarchicalStateMachine.ecore"
+ name="sm">
+ <ownedStates
+ nestedStates="//@ownedStates.1"
+ outTransitions="//@ownedTransitions.0"
+ name="s1"/>
+ <ownedStates
+ nestingState="//@ownedStates.0"
+ inTransitions="//@ownedTransitions.0"
+ name="s2"/>
+ <ownedTransitions
+ fromState="//@ownedStates.0"
+ toState="//@ownedStates.1"
+ name="t12"/>
+</hstm:StateMachine>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel_expected.xmi b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel_expected.xmi
index 9d704af..ab49a5b 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel_expected.xmi
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/MiniModel_expected.xmi
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fstm:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
- xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine java://org.eclipse.qvtd.xtext.qvtrelation.tests.HierarchicalStateMachine2FlatStateMachine.FlatStateMachine.FlatStateMachinePackage"
- name="sm">
- <ownedStates outTransitions="//@ownedTransitions.0" inTransitions="//@ownedTransitions.0" name="s2"/>
- <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.0" name="t12"/>
-</fstm:StateMachine>
+<?xml version="1.0" encoding="UTF-8"?>
+<fstm:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
+ xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine java://org.eclipse.qvtd.xtext.qvtrelation.tests.HierarchicalStateMachine2FlatStateMachine.FlatStateMachine.FlatStateMachinePackage"
+ name="sm">
+ <ownedStates outTransitions="//@ownedTransitions.0" inTransitions="//@ownedTransitions.0" name="s2"/>
+ <ownedTransitions fromState="//@ownedStates.0" toState="//@ownedStates.0" name="t12"/>
+</fstm:StateMachine>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel.xmi b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel.xmi
index 8a7b4ce..df3fba2 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel.xmi
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel.xmi
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<hstm:StateMachine
- xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:hstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
- xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine ../HierarchicalStateMachine.ecore"
- name="sm">
- <ownedStates
- outTransitions="//@ownedTransitions.0"
- name="s1"/>
- <ownedStates
- inTransitions="//@ownedTransitions.0"
- name="s2"/>
- <ownedTransitions
- fromState="//@ownedStates.0"
- toState="//@ownedStates.1"
- name="t12"/>
-</hstm:StateMachine>
+<?xml version="1.0" encoding="UTF-8"?>
+<hstm:StateMachine
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:hstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine"
+ xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/HierarchicalStateMachine ../HierarchicalStateMachine.ecore"
+ name="sm">
+ <ownedStates
+ outTransitions="//@ownedTransitions.0"
+ name="s1"/>
+ <ownedStates
+ inTransitions="//@ownedTransitions.0"
+ name="s2"/>
+ <ownedTransitions
+ fromState="//@ownedStates.0"
+ toState="//@ownedStates.1"
+ name="t12"/>
+</hstm:StateMachine>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel_expected.xmi b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel_expected.xmi
index 7cec761..caf7a1f 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel_expected.xmi
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/hstm2fstm/samples/SimpleModel_expected.xmi
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fstm:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
- xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine java://org.eclipse.qvtd.xtext.qvtrelation.tests.HierarchicalStateMachine2FlatStateMachine.FlatStateMachine.FlatStateMachinePackage"
- name="sm">
- <ownedStates inTransitions="//@ownedTransitions.0" name="s2"/>
- <ownedStates outTransitions="//@ownedTransitions.0" name="s1"/>
- <ownedTransitions fromState="//@ownedStates.1" toState="//@ownedStates.0" name="t12"/>
-</fstm:StateMachine>
+<?xml version="1.0" encoding="UTF-8"?>
+<fstm:StateMachine xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fstm="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine"
+ xsi:schemaLocation="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/hstm2fstm/FlatStateMachine java://org.eclipse.qvtd.xtext.qvtrelation.tests.HierarchicalStateMachine2FlatStateMachine.FlatStateMachine.FlatStateMachinePackage"
+ name="sm">
+ <ownedStates inTransitions="//@ownedTransitions.0" name="s2"/>
+ <ownedStates outTransitions="//@ownedTransitions.0" name="s1"/>
+ <ownedTransitions fromState="//@ownedStates.1" toState="//@ownedStates.0" name="t12"/>
+</fstm:StateMachine>