Browse Source

link with fmi api successful

Claudio Gomes 6 years ago
parent
commit
566838805a

+ 5 - 0
HintCO/.classpath

@@ -1,10 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
 	<classpathentry kind="src" path="src-gen"/>
+	<classpathentry kind="src" path="lib/nativebinaries"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
 	<classpathentry kind="src" path="src"/>
 	<classpathentry kind="src" path="xtend-gen"/>
 	<classpathentry kind="src" path="test"/>
+	<classpathentry kind="lib" path="lib/fmi2.jar"/>
+	<classpathentry kind="lib" path="lib/jnifmuapi.jar" sourcepath="lib/jnifmuapi-sources.jar"/>
+	<classpathentry kind="lib" path="lib/slf4j-api.jar" sourcepath="lib/slf4j-api-sources.jar"/>
+	<classpathentry kind="lib" path="lib/slf4j-simple.jar" sourcepath="lib/slf4j-simple-sources.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>

+ 0 - 3
HintCO/.gitmodules

@@ -1,3 +0,0 @@
-[submodule "third_party/org.intocps.maestro.fmi"]
-	path = third_party/org.intocps.maestro.fmi
-	url = https://github.com/INTO-CPS-Association/org.intocps.maestro.fmi.git

+ 7 - 1
HintCO/build.properties

@@ -6,4 +6,10 @@ output.. = bin/
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\
-               plugin.properties
+               plugin.properties,\
+               lib/,\
+               bin/,\
+               src/,\
+               src-gen/,\
+               test/,\
+               xtend-gen/

BIN
HintCO/lib/nativebinaries/lib/Linux-amd64/libfmuapi.so


BIN
HintCO/lib/nativebinaries/lib/Linux-i386/libfmuapi.so


BIN
HintCO/lib/nativebinaries/lib/Windows-amd64/fmuapi.dll


BIN
HintCO/lib/nativebinaries/lib/Windows-x86/fmuapi.dll


+ 6 - 1
HintCO/src/ua/ansymo/hintco/CosimRunner.xtend

@@ -1,11 +1,16 @@
 package ua.ansymo.hintco
 
 import java.util.LinkedList
+import org.intocps.fmi.jnifmuapi.Factory;
 
 class CosimRunner {
 	
 	def run(LinkedList<PrecendenceNode> nodes) {
-		
+		diagnostics()
+	}
+	
+	def diagnostics(){
+		Factory.checkApi()
 	}
 	
 }

+ 1 - 18
HintCO/test/ua/ansymo/hintco/test/CandidatesGeneratorTest.xtend

@@ -2,12 +2,11 @@ package ua.ansymo.hintco.test
 
 import org.junit.Test
 import ua.ansymo.hintco.CandidatesGenerator
+import ua.ansymo.hintco.ExtrapolationAdaptation
 import ua.ansymo.hintco.ModelStorage
 
 import static org.junit.Assert.*
 import static ua.ansymo.hintco.test.ModelQuery.*
-import ua.ansymo.hintco.ExtrapolationAdaptation
-import ua.ansymo.hintco.CosimRunner
 
 class CandidatesGeneratorTest {
 	val generator = new CandidatesGenerator()
@@ -159,21 +158,5 @@ class CandidatesGeneratorTest {
 		assertEquals(1, variants.size)
 	}
 	
-	@Test
-	def void executeCosimulationTest(){
-		val src = loader.loadCandidates("instances/execute_cosim_test.xmi")
-		generator.createVariantTree(src)
-		generator.generateVariants(src, 
-			[srcN, trgN, n, constraints, cs|
-				generator.newConstraintIsFeasible(srcN, trgN, n, constraints, cs)
-			],
-			[n, alternatives, ns |
-				generator.validVariant(n, alternatives, ns)
-			],
-			[ns, constraints, cs |
-				val order = generator.computeOperationOrder(ns, cs)
-				new CosimRunner().run(order)
-			])
-	}
 	
 }

+ 29 - 0
HintCO/test/ua/ansymo/hintco/test/CosimRunnerTest.xtend

@@ -0,0 +1,29 @@
+package ua.ansymo.hintco.test
+
+import org.junit.Test
+import ua.ansymo.hintco.CandidatesGenerator
+import ua.ansymo.hintco.CosimRunner
+import ua.ansymo.hintco.ModelStorage
+
+class CosimRunnerTest {
+	val generator = new CandidatesGenerator()
+	val loader = new ModelStorage()
+	
+	@Test
+	def void executeCosimulationTest(){
+		val src = loader.loadCandidates("instances/execute_cosim_test.xmi")
+		generator.createVariantTree(src)
+		generator.generateVariants(src, 
+			[srcN, trgN, n, constraints, cs|
+				generator.newConstraintIsFeasible(srcN, trgN, n, constraints, cs)
+			],
+			[n, alternatives, ns |
+				generator.validVariant(n, alternatives, ns)
+			],
+			[ns, constraints, cs |
+				val order = generator.computeOperationOrder(ns, cs)
+				new CosimRunner().run(order)
+			])
+	}
+	
+}