[571074] Failing test case
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/models/uml/Bug571074.profile.uml b/tests/org.eclipse.ocl.examples.xtext.tests/models/uml/Bug571074.profile.uml
new file mode 100644
index 0000000..4f1444a
--- /dev/null
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/models/uml/Bug571074.profile.uml
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+  <uml:Profile xmi:id="_9qywsGEHEeu3-bh5n6XVFQ" name="ValidationProblem" metaclassReference="_CtE-0GEIEeu3-bh5n6XVFQ _oTto8GEIEeu3-bh5n6XVFQ _SpPEEGEJEeu3-bh5n6XVFQ _ztDd8GYlEeuLiryWOk9R1g">
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_CtE-0GEIEeu3-bh5n6XVFQ" alias="Element">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_oTto8GEIEeu3-bh5n6XVFQ" alias="Dependency">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_SpPEEGEJEeu3-bh5n6XVFQ" alias="NamedElement">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+    </elementImport>
+    <elementImport xmi:type="uml:ElementImport" xmi:id="_ztDd8GYlEeuLiryWOk9R1g" alias="Classifier">
+      <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+    </elementImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_9tQ14GEHEeu3-bh5n6XVFQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="_9tRc8GEHEeu3-bh5n6XVFQ">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_DZkRYGEIEeu3-bh5n6XVFQ" name="Farm">
+      <generalization xmi:type="uml:Generalization" xmi:id="_qVC-MGsyEeuTsKMX8VBlrw" general="_jVyGAGsyEeuTsKMX8VBlrw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ii5bEmszEeuTsKMX8VBlrw" name="base_NamedElement" redefinedProperty="_nPHIAGsyEeuTsKMX8VBlrw" association="_ii5bEGszEeuTsKMX8VBlrw">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ii5bE2szEeuTsKMX8VBlrw"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Hr1IQGYgEeuLiryWOk9R1g" name="animal" type="_BfN1AGYgEeuLiryWOk9R1g" isReadOnly="true" isDerived="true">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_KvOAwGYgEeuLiryWOk9R1g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_KvS5QGYgEeuLiryWOk9R1g" value="*"/>
+        <defaultValue xmi:type="uml:OpaqueExpression" xmi:id="_mKYVYGYgEeuLiryWOk9R1g" name="spec" type="_BfN1AGYgEeuLiryWOk9R1g">
+          <language>OCL</language>
+          <body>Has.allInstances()->select(base_Dependency.client->includes(self.base_NamedElement)).base_Dependency.supplier.extension_Animal->asSet()</body>
+        </defaultValue>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_rd_kEGYgEeuLiryWOk9R1g" name="chicken" type="_NgdZUGYgEeuLiryWOk9R1g" isReadOnly="true" isDerived="true">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_suzrsGYgEeuLiryWOk9R1g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_su9csGYgEeuLiryWOk9R1g" value="*"/>
+        <defaultValue xmi:type="uml:OpaqueExpression" xmi:id="_x_lo0GYgEeuLiryWOk9R1g" name="spec" type="_NgdZUGYgEeuLiryWOk9R1g">
+          <language>OCL</language>
+          <body>self.animal->selectByKind(Chicken)</body>
+        </defaultValue>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_zCTqEGYgEeuLiryWOk9R1g" name="duck" type="_OjZdAGYgEeuLiryWOk9R1g" isReadOnly="true" isDerived="true">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0yGMsGYgEeuLiryWOk9R1g"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_0yPWoGYgEeuLiryWOk9R1g" value="*"/>
+        <defaultValue xmi:type="uml:OpaqueExpression" xmi:id="_4RymsGYgEeuLiryWOk9R1g" name="spec" type="_OjZdAGYgEeuLiryWOk9R1g">
+          <language>OCL</language>
+          <body>self.animal->selectByKind(Duck)</body>
+        </defaultValue>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_akAb0GanEeuaDpe9qBEE2w" name="allAnimals" isReadOnly="true" isDerived="true">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_egrswGanEeuaDpe9qBEE2w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_eg5vMGanEeuaDpe9qBEE2w" value="*"/>
+        <defaultValue xmi:type="uml:OpaqueExpression" xmi:id="_hO_tIGanEeuaDpe9qBEE2w" name="spec">
+          <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+          <language>OCL</language>
+          <body>Has.allInstances()->select(base_Dependency.client->includes(self.base_NamedElement)).base_Dependency.supplier->asSet()</body>
+        </defaultValue>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_qaa64GanEeuaDpe9qBEE2w" name="allAnimalsEverywhere" type="_BfN1AGYgEeuLiryWOk9R1g" isReadOnly="true" isDerived="true">
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_slN-gGanEeuaDpe9qBEE2w"/>
+        <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_slSP8GanEeuaDpe9qBEE2w" value="*"/>
+        <defaultValue xmi:type="uml:OpaqueExpression" xmi:id="_vf61EGanEeuaDpe9qBEE2w" name="spec" type="_BfN1AGYgEeuLiryWOk9R1g">
+          <language>OCL</language>
+          <body>Animal.allInstances()</body>
+        </defaultValue>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_ov85AGEIEeu3-bh5n6XVFQ" name="Has">
+      <generalization xmi:type="uml:Generalization" xmi:id="_pLOPYGsyEeuTsKMX8VBlrw" general="_jVyGAGsyEeuTsKMX8VBlrw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_v4vgoWEIEeu3-bh5n6XVFQ" name="base_Dependency" redefinedProperty="_nPHIAGsyEeuTsKMX8VBlrw" association="_v4u5kGEIEeu3-bh5n6XVFQ">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_v4vgomEIEeu3-bh5n6XVFQ"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_v4u5kGEIEeu3-bh5n6XVFQ" name="E_Has_Dependency1" memberEnd="_v4vgoGEIEeu3-bh5n6XVFQ _v4vgoWEIEeu3-bh5n6XVFQ">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_v4vgoGEIEeu3-bh5n6XVFQ" name="extension_Has" type="_ov85AGEIEeu3-bh5n6XVFQ" aggregation="composite" association="_v4u5kGEIEeu3-bh5n6XVFQ"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_BfN1AGYgEeuLiryWOk9R1g" name="Animal" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_pvxt8GsyEeuTsKMX8VBlrw" general="_jVyGAGsyEeuTsKMX8VBlrw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_NgdZUGYgEeuLiryWOk9R1g" name="Chicken">
+      <generalization xmi:type="uml:Generalization" xmi:id="_SRmNEGYgEeuLiryWOk9R1g" general="_BfN1AGYgEeuLiryWOk9R1g"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_dI2psGsyEeuTsKMX8VBlrw" name="base_NamedElement" redefinedProperty="_nPHIAGsyEeuTsKMX8VBlrw" association="_dI2CoGsyEeuTsKMX8VBlrw">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_dI2psWsyEeuTsKMX8VBlrw"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_OjZdAGYgEeuLiryWOk9R1g" name="Duck">
+      <generalization xmi:type="uml:Generalization" xmi:id="_S8e9IGYgEeuLiryWOk9R1g" general="_BfN1AGYgEeuLiryWOk9R1g"/>
+      <generalization xmi:type="uml:Generalization" xmi:id="_7PB_QGhiEeuxTMF8JHSJ-w" general="_5HcAoGhiEeuxTMF8JHSJ-w"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_EGRFsWhjEeuxTMF8JHSJ-w" name="base_NamedElement" redefinedProperty="_nPHIAGsyEeuTsKMX8VBlrw" association="_EGQeoGhjEeuxTMF8JHSJ-w">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EGRFsmhjEeuxTMF8JHSJ-w"/>
+      </ownedAttribute>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_ZBo1UGs1EeuTsKMX8VBlrw" name="isBaseClass" isReadOnly="true" isDerived="true">
+        <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+        <defaultValue xmi:type="uml:OpaqueExpression" xmi:id="_ZBo1UWs1EeuTsKMX8VBlrw" name="spec">
+          <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+          <language>OCL</language>
+          <body>self.base_NamedElement.oclIsKindOf(UML::Class)</body>
+        </defaultValue>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_5HcAoGhiEeuxTMF8JHSJ-w" name="CanFly" isAbstract="true">
+      <generalization xmi:type="uml:Generalization" xmi:id="_n88eYGsyEeuTsKMX8VBlrw" general="_jVyGAGsyEeuTsKMX8VBlrw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_EGQeoGhjEeuxTMF8JHSJ-w" name="E_Duck_NamedElement18" memberEnd="_EGRFsGhjEeuxTMF8JHSJ-w _EGRFsWhjEeuxTMF8JHSJ-w">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_EGRFsGhjEeuxTMF8JHSJ-w" name="extension_Duck" type="_OjZdAGYgEeuLiryWOk9R1g" aggregation="composite" association="_EGQeoGhjEeuxTMF8JHSJ-w"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_dI2CoGsyEeuTsKMX8VBlrw" name="E_Chicken_NamedElement25" memberEnd="_dI2CoWsyEeuTsKMX8VBlrw _dI2psGsyEeuTsKMX8VBlrw">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_dI2CoWsyEeuTsKMX8VBlrw" name="extension_Chicken" type="_NgdZUGYgEeuLiryWOk9R1g" aggregation="composite" association="_dI2CoGsyEeuTsKMX8VBlrw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Stereotype" xmi:id="_jVyGAGsyEeuTsKMX8VBlrw" name="FarmElement" isAbstract="true">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_nPHIAGsyEeuTsKMX8VBlrw" name="base_Element" association="_nPF54GsyEeuTsKMX8VBlrw">
+        <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+        <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nPHIAWsyEeuTsKMX8VBlrw"/>
+      </ownedAttribute>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_nPF54GsyEeuTsKMX8VBlrw" name="E_FarmElement_Element23" memberEnd="_nPGg8GsyEeuTsKMX8VBlrw _nPHIAGsyEeuTsKMX8VBlrw">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_nPGg8GsyEeuTsKMX8VBlrw" name="extension_FarmElement" type="_jVyGAGsyEeuTsKMX8VBlrw" aggregation="composite" association="_nPF54GsyEeuTsKMX8VBlrw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Extension" xmi:id="_ii5bEGszEeuTsKMX8VBlrw" name="E_Farm_NamedElement24" memberEnd="_ii5bEWszEeuTsKMX8VBlrw _ii5bEmszEeuTsKMX8VBlrw">
+      <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_ii5bEWszEeuTsKMX8VBlrw" name="extension_Farm" type="_DZkRYGEIEeu3-bh5n6XVFQ" aggregation="composite" association="_ii5bEGszEeuTsKMX8VBlrw"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_9rIH4GEHEeu3-bh5n6XVFQ">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_9rIH4WEHEeu3-bh5n6XVFQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Profile>
+  <Ecore:EPackage xmi:id="_g7qLYGEKEeu3-bh5n6XVFQ" base_Package="_9qywsGEHEeu3-bh5n6XVFQ" packageName="validationproblem" nsPrefix="ValidationProblem" nsURI="http://www.papyrus.com/ValidationProblem/1" basePackage="com.validationproblem.profile" prefix="ValidationProblem"/>
+</xmi:XMI>
diff --git a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
index 9062007..02dcfeb 100644
--- a/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
+++ b/tests/org.eclipse.ocl.examples.xtext.tests/src/org/eclipse/ocl/examples/test/xtext/UsageTests.java
@@ -2059,4 +2059,32 @@
 			}
 		});
 	}
