diff options
author | 2019-09-03 00:03:48 -0400 | |
---|---|---|
committer | 2020-06-07 19:41:47 -0400 | |
commit | 7b13c62000389bcd4478c5e24b1606f94293edcf (patch) | |
tree | f96647a2ab8e97ccb7e746464d368f0b0784a359 /Tests | |
parent | VAMPIRE: implement Vampire Model Interpreter, 2/3 done (diff) | |
download | VIATRA-Generator-7b13c62000389bcd4478c5e24b1606f94293edcf.tar.gz VIATRA-Generator-7b13c62000389bcd4478c5e24b1606f94293edcf.tar.zst VIATRA-Generator-7b13c62000389bcd4478c5e24b1606f94293edcf.zip |
VAMPIRE: complete first version of VampireModelInterpretation
Diffstat (limited to 'Tests')
10 files changed, 69 insertions, 40 deletions
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend index 4efbc821..1045189c 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.xtend | |||
@@ -2,7 +2,6 @@ package ca.mcgill.ecse.dslreasoner.vampire.icse | |||
2 | 2 | ||
3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver | 3 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver |
4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration | 4 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration |
5 | import ca.mcgill.ecse.dslreasoner.vampire.reasoner.builder.VampireModelInterpretation | ||
6 | import functionalarchitecture.Function | 5 | import functionalarchitecture.Function |
7 | import functionalarchitecture.FunctionalArchitectureModel | 6 | import functionalarchitecture.FunctionalArchitectureModel |
8 | import functionalarchitecture.FunctionalInterface | 7 | import functionalarchitecture.FunctionalInterface |
@@ -16,18 +15,22 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult | |||
16 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore | 15 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore |
17 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic | 16 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic |
18 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic | 17 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic |
18 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation | ||
19 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation | ||
20 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml | ||
21 | import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser | ||
19 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace | 22 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace |
20 | import java.util.HashMap | 23 | import java.util.HashMap |
21 | import java.util.List | ||
22 | import org.eclipse.emf.ecore.resource.Resource | 24 | import org.eclipse.emf.ecore.resource.Resource |
23 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl | 25 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl |
24 | 26 | ||
25 | class FAMTest { | 27 | class FAMTest { |
26 | def static void main(String[] args) { | 28 | def static void main(String[] args) { |
27 | val Ecore2Logic ecore2Logic = new Ecore2Logic | 29 | val Ecore2Logic ecore2Logic = new Ecore2Logic |
28 | val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic) | 30 | val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic) |
29 | val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic) | 31 | val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic) |
30 | val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic | 32 | val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic |
33 | val InstanceModel2PartialInterpretation im2pi = new InstanceModel2PartialInterpretation | ||
31 | 34 | ||
32 | // Workspace setup | 35 | // Workspace setup |
33 | val inputs = new FileSystemWorkspace('''initialModels/''', "") | 36 | val inputs = new FileSystemWorkspace('''initialModels/''', "") |
@@ -56,8 +59,8 @@ class FAMTest { | |||
56 | workspace.writeModel(problem, "Fam.logicproblem") | 59 | workspace.writeModel(problem, "Fam.logicproblem") |
57 | 60 | ||
58 | println("Problem created") | 61 | println("Problem created") |
59 | 62 | ||
60 | //Start Time | 63 | // Start Time |
61 | var startTime = System.currentTimeMillis | 64 | var startTime = System.currentTimeMillis |
62 | 65 | ||
63 | var VampireSolver reasoner | 66 | var VampireSolver reasoner |
@@ -71,16 +74,16 @@ class FAMTest { | |||
71 | // classMapMin.put(Function, 1) | 74 | // classMapMin.put(Function, 1) |
72 | // classMapMin.put(FunctionalInterface, 2) | 75 | // classMapMin.put(FunctionalInterface, 2) |
73 | classMapMin.put(FunctionalOutput, 3) | 76 | classMapMin.put(FunctionalOutput, 3) |
74 | 77 | ||
75 | val typeMapMin = GeneralTest.getTypeMap(classMapMin, metamodel, ecore2Logic, modelGenerationProblem.trace) | 78 | val typeMapMin = GeneralTest.getTypeMap(classMapMin, metamodel, ecore2Logic, modelGenerationProblem.trace) |
76 | 79 | ||
77 | // Maximum Scope | 80 | // Maximum Scope |
78 | val classMapMax = new HashMap<Class, Integer> | 81 | val classMapMax = new HashMap<Class, Integer> |
79 | classMapMax.put(FunctionalArchitectureModel, 3) | 82 | classMapMax.put(FunctionalArchitectureModel, 3) |
80 | classMapMax.put(Function, 5) | 83 | classMapMax.put(Function, 5) |
81 | classMapMax.put(FunctionalInterface, 3) | 84 | classMapMax.put(FunctionalInterface, 3) |
82 | classMapMax.put(FunctionalOutput, 4) | 85 | classMapMax.put(FunctionalOutput, 4) |
83 | 86 | ||
84 | val typeMapMax = GeneralTest.getTypeMap(classMapMax, metamodel, ecore2Logic, modelGenerationProblem.trace) | 87 | val typeMapMax = GeneralTest.getTypeMap(classMapMax, metamodel, ecore2Logic, modelGenerationProblem.trace) |
85 | 88 | ||
86 | // Define Config File | 89 | // Define Config File |
@@ -88,27 +91,43 @@ class FAMTest { | |||
88 | // add configuration things, in config file first | 91 | // add configuration things, in config file first |
89 | it.documentationLevel = DocumentationLevel::FULL | 92 | it.documentationLevel = DocumentationLevel::FULL |
90 | 93 | ||
91 | it.typeScopes.minNewElements = 24 | 94 | it.typeScopes.minNewElements = 4//24 |
92 | it.typeScopes.maxNewElements = 25 | 95 | it.typeScopes.maxNewElements = 5//25 |
93 | if(typeMapMin.size != 0) it.typeScopes.minNewElementsByType = typeMapMin | 96 | // if(typeMapMin.size != 0) it.typeScopes.minNewElementsByType = typeMapMin |
94 | if(typeMapMin.size != 0) it.typeScopes.maxNewElementsByType = typeMapMax | 97 | // if(typeMapMin.size != 0) it.typeScopes.maxNewElementsByType = typeMapMax |
95 | it.contCycleLevel = 5 | 98 | it.contCycleLevel = 5 |
96 | it.uniquenessDuplicates = false | 99 | it.uniquenessDuplicates = false |
97 | ] | 100 | ] |
98 | 101 | ||
99 | var LogicResult solution = reasoner.solve(problem, vampireConfig, workspace) | 102 | var LogicResult solution = reasoner.solve(problem, vampireConfig, workspace) |
100 | |||
101 | //visualisation, see | ||
102 | var interpretations = reasoner.getInterpretations(solution as ModelResult) | ||
103 | interpretations.get(0) as VampireModelInterpretation | ||
104 | println(ecore2Logic.allAttributesInScope(modelGenerationProblem.trace)) | ||
105 | |||
106 | // for(interpretation : interpretations) { | ||
107 | // val model = logic2Ecore.transformInterpretation(interpretation,modelGenerationProblem.trace) | ||
108 | // //look here: hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor | ||
109 | // } | ||
110 | //transform interpretation to ecore, and it is easy from there | ||
111 | 103 | ||
104 | // visualisation, see | ||
105 | var interpretations = reasoner.getInterpretations(solution as ModelResult) | ||
106 | // interpretations.get(0) as VampireModelInterpretation | ||
107 | // println(ecore2Logic.IsAttributeValue(modelGenerationProblem.trace, ) | ||
108 | // Literal(modelGenerationProblem.trace, ecore2Logic.allLiteralsInScope(modelGenerationProblem.trace).get(0) ) | ||
109 | // ) | ||
110 | // println((ecore2Logic.allAttributesInScope(modelGenerationProblem.trace)).get(0).EAttributeType) | ||
111 | for (interpretation : interpretations) { | ||
112 | val model = logic2Ecore.transformInterpretation(interpretation, modelGenerationProblem.trace) | ||
113 | workspace.writeModel(model, "model.xmi") | ||
114 | |||
115 | val representation = im2pi.transform(modelGenerationProblem, model.eAllContents.toList, false)//solution.representation.get(0) // TODO: fix for multiple represenations | ||
116 | if (representation instanceof PartialInterpretation) { | ||
117 | val vis1 = new PartialInterpretation2Gml | ||
118 | val gml = vis1.transform(representation) | ||
119 | workspace.writeText("model.gml", gml) | ||
120 | |||
121 | val vis2 = new GraphvizVisualiser | ||
122 | val dot = vis2.visualiseConcretization(representation) | ||
123 | dot.writeToFile(workspace, "model.png") | ||
124 | } else { | ||
125 | println("ERROR") | ||
126 | } | ||
127 | // look here: hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor | ||
128 | } | ||
129 | |||
130 | // transform interpretation to ecore, and it is easy from there | ||
112 | /*/ | 131 | /*/ |
113 | * | 132 | * |
114 | * reasoner = new AlloySolver | 133 | * reasoner = new AlloySolver |
@@ -121,8 +140,7 @@ class FAMTest { | |||
121 | * ] | 140 | * ] |
122 | * solution = reasoner.solve(problem, alloyConfig, workspace) | 141 | * solution = reasoner.solve(problem, alloyConfig, workspace) |
123 | //*/ | 142 | //*/ |
124 | // ///////////////////////////////////////////////////// | 143 | // ///////////////////////////////////////////////////// |
125 | |||
126 | var totalTimeMin = (System.currentTimeMillis - startTime) / 60000 | 144 | var totalTimeMin = (System.currentTimeMillis - startTime) / 60000 |
127 | var totalTimeSec = ((System.currentTimeMillis - startTime) / 1000) % 60 | 145 | var totalTimeSec = ((System.currentTimeMillis - startTime) / 1000) % 60 |
128 | 146 | ||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin index 9033512f..771e1d1a 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.EcoreTest.xtendbin | |||
Binary files differ | |||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin index 18295021..ad844992 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FAMTest.xtendbin | |||
Binary files differ | |||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin index eb8d5506..7dcb4392 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.FileSystemTest.xtendbin | |||
Binary files differ | |||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin index 1023ad44..dc040005 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.GeneralTest.xtendbin | |||
Binary files differ | |||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin index c996fa4f..2bb8be0d 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/.YakinduTest.xtendbin | |||
Binary files differ | |||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java index 71f522de..8ef096d9 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/FAMTest.java | |||
@@ -21,18 +21,23 @@ import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult; | |||
21 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore; | 21 | import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore; |
22 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic; | 22 | import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic; |
23 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic; | 23 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic; |
24 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation; | ||
25 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation; | ||
26 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml; | ||
27 | import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation; | ||
28 | import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser; | ||
24 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; | 29 | import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; |
25 | import java.util.HashMap; | 30 | import java.util.HashMap; |
26 | import java.util.List; | 31 | import java.util.List; |
27 | import java.util.Map; | 32 | import java.util.Map; |
28 | import org.eclipse.emf.common.util.EList; | 33 | import org.eclipse.emf.common.util.EList; |
29 | import org.eclipse.emf.ecore.EAttribute; | ||
30 | import org.eclipse.emf.ecore.EObject; | 34 | import org.eclipse.emf.ecore.EObject; |
31 | import org.eclipse.emf.ecore.resource.Resource; | 35 | import org.eclipse.emf.ecore.resource.Resource; |
32 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; | 36 | import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; |
33 | import org.eclipse.xtend2.lib.StringConcatenation; | 37 | import org.eclipse.xtend2.lib.StringConcatenation; |
34 | import org.eclipse.xtext.xbase.lib.Exceptions; | 38 | import org.eclipse.xtext.xbase.lib.Exceptions; |
35 | import org.eclipse.xtext.xbase.lib.InputOutput; | 39 | import org.eclipse.xtext.xbase.lib.InputOutput; |
40 | import org.eclipse.xtext.xbase.lib.IteratorExtensions; | ||
36 | import org.eclipse.xtext.xbase.lib.ObjectExtensions; | 41 | import org.eclipse.xtext.xbase.lib.ObjectExtensions; |
37 | import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; | 42 | import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; |
38 | 43 | ||
@@ -44,6 +49,7 @@ public class FAMTest { | |||
44 | final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic); | 49 | final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic); |
45 | final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic); | 50 | final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic); |
46 | final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic(); | 51 | final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic(); |
52 | final InstanceModel2PartialInterpretation im2pi = new InstanceModel2PartialInterpretation(); | ||
47 | StringConcatenation _builder = new StringConcatenation(); | 53 | StringConcatenation _builder = new StringConcatenation(); |
48 | _builder.append("initialModels/"); | 54 | _builder.append("initialModels/"); |
49 | final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), ""); | 55 | final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), ""); |
@@ -82,26 +88,31 @@ public class FAMTest { | |||
82 | VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration(); | 88 | VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration(); |
83 | final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> { | 89 | final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> { |
84 | it.documentationLevel = DocumentationLevel.FULL; | 90 | it.documentationLevel = DocumentationLevel.FULL; |
85 | it.typeScopes.minNewElements = 24; | 91 | it.typeScopes.minNewElements = 4; |
86 | it.typeScopes.maxNewElements = 25; | 92 | it.typeScopes.maxNewElements = 5; |
87 | int _size = typeMapMin.size(); | ||
88 | boolean _notEquals = (_size != 0); | ||
89 | if (_notEquals) { | ||
90 | it.typeScopes.minNewElementsByType = typeMapMin; | ||
91 | } | ||
92 | int _size_1 = typeMapMin.size(); | ||
93 | boolean _notEquals_1 = (_size_1 != 0); | ||
94 | if (_notEquals_1) { | ||
95 | it.typeScopes.maxNewElementsByType = typeMapMax; | ||
96 | } | ||
97 | it.contCycleLevel = 5; | 93 | it.contCycleLevel = 5; |
98 | it.uniquenessDuplicates = false; | 94 | it.uniquenessDuplicates = false; |
99 | }; | 95 | }; |
100 | final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function); | 96 | final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function); |
101 | LogicResult solution = reasoner.solve(problem, vampireConfig, workspace); | 97 | LogicResult solution = reasoner.solve(problem, vampireConfig, workspace); |
102 | List<? extends LogicModelInterpretation> interpretations = reasoner.getInterpretations(((ModelResult) solution)); | 98 | List<? extends LogicModelInterpretation> interpretations = reasoner.getInterpretations(((ModelResult) solution)); |
103 | interpretations.get(0); | 99 | for (final LogicModelInterpretation interpretation : interpretations) { |
104 | InputOutput.<Iterable<EAttribute>>println(ecore2Logic.allAttributesInScope(modelGenerationProblem.getTrace())); | 100 | { |
101 | final EObject model = logic2Ecore.transformInterpretation(interpretation, modelGenerationProblem.getTrace()); | ||
102 | workspace.writeModel(model, "model.xmi"); | ||
103 | final PartialInterpretation representation = im2pi.transform(modelGenerationProblem, IteratorExtensions.<EObject>toList(model.eAllContents()), false); | ||
104 | if ((representation instanceof PartialInterpretation)) { | ||
105 | final PartialInterpretation2Gml vis1 = new PartialInterpretation2Gml(); | ||
106 | final String gml = vis1.transform(representation); | ||
107 | workspace.writeText("model.gml", gml); | ||
108 | final GraphvizVisualiser vis2 = new GraphvizVisualiser(); | ||
109 | final PartialInterpretationVisualisation dot = vis2.visualiseConcretization(representation); | ||
110 | dot.writeToFile(workspace, "model.png"); | ||
111 | } else { | ||
112 | InputOutput.<String>println("ERROR"); | ||
113 | } | ||
114 | } | ||
115 | } | ||
105 | long _currentTimeMillis = System.currentTimeMillis(); | 116 | long _currentTimeMillis = System.currentTimeMillis(); |
106 | long _minus = (_currentTimeMillis - startTime); | 117 | long _minus = (_currentTimeMillis - startTime); |
107 | long totalTimeMin = (_minus / 60000); | 118 | long totalTimeMin = (_minus / 60000); |
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin index 796f7103..7ab6b54b 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.MedicalSystem.xtendbin | |||
Binary files differ | |||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin index a2cecacf..f7c267ec 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.SimpleRun.xtendbin | |||
Binary files differ | |||
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin index c1a25e40..e91e816f 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/.VampireTest.xtendbin | |||
Binary files differ | |||