From 7e50434905cbb7f5d03636033b698e17a9075e9d Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Sat, 13 Jan 2018 19:33:26 +0100 Subject: Initial commit of the configuration language and application --- .../application/execution/Executor.xtend | 95 ++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend (limited to 'Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend new file mode 100644 index 00000000..4d887423 --- /dev/null +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/Executor.xtend @@ -0,0 +1,95 @@ +package hu.bme.mit.inf.dslreasoner.application.execution + +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task +import java.util.HashMap +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask +import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel +import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace +import java.util.List +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EEnumLiteral +import org.eclipse.emf.ecore.EReference +import org.eclipse.emf.ecore.EEnum +import org.eclipse.emf.ecore.EAttribute +import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor +import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace +import org.eclipse.emf.ecore.EObject +import java.util.LinkedHashMap +import hu.bme.mit.inf.dslreasoner.viatra2logic.ViatraQuerySetDescriptor +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic +import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration +import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2LogicConfiguration +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration +import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner +import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml +import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolverConfiguration +import hu.bme.mit.inf.dlsreasoner.alloy.reasoner.AlloySolver +import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore +import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner +import java.util.LinkedList +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation +import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicStructureBuilder +import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder +import org.eclipse.emf.ecore.util.EcoreUtil +import org.eclipse.xtext.EcoreUtil2 +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl +import org.eclipse.emf.ecore.resource.ResourceSet +import org.eclipse.emf.common.util.URI +import org.eclipse.emf.ecore.EPackage + +class Executor { + public def void execute(ConfigurationScript configurationScript) { + val tasks = configurationScript.commands.filter(Task) + val numberOfModels = tasks.map[it.calculateTaskSteps].reduce[p1, p2|p1+p2] + } + + def private dispatch calculateTaskSteps(Task task) { + throw new UnsupportedOperationException() + } + def private dispatch calculateTaskSteps(GenerationTask task) { + return task.number * task.runs + } + + def private dispatch executeTask(Task task) { + throw new UnsupportedOperationException() + } + def private dispatch executeTask(GenerationTask generationTask) { + val metamodel = generationTask.metamodel + if(metamodel != null) { + + } + } + + def protected loadPackage(ResourceSet rs, String path) { + var EObject content = null + + try { + val resource = rs.getResource(URI.createURI(path),true) + content = resource.contents.get(0) + } catch(IllegalArgumentException e) { + return null + } catch(RuntimeException e) { + return null + } + + if(content instanceof EPackage) { + + } else return null + } + + def loadPatternModel(ResourceSet rs, String path) { + var model = null + + + } +} -- cgit v1.2.3-54-g00ecf