+
+	/**
+	 * Verify that the static profile in Bug570717.uml model can be generated and compiled.
+	 */
+	public void testBug571074_uml() throws Exception {
+		TestOCL ocl = createOCL();
+		String testFileStem = "Bug571074";
+		String testProjectName = testFileStem;
+	//	TestFile umlModelFile = getTestFile(testFileStem + ".uml", ocl, getTestModelURI("models/uml/" + testFileStem + ".uml"));
+	//	TestFile umlLibraryFile = getTestFile(testFileStem + ".library.uml", ocl, getTestModelURI("models/uml/" + testFileStem + ".library.uml"));
+		TestFile umlProfileFile = getTestFile(testFileStem + ".profile.uml", ocl, getTestModelURI("models/uml/" + testFileStem + ".profile.uml"));
+		Resource umlProfileResource = loadUmlProfile(ocl, umlProfileFile.getURI());
+		String ecoreFileContent = createUMLEcoreModelContent(umlProfileResource);
+		String genmodelFileContent = createUMLGenModelContent(umlProfileResource, testFileStem, null);
+		createManifestFile();
+		createTestFileWithContent(getTestProject().getOutputFile(testFileStem + ".profile.ecore"), ecoreFileContent);
+		URI genModelURI = createTestFileWithContent(getTestProject().getOutputFile(testFileStem + ".profile.genmodel"), genmodelFileContent);
+		Path genModelPath = new Path("/" + getTestProject().getName() + "/" + testFileStem + ".profile.genmodel");
+		//
+		TestUMLImporter importer = new TestUMLImporter();
+		importer.reloadGenModel(genModelPath);
+		//
+		doGenModel(genModelURI);
+		//
+		doUMLCompile(ocl, testProjectName);
+		//
+		ocl.dispose();
+	}
 }