From 57e614aabedc176ba9965d0ca5e6daa23c5f4758 Mon Sep 17 00:00:00 2001 From: ArenBabikian Date: Fri, 1 Feb 2019 16:03:30 -0500 Subject: Fix FAM Test. Begin Grammar Fix. --- .../ecse/dslreasoner/vampire/test/FAMTest.java | 111 +++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/FAMTest.java (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/FAMTest.java') diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/FAMTest.java b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/FAMTest.java new file mode 100644 index 00000000..7b4849e1 --- /dev/null +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/xtend-gen/ca/mcgill/ecse/dslreasoner/vampire/test/FAMTest.java @@ -0,0 +1,111 @@ +package ca.mcgill.ecse.dslreasoner.vampire.test; + +import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver; +import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration; +import com.google.common.collect.Iterables; +import functionalarchitecture.FunctionalarchitecturePackage; +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic; +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration; +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace; +import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor; +import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner; +import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput; +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; +import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult; +import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore; +import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic; +import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; +import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EEnumLiteral; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; +import org.eclipse.xtend2.lib.StringConcatenation; +import org.eclipse.xtext.xbase.lib.CollectionLiterals; +import org.eclipse.xtext.xbase.lib.Exceptions; +import org.eclipse.xtext.xbase.lib.Functions.Function1; +import org.eclipse.xtext.xbase.lib.InputOutput; +import org.eclipse.xtext.xbase.lib.IterableExtensions; +import org.eclipse.xtext.xbase.lib.IteratorExtensions; +import org.eclipse.xtext.xbase.lib.ListExtensions; +import org.eclipse.xtext.xbase.lib.ObjectExtensions; +import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; + +@SuppressWarnings("all") +public class DslTest { + public static void main(final String[] args) { + try { + StringConcatenation _builder = new StringConcatenation(); + _builder.append("initialModels/"); + final FileSystemWorkspace inputs = new FileSystemWorkspace(_builder.toString(), ""); + StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("outputDslModels/"); + final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder_1.toString(), ""); + workspace.initAndClear(); + InputOutput.println("Input and output workspaces are created"); + final EcoreMetamodelDescriptor metamodel = DslTest.loadMetamodel(); + final List partialModel = DslTest.loadPartialModel(inputs); + InputOutput.println("DSL loaded"); + final Ecore2Logic ecore2Logic = new Ecore2Logic(); + final Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic); + final Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic); + final InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic(); + Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration(); + final TracedOutput modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration); + final LogicProblem logicProblem = modelGenerationProblem.getOutput(); + InputOutput.println("Problem created"); + LogicResult solution = null; + LogicReasoner reasoner = null; + VampireSolver _vampireSolver = new VampireSolver(); + reasoner = _vampireSolver; + VampireSolverConfiguration _vampireSolverConfiguration = new VampireSolverConfiguration(); + final Procedure1 _function = (VampireSolverConfiguration it) -> { + it.writeToFile = false; + }; + final VampireSolverConfiguration vampireConfig = ObjectExtensions.operator_doubleArrow(_vampireSolverConfiguration, _function); + solution = reasoner.solve(logicProblem, vampireConfig, workspace); + InputOutput.println("Problem solved"); + } catch (Throwable _e) { + throw Exceptions.sneakyThrow(_e); + } + } + + private static EcoreMetamodelDescriptor loadMetamodel() { + final FunctionalarchitecturePackage pckg = FunctionalarchitecturePackage.eINSTANCE; + final List classes = IterableExtensions.toList(Iterables.filter(pckg.getEClassifiers(), EClass.class)); + final List enums = IterableExtensions.toList(Iterables.filter(pckg.getEClassifiers(), EEnum.class)); + final Function1> _function = (EEnum it) -> { + return it.getELiterals(); + }; + final List literals = IterableExtensions.toList(Iterables.concat(ListExtensions.>map(enums, _function))); + final Function1> _function_1 = (EClass it) -> { + return it.getEReferences(); + }; + final List references = IterableExtensions.toList(Iterables.concat(ListExtensions.>map(classes, _function_1))); + final Function1> _function_2 = (EClass it) -> { + return it.getEAttributes(); + }; + final List attributes = IterableExtensions.toList(Iterables.concat(ListExtensions.>map(classes, _function_2))); + return new EcoreMetamodelDescriptor(classes, Collections.unmodifiableSet(CollectionLiterals.newHashSet()), false, enums, literals, references, attributes); + } + + private static List loadPartialModel(final ReasonerWorkspace inputs) { + List _xblockexpression = null; + { + Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); + XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); + _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl); + _xblockexpression = IteratorExtensions.toList(inputs.readModel(EObject.class, "FunctionalArchitectureModel.xmi").eResource().getAllContents()); + } + return _xblockexpression; + } +} -- cgit v1.2.3-70-g09d2