aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-08-01 18:38:43 +0200
committerLibravatar Kristóf Marussy <kris7topher@gmail.com>2019-08-01 18:38:43 +0200
commit30617bc0afc7eb9ce0e7f703e8b4296749d2c3aa (patch)
tree07ed93bbfe1fa62e6ba5b34961499f55e93bae09
parentClean up CPS and Satellite domains (diff)
downloadVIATRA-Generator-30617bc0afc7eb9ce0e7f703e8b4296749d2c3aa.tar.gz
VIATRA-Generator-30617bc0afc7eb9ce0e7f703e8b4296749d2c3aa.tar.zst
VIATRA-Generator-30617bc0afc7eb9ce0e7f703e8b4296749d2c3aa.zip
Ensure that experiment runner code compiles
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath23
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties3
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore8
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore32
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF4
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/.classpath21
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF5
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend13
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend30
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend17
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend18
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend84
-rw-r--r--Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend12
14 files changed, 113 insertions, 160 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
index 3b808ec0..7f459bda 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/.classpath
@@ -1,10 +1,13 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 4 <attributes>
5 <classpathentry kind="src" path="src"/> 5 <attribute name="module" value="true"/>
6 <classpathentry kind="src" path="xtend-gen"/> 6 </attributes>
7 <classpathentry kind="src" path="patterns"/> 7 </classpathentry>
8 <classpathentry kind="src" path="src-gen/"/> 8 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
9 <classpathentry kind="output" path="bin"/> 9 <classpathentry kind="src" path="src"/>
10</classpath> 10 <classpathentry kind="src" path="patterns"/>
11 <classpathentry kind="src" path="src-gen"/>
12 <classpathentry kind="output" path="bin"/>
13</classpath>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF
index 5fb85170..1adef165 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/META-INF/MANIFEST.MF
@@ -9,8 +9,7 @@ Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.domains.alloyexamples, 9Export-Package: hu.bme.mit.inf.dslreasoner.domains.alloyexamples,
10 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem, 10 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem,
11 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl, 11 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.impl,
12 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.util, 12 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.util
13 hu.bme.mit.inf.dslreasoner.domains.alloyexamples.util
14Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime, 13Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
15 org.eclipse.viatra.query.runtime, 14 org.eclipse.viatra.query.runtime,
16 org.eclipse.core.runtime, 15 org.eclipse.core.runtime,
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties
index a9ab8b56..418a7a43 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/build.properties
@@ -5,5 +5,6 @@ bin.includes = .,\
5 plugin.properties 5 plugin.properties
6jars.compile.order = . 6jars.compile.order = .
7source.. = src/,\ 7source.. = src/,\
8 src-gen/ 8 src-gen/,\
9 patterns/
9output.. = bin/ 10output.. = bin/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore
index 52338993..1e7d444f 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/.gitignore
@@ -42,3 +42,11 @@
42/.Opposite.java._trace 42/.Opposite.java._trace
43/.OppositeDifferentClass.java._trace 43/.OppositeDifferentClass.java._trace
44/.PatternContent.java._trace 44/.PatternContent.java._trace
45/ContentInNotLive.java
46/DirectSupertype.java
47/Live.java
48/LoopInInheritence.java
49/NonSymmetricOpposite.java
50/Opposite.java
51/OppositeDifferentClass.java
52/PatternContent.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore
deleted file mode 100644
index 4b17cd82..00000000
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.alloyexamples/src-gen/hu/bme/mit/inf/dslreasoner/domains/alloyexamples/util/.gitignore
+++ /dev/null
@@ -1,32 +0,0 @@
1/.ContentInNotLiveProcessor.java._trace
2/.ContentInNotLiveQuerySpecification.java._trace
3/.DirectSupertypeProcessor.java._trace
4/.DirectSupertypeQuerySpecification.java._trace
5/.LiveProcessor.java._trace
6/.LiveQuerySpecification.java._trace
7/.LoopInInheritenceProcessor.java._trace
8/.LoopInInheritenceQuerySpecification.java._trace
9/.NonSymmetricOppositeProcessor.java._trace
10/.NonSymmetricOppositeQuerySpecification.java._trace
11/.OppositeDifferentClassProcessor.java._trace
12/.OppositeDifferentClassQuerySpecification.java._trace
13/.OppositeProcessor.java._trace
14/.OppositeQuerySpecification.java._trace
15/.PatternContentProcessor.java._trace
16/.PatternContentQuerySpecification.java._trace
17/ContentInNotLiveProcessor.java
18/ContentInNotLiveQuerySpecification.java
19/DirectSupertypeProcessor.java
20/DirectSupertypeQuerySpecification.java
21/LiveProcessor.java
22/LiveQuerySpecification.java
23/LoopInInheritenceProcessor.java
24/LoopInInheritenceQuerySpecification.java
25/NonSymmetricOppositeProcessor.java
26/NonSymmetricOppositeQuerySpecification.java
27/OppositeDifferentClassProcessor.java
28/OppositeDifferentClassQuerySpecification.java
29/OppositeProcessor.java
30/OppositeQuerySpecification.java
31/PatternContentProcessor.java
32/PatternContentQuerySpecification.java
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
index 73ebb2c7..81ee8677 100644
--- a/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/META-INF/MANIFEST.MF
@@ -10,9 +10,7 @@ Export-Package: hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm,
10 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl, 10 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.impl,
11 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.util, 11 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.util,
12 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu, 12 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu,
13 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated, 13 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated
14 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.mutated.util,
15 hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.util
16Require-Bundle: org.eclipse.viatra.query.runtime, 14Require-Bundle: org.eclipse.viatra.query.runtime,
17 org.eclipse.core.runtime, 15 org.eclipse.core.runtime,
18 org.eclipse.emf.ecore;visibility:=reexport, 16 org.eclipse.emf.ecore;visibility:=reexport,
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath b/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath
index 29ba3981..e7847821 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath
@@ -1,9 +1,12 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 4 <attributes>
5 <classpathentry kind="src" path="src"/> 5 <attribute name="module" value="true"/>
6 <classpathentry kind="src" path="xtend-gen"/> 6 </attributes>
7 <classpathentry kind="src" path="src-gen"/> 7 </classpathentry>
8 <classpathentry kind="output" path="bin"/> 8 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
9</classpath> 9 <classpathentry kind="src" path="src"/>
10 <classpathentry kind="src" path="xtend-gen"/>
11 <classpathentry kind="output" path="bin"/>
12</classpath>
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF b/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF
index e2918491..548d3608 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF
@@ -17,15 +17,12 @@ Require-Bundle: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlan
17 org.eclipse.viatra.query.tooling.core;bundle-version="1.5.0", 17 org.eclipse.viatra.query.tooling.core;bundle-version="1.5.0",
18 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0", 18 org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0",
19 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", 19 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0",
20 org.eclipse.viatra.query.patternlanguage;bundle-version="1.5.0",
21 org.eclipse.viatra.query.patternlanguage.emf;bundle-version="1.5.0",
22 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;bundle-version="1.0.0", 20 hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;bundle-version="1.0.0",
23 org.junit;bundle-version="4.12.0", 21 org.junit;bundle-version="4.12.0",
24 hu.bme.mit.inf.dslreasoner.domains.transima.fam;bundle-version="1.0.0", 22 ModelGenExampleFAM_plugin;bundle-version="1.0.0",
25 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0", 23 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0",
26 org.eclipse.viatra.dse;bundle-version="0.15.0", 24 org.eclipse.viatra.dse;bundle-version="0.15.0",
27 hu.bme.mit.inf.dlsreasoner.alloy.reasoner;bundle-version="1.0.0", 25 hu.bme.mit.inf.dlsreasoner.alloy.reasoner;bundle-version="1.0.0",
28 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic;bundle-version="1.0.0",
29 org.eclipse.viatra.query.runtime.localsearch;bundle-version="1.5.0", 26 org.eclipse.viatra.query.runtime.localsearch;bundle-version="1.5.0",
30 hu.bme.mit.inf.dslreasoner.logic2ecore;bundle-version="1.0.0", 27 hu.bme.mit.inf.dslreasoner.logic2ecore;bundle-version="1.0.0",
31 hu.bme.mit.inf.dslreasoner.visualisation;bundle-version="1.0.0", 28 hu.bme.mit.inf.dslreasoner.visualisation;bundle-version="1.0.0",
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend
index daa932fd..e15dbf3f 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend
@@ -24,7 +24,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
24import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy 24import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy
25import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner 25import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
26import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration 26import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
27import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation 27import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
28import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace 28import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
29import java.util.LinkedList 29import java.util.LinkedList
30import java.util.List 30import java.util.List
@@ -32,9 +32,6 @@ import org.eclipse.emf.ecore.EObject
32import org.eclipse.emf.ecore.resource.Resource 32import org.eclipse.emf.ecore.resource.Resource
33import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl 33import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
34import org.eclipse.xtend.lib.annotations.Data 34import org.eclipse.xtend.lib.annotations.Data
35import org.eclipse.viatra.query.runtime.api.IQuerySpecification
36import java.util.Set
37import java.util.Comparator
38 35
39enum Metamodel { 36enum Metamodel {
40 FAM, YakinduWOSynch, Yakindu 37 FAM, YakinduWOSynch, Yakindu
@@ -187,8 +184,7 @@ class ScenarioRunner {
187 it.runtimeLimit = 300 184 it.runtimeLimit = 300
188 it.typeScopes.maxNewElements = scenario.size 185 it.typeScopes.maxNewElements = scenario.size
189 it.typeScopes.minNewElements = scenario.size 186 it.typeScopes.minNewElements = scenario.size
190 it.solutionScope.numberOfRequiredSolution = scenario.number 187 it.solutionScope.numberOfRequiredSolutions = scenario.number
191 it.existingQueries = vq.patterns.map[it.internalQueryRepresentation]
192 it.nameNewElements = false 188 it.nameNewElements = false
193 it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis 189 it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis
194 it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints 190 it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints
@@ -223,9 +219,8 @@ class ScenarioRunner {
223 it.runtimeLimit = 300 219 it.runtimeLimit = 300
224 it.typeScopes.maxNewElements = scenario.size 220 it.typeScopes.maxNewElements = scenario.size
225 it.typeScopes.minNewElements = scenario.size 221 it.typeScopes.minNewElements = scenario.size
226 it.solutionScope.numberOfRequiredSolution = scenario.number 222 it.solutionScope.numberOfRequiredSolutions = scenario.number
227 it.typeScopes.maxNewIntegers = 0 223 it.typeScopes.maxNewIntegers = 0
228 it.writeToFile=true
229 it.randomise = run-1 224 it.randomise = run-1
230 ] 225 ]
231 } 226 }
@@ -259,7 +254,7 @@ class ScenarioRunner {
259// ecore2GML.transform(root) 254// ecore2GML.transform(root)
260// workspace.writeText('''solutionVisualisation«representationNumber».gml''',gml) 255// workspace.writeText('''solutionVisualisation«representationNumber».gml''',gml)
261// 256//
262 val visualiser = new GraphvizVisualisation 257 val visualiser = new GraphvizVisualiser
263 val visualisation = visualiser.visualiseConcretization(representation) 258 val visualisation = visualiser.visualiseConcretization(representation)
264 visualisation.writeToFile(workspace,'''solutionVisualisation«representationNumber»''') 259 visualisation.writeToFile(workspace,'''solutionVisualisation«representationNumber»''')
265 260
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend
index 43d145d3..34f3c267 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend
@@ -1,9 +1,10 @@
1package hu.bme.mit.inf.dslreasoner.run 1package hu.bme.mit.inf.dslreasoner.run
2 2
3import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage 3import functionalarchitecture.FunctionalarchitecturePackage
4import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore
4import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem 5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem
5import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage 6import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage
6import hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern 7import hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns
7import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage 8import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage
8import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor 9import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
9import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns 10import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns
@@ -12,6 +13,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMetho
12import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ModelGenerationMethodBasedGlobalConstraint 13import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ModelGenerationMethodBasedGlobalConstraint
13import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace 14import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
14import java.util.Collection 15import java.util.Collection
16import java.util.HashMap
15import java.util.LinkedHashMap 17import java.util.LinkedHashMap
16import java.util.List 18import java.util.List
17import java.util.Set 19import java.util.Set
@@ -21,14 +23,14 @@ import org.eclipse.emf.ecore.EEnum
21import org.eclipse.emf.ecore.EEnumLiteral 23import org.eclipse.emf.ecore.EEnumLiteral
22import org.eclipse.emf.ecore.EObject 24import org.eclipse.emf.ecore.EObject
23import org.eclipse.emf.ecore.EReference 25import org.eclipse.emf.ecore.EReference
24import org.eclipse.xtext.xbase.lib.Functions.Function1
25import java.util.HashMap
26import org.eclipse.emf.ecore.EcorePackage 26import org.eclipse.emf.ecore.EcorePackage
27import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore 27import org.eclipse.xtext.xbase.lib.Functions.Function1
28import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Type
29import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Model
28 30
29abstract class MetamodelLoader { 31abstract class MetamodelLoader {
30 protected val ReasonerWorkspace workspace 32 protected val ReasonerWorkspace workspace
31 public new(ReasonerWorkspace workspace) { 33 new(ReasonerWorkspace workspace) {
32 this.workspace = workspace 34 this.workspace = workspace
33 } 35 }
34 def EcoreMetamodelDescriptor loadMetamodel() 36 def EcoreMetamodelDescriptor loadMetamodel()
@@ -53,7 +55,7 @@ class FAMLoader extends MetamodelLoader{
53 } 55 }
54 56
55 override loadMetamodel() { 57 override loadMetamodel() {
56 val package = FunctionalArchitecturePackage.eINSTANCE 58 val package = FunctionalarchitecturePackage.eINSTANCE
57 val List<EClass> classes = package.EClassifiers.filter(EClass).toList 59 val List<EClass> classes = package.EClassifiers.filter(EClass).toList
58 val List<EEnum> enums = package.EClassifiers.filter(EEnum).toList 60 val List<EEnum> enums = package.EClassifiers.filter(EEnum).toList
59 val List<EEnumLiteral> literals = enums.map[ELiterals].flatten.toList 61 val List<EEnumLiteral> literals = enums.map[ELiterals].flatten.toList
@@ -70,12 +72,12 @@ class FAMLoader extends MetamodelLoader{
70 } 72 }
71 73
72 override loadQueries(EcoreMetamodelDescriptor metamodel) { 74 override loadQueries(EcoreMetamodelDescriptor metamodel) {
73 val i = Pattern.instance 75 val i = FamPatterns.instance
74 val patterns = i.specifications.toList 76 val patterns = i.specifications.toList
75 val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet 77 val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet
76 val derivedFeatures = new LinkedHashMap 78 val derivedFeatures = new LinkedHashMap
77 derivedFeatures.put(i.type,metamodel.attributes.filter[it.name == "type"].head) 79 derivedFeatures.put(Type.instance,metamodel.attributes.filter[it.name == "type"].head)
78 derivedFeatures.put(i.model,metamodel.references.filter[it.name == "model"].head) 80 derivedFeatures.put(Model.instance,metamodel.references.filter[it.name == "model"].head)
79 val res = new ViatraQuerySetDescriptor( 81 val res = new ViatraQuerySetDescriptor(
80 patterns, 82 patterns,
81 wfPatterns, 83 wfPatterns,
@@ -92,8 +94,8 @@ class FAMLoader extends MetamodelLoader{
92 94
93class YakinduLoader extends MetamodelLoader{ 95class YakinduLoader extends MetamodelLoader{
94 96
95 private var useSynchronization = true; 97 var useSynchronization = true;
96 private var useComplexStates = false; 98 var useComplexStates = false;
97 public static val patternsWithSynchronization = #[ 99 public static val patternsWithSynchronization = #[
98 "synchHasNoOutgoing", "synchHasNoIncoming", "SynchronizedIncomingInSameRegion", "notSynchronizingStates", 100 "synchHasNoOutgoing", "synchHasNoIncoming", "SynchronizedIncomingInSameRegion", "notSynchronizingStates",
99 "hasMultipleOutgoingTrainsition", "hasMultipleIncomingTrainsition", "SynchronizedRegionsAreNotSiblings", 101 "hasMultipleOutgoingTrainsition", "hasMultipleIncomingTrainsition", "SynchronizedRegionsAreNotSiblings",
@@ -104,10 +106,10 @@ class YakinduLoader extends MetamodelLoader{
104 YakindummPackage.eINSTANCE.eClass 106 YakindummPackage.eINSTANCE.eClass
105 } 107 }
106 108
107 public def setUseSynchronization(boolean useSynchronization) { 109 def setUseSynchronization(boolean useSynchronization) {
108 this.useSynchronization = useSynchronization 110 this.useSynchronization = useSynchronization
109 } 111 }
110 public def setUseComplexStates(boolean useComplexStates) { 112 def setUseComplexStates(boolean useComplexStates) {
111 this.useComplexStates = useComplexStates 113 this.useComplexStates = useComplexStates
112 } 114 }
113 115
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend
index 8d96958d..ae810a9b 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend
@@ -25,10 +25,12 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
25import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic 25import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic
26import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 26import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
27import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage 27import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
28import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
28import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor 29import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
29import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy 30import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy
30import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner 31import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
31import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration 32import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
33import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
32import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace 34import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
33import java.io.BufferedReader 35import java.io.BufferedReader
34import java.io.InputStreamReader 36import java.io.InputStreamReader
@@ -37,9 +39,6 @@ import org.eclipse.emf.ecore.EObject
37import org.eclipse.emf.ecore.resource.Resource 39import org.eclipse.emf.ecore.resource.Resource
38import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl 40import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
39import org.junit.Test 41import org.junit.Test
40import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation
41import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationSizePrinter
42import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
43 42
44enum UseSolver{Viatra, Smt, ViatraWithSmt, Alloy} 43enum UseSolver{Viatra, Smt, ViatraWithSmt, Alloy}
45enum Domain{FAM, Yakindu, FileSystem,Ecore} 44enum Domain{FAM, Yakindu, FileSystem,Ecore}
@@ -129,7 +128,7 @@ class RunMeasurements {
129 val smtConfig = new SmtSolverConfiguration() => [ 128 val smtConfig = new SmtSolverConfiguration() => [
130 it.typeScopes.maxNewElements = size 129 it.typeScopes.maxNewElements = size
131 it.typeScopes.minNewElements = size 130 it.typeScopes.minNewElements = size
132 it.solutionScope.numberOfRequiredSolution = number 131 it.solutionScope.numberOfRequiredSolutions = number
133 it.solverPath = '''"D:/Programs/Z3/4.3/z3.exe"''' 132 it.solverPath = '''"D:/Programs/Z3/4.3/z3.exe"'''
134 ] 133 ]
135 val solution = this.smtSolver.solve( 134 val solution = this.smtSolver.solve(
@@ -142,9 +141,8 @@ class RunMeasurements {
142 val alloyConfig = new AlloySolverConfiguration => [ 141 val alloyConfig = new AlloySolverConfiguration => [
143 it.typeScopes.maxNewElements = size 142 it.typeScopes.maxNewElements = size
144 it.typeScopes.minNewElements = size 143 it.typeScopes.minNewElements = size
145 it.solutionScope.numberOfRequiredSolution = number 144 it.solutionScope.numberOfRequiredSolutions = number
146 it.typeScopes.maxNewIntegers = 0 145 it.typeScopes.maxNewIntegers = 0
147 it.writeToFile = true
148 ] 146 ]
149 val solution = this.alloyReasoner.solve( 147 val solution = this.alloyReasoner.solve(
150 problem, 148 problem,
@@ -157,13 +155,12 @@ class RunMeasurements {
157 it.runtimeLimit = 400 155 it.runtimeLimit = 400
158 it.typeScopes.maxNewElements = size 156 it.typeScopes.maxNewElements = size
159 it.typeScopes.minNewElements = size 157 it.typeScopes.minNewElements = size
160 it.solutionScope.numberOfRequiredSolution = number 158 it.solutionScope.numberOfRequiredSolutions = number
161 it.existingQueries = vq.patterns.map[it.internalQueryRepresentation]
162 it.nameNewElements = false 159 it.nameNewElements = false
163 it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis 160 it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis
164 it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints 161 it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints
165 it.stateCoderStrategy = StateCoderStrategy::Neighbourhood 162 it.stateCoderStrategy = StateCoderStrategy::Neighbourhood
166 it.debugCongiguration.partalInterpretationVisualisationFrequency = 100 163 it.debugConfiguration.partalInterpretationVisualisationFrequency = 100
167 //it.debugCongiguration.partialInterpretatioVisualiser = 164 //it.debugCongiguration.partialInterpretatioVisualiser =
168 //new GraphvizVisualisation 165 //new GraphvizVisualisation
169 //new PartialInterpretationSizePrinter 166 //new PartialInterpretationSizePrinter
@@ -267,7 +264,7 @@ class RunMeasurements {
267 val gml = partialInterpretation2GML.transform(representation) 264 val gml = partialInterpretation2GML.transform(representation)
268 r.workspace.writeText('''solution«representationNumber».gml''',gml) 265 r.workspace.writeText('''solution«representationNumber».gml''',gml)
269 if(representation.newElements.size <160) { 266 if(representation.newElements.size <160) {
270 val visualiser = new GraphvizVisualisation 267 val visualiser = new GraphvizVisualiser
271 val visualisation = visualiser.visualiseConcretization(representation) 268 val visualisation = visualiser.visualiseConcretization(representation)
272 visualisation.writeToFile(r.workspace,'''solution«representationNumber»''') 269 visualisation.writeToFile(r.workspace,'''solution«representationNumber»''')
273 } 270 }
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend
index d8f75b89..1b8fe3e9 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend
@@ -30,7 +30,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor
30import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy 30import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy
31import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner 31import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
32import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration 32import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
33import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation 33import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
34import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace 34import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
35import java.io.BufferedReader 35import java.io.BufferedReader
36import java.io.InputStreamReader 36import java.io.InputStreamReader
@@ -44,7 +44,6 @@ import org.eclipse.emf.ecore.resource.Resource
44import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl 44import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
45import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine 45import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine
46import org.eclipse.viatra.query.runtime.emf.EMFScope 46import org.eclipse.viatra.query.runtime.emf.EMFScope
47import java.lang.invoke.VolatileCallSite
48 47
49enum PartialModelSource { Homeworks, Random } 48enum PartialModelSource { Homeworks, Random }
50enum ValidationTechique {Alloy, Viatra} 49enum ValidationTechique {Alloy, Viatra}
@@ -116,7 +115,7 @@ class RunModelExtensionMeasurements {
116 val smtConfig = new SmtSolverConfiguration() => [ 115 val smtConfig = new SmtSolverConfiguration() => [
117 it.typeScopes.maxNewElements = size 116 it.typeScopes.maxNewElements = size
118 it.typeScopes.minNewElements = size 117 it.typeScopes.minNewElements = size
119 it.solutionScope.numberOfRequiredSolution = 1 118 it.solutionScope.numberOfRequiredSolutions = 1
120 it.solverPath = '''"D:/Programs/Z3/4.3/z3.exe"''' 119 it.solverPath = '''"D:/Programs/Z3/4.3/z3.exe"'''
121 ] 120 ]
122 val solution = this.smtSolver.solve( 121 val solution = this.smtSolver.solve(
@@ -129,9 +128,8 @@ class RunModelExtensionMeasurements {
129 val alloyConfig = new AlloySolverConfiguration => [ 128 val alloyConfig = new AlloySolverConfiguration => [
130 it.typeScopes.maxNewElements = size 129 it.typeScopes.maxNewElements = size
131 it.typeScopes.minNewElements = size 130 it.typeScopes.minNewElements = size
132 it.solutionScope.numberOfRequiredSolution = 1 131 it.solutionScope.numberOfRequiredSolutions = 1
133 it.typeScopes.maxNewIntegers = 0 132 it.typeScopes.maxNewIntegers = 0
134 it.writeToFile = true
135 ] 133 ]
136 val solution = this.alloyReasoner.solve( 134 val solution = this.alloyReasoner.solve(
137 problem, 135 problem,
@@ -144,16 +142,12 @@ class RunModelExtensionMeasurements {
144 it.runtimeLimit = 400 142 it.runtimeLimit = 400
145 it.typeScopes.maxNewElements = size 143 it.typeScopes.maxNewElements = size
146 it.typeScopes.minNewElements = size 144 it.typeScopes.minNewElements = size
147 it.solutionScope.numberOfRequiredSolution = 1 145 it.solutionScope.numberOfRequiredSolutions = 1
148 it.existingQueries = vq.patterns.map[it.internalQueryRepresentation]
149 it.nameNewElements = false 146 it.nameNewElements = false
150 it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis 147 it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis
151 it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints 148 it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints
152 it.stateCoderStrategy = StateCoderStrategy::Neighbourhood 149 it.stateCoderStrategy = StateCoderStrategy::Neighbourhood
153 it.debugCongiguration.partalInterpretationVisualisationFrequency = 100 150 it.debugConfiguration.partalInterpretationVisualisationFrequency = 100
154 //it.debugCongiguration.partialInterpretatioVisualiser =
155 //new GraphvizVisualisation
156 //new PartialInterpretationSizePrinter
157 ] 151 ]
158 viatraConfig.diversityRequirement = diversityRequirement 152 viatraConfig.diversityRequirement = diversityRequirement
159 if (solver == UseSolver.Viatra) { 153 if (solver == UseSolver.Viatra) {
@@ -314,7 +308,7 @@ class RunModelExtensionMeasurements {
314 val gml = partialInterpretation2GML.transform(representation) 308 val gml = partialInterpretation2GML.transform(representation)
315 r.workspace.writeText('''solution«representationNumber».gml''',gml) 309 r.workspace.writeText('''solution«representationNumber».gml''',gml)
316 if(representation.newElements.size <160) { 310 if(representation.newElements.size <160) {
317 val visualiser = new GraphvizVisualisation 311 val visualiser = new GraphvizVisualiser
318 val visualisation = visualiser.visualiseConcretization(representation) 312 val visualisation = visualiser.visualiseConcretization(representation)
319 visualisation.writeToFile(r.workspace,'''solution«representationNumber»''') 313 visualisation.writeToFile(r.workspace,'''solution«representationNumber»''')
320 } 314 }
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend
index 863a91c8..91c46dd6 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend
@@ -1,41 +1,39 @@
1package hu.bme.mit.inf.dslreasoner.run 1package hu.bme.mit.inf.dslreasoner.run
2 2
3import functionalarchitecture.FunctionalarchitecturePackage
4import hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns
5import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Model
6import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Type
7import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
8import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration
9import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
10import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel
11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
12import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
13import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
14import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore
15import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic
16import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2LogicConfiguration
17import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic
19import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
20import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
21import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
22import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
23import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
3import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace 24import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
4import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage 25import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
26import java.util.LinkedHashMap
27import java.util.LinkedList
5import java.util.List 28import java.util.List
29import org.eclipse.emf.ecore.EAttribute
6import org.eclipse.emf.ecore.EClass 30import org.eclipse.emf.ecore.EClass
7import org.eclipse.emf.ecore.EEnumLiteral
8import org.eclipse.emf.ecore.EReference
9import org.eclipse.emf.ecore.EEnum 31import org.eclipse.emf.ecore.EEnum
10import org.eclipse.emf.ecore.EAttribute 32import org.eclipse.emf.ecore.EEnumLiteral
11import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
12import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
13import org.eclipse.emf.ecore.EObject 33import org.eclipse.emf.ecore.EObject
14import java.util.LinkedHashMap 34import org.eclipse.emf.ecore.EReference
15import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor
16import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
17import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic
19import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration
20import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2LogicConfiguration
21import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration
22import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod
23import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy
24import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner
25import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult
26import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
27import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
28import org.eclipse.emf.ecore.resource.Resource 35import org.eclipse.emf.ecore.resource.Resource
29import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl 36import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
30import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
31import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration
32import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver
33import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore
34import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
35import java.util.LinkedList
36import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation
37import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicStructureBuilder
38import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder
39 37
40class SimpleRun { 38class SimpleRun {
41 39
@@ -59,7 +57,7 @@ class SimpleRun {
59 57
60 val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel,new Ecore2LogicConfiguration()) 58 val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel,new Ecore2LogicConfiguration())
61 val modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem,partialModel) 59 val modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem,partialModel)
62 val validModelExtensionProblem = viatra2Logic.transformQueries(queries,modelGenerationProblem,new Viatra2LogicConfiguration) 60 val validModelExtensionProblem = viatra2Logic.transformQueries(queries,modelExtensionProblem,new Viatra2LogicConfiguration)
63 61
64 val logicProblem = validModelExtensionProblem.output 62 val logicProblem = validModelExtensionProblem.output
65 63
@@ -71,11 +69,10 @@ class SimpleRun {
71 val viatraConfig = new ViatraReasonerConfiguration => [ 69 val viatraConfig = new ViatraReasonerConfiguration => [
72 it.typeScopes.maxNewElements = 40 70 it.typeScopes.maxNewElements = 40
73 it.typeScopes.minNewElements = 40 71 it.typeScopes.minNewElements = 40
74 it.solutionScope.numberOfRequiredSolution = 1 72 it.solutionScope.numberOfRequiredSolutions = 1
75 it.existingQueries = queries.patterns.map[it.internalQueryRepresentation] 73 it.documentationLevel = DocumentationLevel.NONE
76 it.debugCongiguration.logging = false 74 it.debugConfiguration.partalInterpretationVisualisationFrequency = 1
77 it.debugCongiguration.partalInterpretationVisualisationFrequency = 1 75 it.debugConfiguration.partialInterpretatioVisualiser = new GraphvizVisualiser
78 it.debugCongiguration.partialInterpretatioVisualiser = new GraphvizVisualisation
79 ] 76 ]
80 solution = reasoner.solve(logicProblem,viatraConfig,workspace) 77 solution = reasoner.solve(logicProblem,viatraConfig,workspace)
81 /*/ 78 /*/
@@ -95,11 +92,6 @@ class SimpleRun {
95 val interpretations = reasoner.getInterpretations(solution as ModelResult) 92 val interpretations = reasoner.getInterpretations(solution as ModelResult)
96 val models = new LinkedList 93 val models = new LinkedList
97 for(interpretation : interpretations) { 94 for(interpretation : interpretations) {
98 val extension b = new LogicStructureBuilder
99 val extension a = new LogicProblemBuilder
100
101
102
103 val instanceModel = logic2Ecore.transformInterpretation(interpretation,modelGenerationProblem.trace) 95 val instanceModel = logic2Ecore.transformInterpretation(interpretation,modelGenerationProblem.trace)
104 models+=instanceModel 96 models+=instanceModel
105 } 97 }
@@ -108,7 +100,7 @@ class SimpleRun {
108 } 100 }
109 101
110 def private static loadMetamodel() { 102 def private static loadMetamodel() {
111 val pckg = FunctionalArchitecturePackage.eINSTANCE 103 val pckg = FunctionalarchitecturePackage.eINSTANCE
112 val List<EClass> classes = pckg.EClassifiers.filter(EClass).toList 104 val List<EClass> classes = pckg.EClassifiers.filter(EClass).toList
113 val List<EEnum> enums = pckg.EClassifiers.filter(EEnum).toList 105 val List<EEnum> enums = pckg.EClassifiers.filter(EEnum).toList
114 val List<EEnumLiteral> literals = enums.map[ELiterals].flatten.toList 106 val List<EEnumLiteral> literals = enums.map[ELiterals].flatten.toList
@@ -118,12 +110,12 @@ class SimpleRun {
118 } 110 }
119 111
120 def private static loadQueries(EcoreMetamodelDescriptor metamodel) { 112 def private static loadQueries(EcoreMetamodelDescriptor metamodel) {
121 val i = hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern.instance 113 val i = FamPatterns.instance
122 val patterns = i.specifications.toList 114 val patterns = i.specifications.toList
123 val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet 115 val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet
124 val derivedFeatures = new LinkedHashMap 116 val derivedFeatures = new LinkedHashMap
125 derivedFeatures.put(i.type,metamodel.attributes.filter[it.name == "type"].head) 117 derivedFeatures.put(Type.instance,metamodel.attributes.filter[it.name == "type"].head)
126 derivedFeatures.put(i.model,metamodel.references.filter[it.name == "model"].head) 118 derivedFeatures.put(Model.instance,metamodel.references.filter[it.name == "model"].head)
127 val res = new ViatraQuerySetDescriptor( 119 val res = new ViatraQuerySetDescriptor(
128 patterns, 120 patterns,
129 wfPatterns, 121 wfPatterns,
@@ -160,8 +152,4 @@ class SimpleRun {
160 println("Solution saved and visualised") 152 println("Solution saved and visualised")
161 } 153 }
162 } 154 }
163
164 def static visualizeSolution() {
165
166 }
167} \ No newline at end of file 155} \ No newline at end of file
diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend
index 6b74d161..3a100ace 100644
--- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend
+++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend
@@ -1,16 +1,16 @@
1package hu.bme.mit.inf.dslreasoner.run 1package hu.bme.mit.inf.dslreasoner.run
2 2
3import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
4import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
3import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage 5import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
6import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
4import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation 7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation
5import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage 8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
10import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser
6import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace 11import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
7import java.io.File 12import java.io.File
8import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
9import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
10import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
11import org.eclipse.emf.ecore.resource.Resource 13import org.eclipse.emf.ecore.resource.Resource
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
13import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation
14import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl 14import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
15 15
16class VisualiseAllModelInDirectory { 16class VisualiseAllModelInDirectory {
@@ -62,7 +62,7 @@ class VisualiseAllModelInDirectory {
62 } 62 }
63 63
64 if(!hasPng && model.newElements.size <160) { 64 if(!hasPng && model.newElements.size <160) {
65 val visualiser = new GraphvizVisualisation 65 val visualiser = new GraphvizVisualiser
66 val visualisation = visualiser.visualiseConcretization(model) 66 val visualisation = visualiser.visualiseConcretization(model)
67 visualisation.writeToFile(workspace,fileNameWithoutExtension) 67 visualisation.writeToFile(workspace,fileNameWithoutExtension)
68 println('''«fileNameWithoutExtension».png''') 68 println('''«fileNameWithoutExtension».png''')