aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/EcoreTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/EcoreTest.java')
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/EcoreTest.java116
1 files changed, 116 insertions, 0 deletions
diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/EcoreTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/EcoreTest.java
new file mode 100644
index 00000000..f3dc8572
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/icse/EcoreTest.java
@@ -0,0 +1,116 @@
1package ca.mcgill.ecse.dslreasoner.vampire.icse;
2
3import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver;
4import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration;
5import com.google.common.collect.Iterables;
6import functionalarchitecture.FunctionalarchitecturePackage;
7import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic;
8import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration;
9import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace;
10import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor;
11import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner;
12import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
13import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
14import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
15import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore;
16import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic;
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic;
18import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
19import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace;
20import java.util.Collections;
21import java.util.List;
22import java.util.Map;
23import org.eclipse.emf.common.util.EList;
24import org.eclipse.emf.ecore.EAttribute;
25import org.eclipse.emf.ecore.EClass;
26import org.eclipse.emf.ecore.EEnum;
27import org.eclipse.emf.ecore.EEnumLiteral;
28import org.eclipse.emf.ecore.EObject;
29import org.eclipse.emf.ecore.EReference;
30import org.eclipse.emf.ecore.resource.Resource;
31import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
32import org.eclipse.xtend2.lib.StringConcatenation;
33import org.eclipse.xtext.xbase.lib.CollectionLiterals;
34import org.eclipse.xtext.xbase.lib.Exceptions;
35import org.eclipse.xtext.xbase.lib.Functions.Function1;
36import org.eclipse.xtext.xbase.lib.InputOutput;
37import org.eclipse.xtext.xbase.lib.IterableExtensions;
38import org.eclipse.xtext.xbase.lib.IteratorExtensions;
39import org.eclipse.xtext.xbase.lib.ListExtensions;
40import org.eclipse.xtext.xbase.lib.ObjectExtensions;
41import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
42
43@SuppressWarnings("all")
44public class EcoreTest {
45 public static void main(final String[] args) {
46 try {
47 StringConcatenation _builder = new StringConcatenation();
48 _builder.append("initialModels/");
49 final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), "");
50 StringConcatenation _builder_1 = new StringConcatenation();
51 _builder_1.append("output/FAMTest/");
52 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder_1.toString(), "");
53 workspace.initAndClear();
54 InputOutput.<String>println("Input and output workspaces are created");
55 final EcoreMetamodelDescriptor metamodel = EcoreTest.loadMetamodel();
56 final List<EObject> partialModel = EcoreTest.loadPartialModel(inputs);
57 InputOutput.<String>println("DSL loaded");
58 final Ecore2Logic ecore2Logic = new Ecore2Logic();
59 final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic);
60 final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic);
61 final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic();
62 Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration();
63 final TracedOutput<LogicProblem, Ecore2Logic_Trace> modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration);
64 final TracedOutput<LogicProblem, Ecore2Logic_Trace> modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem, partialModel);
65 final LogicProblem logicProblem = modelGenerationProblem.getOutput();
66 InputOutput.<String>println("Problem created");
67 LogicResult solution = null;
68 LogicReasoner reasoner = null;
69 VampireSolver _vampireSolver = new VampireSolver();
70 reasoner = _vampireSolver;
71 VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration();
72 final Procedure1<VampireSolverConfiguration> _function = (VampireSolverConfiguration it) -> {
73 it.writeToFile = true;
74 };
75 final VampireSolverConfiguration vampireConfig = ObjectExtensions.<VampireSolverConfiguration>operator_doubleArrow(_vampireSolverConfiguration, _function);
76 solution = reasoner.solve(logicProblem, vampireConfig, workspace);
77 InputOutput.<String>println("Problem solved");
78 } catch (Throwable _e) {
79 throw Exceptions.sneakyThrow(_e);
80 }
81 }
82
83 private static EcoreMetamodelDescriptor loadMetamodel() {
84 final FunctionalarchitecturePackage pckg = FunctionalarchitecturePackage.eINSTANCE;
85 final List<EClass> classes = IterableExtensions.<EClass>toList(Iterables.<EClass>filter(pckg.getEClassifiers(), EClass.class));
86 final List<EEnum> enums = IterableExtensions.<EEnum>toList(Iterables.<EEnum>filter(pckg.getEClassifiers(), EEnum.class));
87 final Function1<EEnum, EList<EEnumLiteral>> _function = (EEnum it) -> {
88 return it.getELiterals();
89 };
90 final List<EEnumLiteral> literals = IterableExtensions.<EEnumLiteral>toList(Iterables.<EEnumLiteral>concat(ListExtensions.<EEnum, EList<EEnumLiteral>>map(enums, _function)));
91 final Function1<EClass, EList<EReference>> _function_1 = (EClass it) -> {
92 return it.getEReferences();
93 };
94 final List<EReference> references = IterableExtensions.<EReference>toList(Iterables.<EReference>concat(ListExtensions.<EClass, EList<EReference>>map(classes, _function_1)));
95 final Function1<EClass, EList<EAttribute>> _function_2 = (EClass it) -> {
96 return it.getEAttributes();
97 };
98 final List<EAttribute> attributes = IterableExtensions.<EAttribute>toList(Iterables.<EAttribute>concat(ListExtensions.<EClass, EList<EAttribute>>map(classes, _function_2)));
99 return new EcoreMetamodelDescriptor(classes, Collections.<EClass>unmodifiableSet(CollectionLiterals.<EClass>newHashSet()), false, enums, literals, references, attributes);
100 }
101
102 private static List<EObject> loadPartialModel(final ReasonerWorkspace inputs) {
103 List<EObject> _xblockexpression = null;
104 {
105 Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap();
106 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
107 _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl);
108 _xblockexpression = IteratorExtensions.<EObject>toList(inputs.<EObject>readModel(EObject.class, "FamInstance.xmi").eResource().getAllContents());
109 }
110 return _xblockexpression;
111 }
112
113 private static Object loadQueries(final EcoreMetamodelDescriptor metamodel) {
114 return null;
115 }
116}