aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/case.study.pledge.run/xtend-gen/run/GenerateFromConfig.java
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.run/xtend-gen/run/GenerateFromConfig.java')
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.run/xtend-gen/run/GenerateFromConfig.java160
1 files changed, 4 insertions, 156 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/xtend-gen/run/GenerateFromConfig.java b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/xtend-gen/run/GenerateFromConfig.java
index 3015d4dd..35f173be 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/xtend-gen/run/GenerateFromConfig.java
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/xtend-gen/run/GenerateFromConfig.java
@@ -1,7 +1,5 @@
1package run; 1package run;
2 2
3import com.google.common.base.Objects;
4import com.google.common.collect.Iterables;
5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command; 3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command;
6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Config; 4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Config;
7import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigEntry; 5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigEntry;
@@ -19,68 +17,31 @@ import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpec
19import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.TypeScope; 17import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.TypeScope;
20import hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor; 18import hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor;
21import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor; 19import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor;
22import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic;
23import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace;
24import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor;
25import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicModelInterpretation;
26import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
27import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type;
28import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
29import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult; 20import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult;
30import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult;
31import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics; 21import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.Statistics;
32import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore;
33import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor;
34import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation;
35import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml;
36import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation;
37import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner;
38import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration; 22import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration;
39import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser;
40import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; 23import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
41import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace;
42import java.io.PrintWriter; 24import java.io.PrintWriter;
43import java.math.BigDecimal; 25import java.math.BigDecimal;
44import java.text.SimpleDateFormat; 26import java.text.SimpleDateFormat;
45import java.util.ArrayList; 27import java.util.ArrayList;
46import java.util.Collections;
47import java.util.Date; 28import java.util.Date;
48import java.util.HashMap;
49import java.util.List;
50import java.util.Map; 29import java.util.Map;
51import java.util.Set;
52import org.eclipse.core.runtime.NullProgressMonitor; 30import org.eclipse.core.runtime.NullProgressMonitor;
53import org.eclipse.emf.common.util.EList;
54import org.eclipse.emf.common.util.URI; 31import org.eclipse.emf.common.util.URI;
55import org.eclipse.emf.ecore.EAttribute;
56import org.eclipse.emf.ecore.EClass;
57import org.eclipse.emf.ecore.EEnum;
58import org.eclipse.emf.ecore.EEnumLiteral;
59import org.eclipse.emf.ecore.EObject;
60import org.eclipse.emf.ecore.EPackage;
61import org.eclipse.emf.ecore.EReference;
62import org.eclipse.emf.ecore.EStructuralFeature;
63import org.eclipse.emf.ecore.resource.Resource; 32import org.eclipse.emf.ecore.resource.Resource;
64import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; 33import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
65import org.eclipse.viatra.query.runtime.api.IQueryGroup;
66import org.eclipse.viatra.query.runtime.api.IQuerySpecification;
67import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation;
68import org.eclipse.xtend2.lib.StringConcatenation; 34import org.eclipse.xtend2.lib.StringConcatenation;
69import org.eclipse.xtext.xbase.lib.CollectionExtensions; 35import org.eclipse.xtext.xbase.lib.CollectionExtensions;
70import org.eclipse.xtext.xbase.lib.CollectionLiterals;
71import org.eclipse.xtext.xbase.lib.Exceptions; 36import org.eclipse.xtext.xbase.lib.Exceptions;
72import org.eclipse.xtext.xbase.lib.ExclusiveRange;
73import org.eclipse.xtext.xbase.lib.Functions.Function0; 37import org.eclipse.xtext.xbase.lib.Functions.Function0;
74import org.eclipse.xtext.xbase.lib.Functions.Function1;
75import org.eclipse.xtext.xbase.lib.InputOutput; 38import org.eclipse.xtext.xbase.lib.InputOutput;
76import org.eclipse.xtext.xbase.lib.IterableExtensions;
77import org.eclipse.xtext.xbase.lib.ListExtensions;
78 39
79@SuppressWarnings("all") 40@SuppressWarnings("all")
80public class GenerateFromConfig { 41public class GenerateFromConfig {
81 private static final int SIZE_LB = 1; 42 private static final int SIZE_LB = 20;
82 43
83 private static final int SIZE_UB = 1; 44 private static final int SIZE_UB = 20;
84 45
85 private static final int SIZE_MUL = 1; 46 private static final int SIZE_MUL = 1;
86 47
@@ -96,9 +57,9 @@ public class GenerateFromConfig {
96 57
97 private static final boolean INITIAL = true; 58 private static final boolean INITIAL = true;
98 59
99 private static final boolean INDIV_WRT = true; 60 private static final boolean INDIV_WRT = false;
100 61
101 private static final boolean GLOBAL_WRT = true; 62 private static final boolean GLOBAL_WRT = false;
102 63
103 private static final String q2t = new Function0<String>() { 64 private static final String q2t = new Function0<String>() {
104 @Override 65 @Override
@@ -262,119 +223,6 @@ public class GenerateFromConfig {
262 } 223 }
263 } 224 }
264 225
265 public static Map<Type, Integer> getTypeMap(final Map<Class, Integer> classMap, final EcoreMetamodelDescriptor metamodel, final Ecore2Logic e2l, final Ecore2Logic_Trace trace) {
266 final HashMap<Type, Integer> typeMap = new HashMap<Type, Integer>();
267 final Function1<EClass, String> _function = (EClass s) -> {
268 return s.getName();
269 };
270 final Map<String, EClass> listMap = IterableExtensions.<String, EClass>toMap(metamodel.getClasses(), _function);
271 Set<Class> _keySet = classMap.keySet();
272 for (final Class elem : _keySet) {
273 typeMap.put(
274 e2l.TypeofEClass(trace,
275 listMap.get(elem.getSimpleName())), classMap.get(elem));
276 }
277 return typeMap;
278 }
279
280 public static EcoreMetamodelDescriptor loadMetamodel(final EPackage pckg) {
281 final List<EClass> classes = IterableExtensions.<EClass>toList(Iterables.<EClass>filter(pckg.getEClassifiers(), EClass.class));
282 final List<EEnum> enums = IterableExtensions.<EEnum>toList(Iterables.<EEnum>filter(pckg.getEClassifiers(), EEnum.class));
283 final Function1<EEnum, EList<EEnumLiteral>> _function = (EEnum it) -> {
284 return it.getELiterals();
285 };
286 final List<EEnumLiteral> literals = IterableExtensions.<EEnumLiteral>toList(Iterables.<EEnumLiteral>concat(ListExtensions.<EEnum, EList<EEnumLiteral>>map(enums, _function)));
287 final Function1<EClass, EList<EReference>> _function_1 = (EClass it) -> {
288 return it.getEReferences();
289 };
290 final List<EReference> references = IterableExtensions.<EReference>toList(Iterables.<EReference>concat(ListExtensions.<EClass, EList<EReference>>map(classes, _function_1)));
291 final Function1<EClass, EList<EAttribute>> _function_2 = (EClass it) -> {
292 return it.getEAttributes();
293 };
294 final List<EAttribute> attributes = IterableExtensions.<EAttribute>toList(Iterables.<EAttribute>concat(ListExtensions.<EClass, EList<EAttribute>>map(classes, _function_2)));
295 return new EcoreMetamodelDescriptor(classes, Collections.<EClass>unmodifiableSet(CollectionLiterals.<EClass>newHashSet()), false, enums, literals, references, attributes);
296 }
297
298 public static EList<EObject> loadPartialModel(final ReasonerWorkspace inputs, final String path) {
299 EList<EObject> _xblockexpression = null;
300 {
301 Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap();
302 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
303 _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl);
304 _xblockexpression = inputs.<EObject>readModel(EObject.class, path).eResource().getContents();
305 }
306 return _xblockexpression;
307 }
308
309 public static ViatraQuerySetDescriptor loadQueries(final EcoreMetamodelDescriptor metamodel, final IQueryGroup i) {
310 final List<IQuerySpecification<?>> patterns = IterableExtensions.<IQuerySpecification<?>>toList(i.getSpecifications());
311 final Function1<IQuerySpecification<?>, Boolean> _function = (IQuerySpecification<?> it) -> {
312 final Function1<PAnnotation, Boolean> _function_1 = (PAnnotation it_1) -> {
313 String _name = it_1.getName();
314 return Boolean.valueOf(Objects.equal(_name, "Constraint"));
315 };
316 return Boolean.valueOf(IterableExtensions.<PAnnotation>exists(it.getAllAnnotations(), _function_1));
317 };
318 final Set<IQuerySpecification<?>> wfPatterns = IterableExtensions.<IQuerySpecification<?>>toSet(IterableExtensions.<IQuerySpecification<?>>filter(patterns, _function));
319 final Map<IQuerySpecification<?>, EStructuralFeature> derivedFeatures = CollectionLiterals.<IQuerySpecification<?>, EStructuralFeature>emptyMap();
320 final ViatraQuerySetDescriptor res = new ViatraQuerySetDescriptor(patterns, wfPatterns, derivedFeatures);
321 return res;
322 }
323
324 public static void writeInterpretation(final LogicResult solution, final Logic2Ecore logic2Ecore, final ReasonerWorkspace workspace, final String id, final ViatraReasoner reasoner, final TracedOutput<LogicProblem, Ecore2Logic_Trace> mgProb) {
325 final List<? extends LogicModelInterpretation> interpretations = reasoner.getInterpretations(((ModelResult) solution));
326 int _size = interpretations.size();
327 ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _size, true);
328 for (final Integer interpIndex : _doubleDotLessThan) {
329 {
330 final LogicModelInterpretation interpretation = interpretations.get((interpIndex).intValue());
331 final EObject model = logic2Ecore.transformInterpretation(interpretation, mgProb.getTrace());
332 StringConcatenation _builder = new StringConcatenation();
333 _builder.append("sol-");
334 _builder.append(id);
335 _builder.append("_");
336 _builder.append(interpIndex);
337 _builder.append(".xmi");
338 workspace.writeModel(model, _builder.toString());
339 }
340 }
341 }
342
343 public static void writeRepresentation(final LogicResult solution, final ReasonerWorkspace workspace, final String id) {
344 final EList<Object> representations = solution.getRepresentation();
345 int _size = representations.size();
346 ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _size, true);
347 for (final Integer representationIndex : _doubleDotLessThan) {
348 {
349 final Object representation = representations.get((representationIndex).intValue());
350 if ((representation instanceof PartialInterpretation)) {
351 final String gml = new PartialInterpretation2Gml().transform(((PartialInterpretation)representation));
352 StringConcatenation _builder = new StringConcatenation();
353 _builder.append("sol-");
354 _builder.append(id);
355 _builder.append("_");
356 _builder.append(representationIndex);
357 _builder.append(".gml");
358 workspace.writeText(_builder.toString(), gml);
359 final PartialInterpretationVisualisation png = new GraphvizVisualiser().visualiseConcretization(((PartialInterpretation)representation));
360 StringConcatenation _builder_1 = new StringConcatenation();
361 _builder_1.append("sol-");
362 _builder_1.append(id);
363 _builder_1.append("_");
364 _builder_1.append(representationIndex);
365 _builder_1.append(".png");
366 png.writeToFile(workspace, _builder_1.toString());
367 } else {
368 StringConcatenation _builder_2 = new StringConcatenation();
369 _builder_2.append("sol-");
370 _builder_2.append(representationIndex);
371 _builder_2.append(".txt");
372 workspace.writeText(_builder_2.toString(), representation.toString());
373 }
374 }
375 }
376 }
377
378 public static String writeStats(final LogicResult solution, final long time, final ViatraReasonerConfiguration config) { 226 public static String writeStats(final LogicResult solution, final long time, final ViatraReasonerConfiguration config) {
379 String _xblockexpression = null; 227 String _xblockexpression = null;
380 { 228 {