From c05d5d65970b7d55f296bf7d3ec7bc3c134a7efc Mon Sep 17 00:00:00 2001 From: OszkarSemerath Date: Wed, 28 Feb 2018 18:13:31 -0500 Subject: fixed default model number overriding custom value + added visualisation --- .../.gitignore | 1 + .../META-INF/MANIFEST.MF | 4 +- .../execution/GenerationTaskExecutor.xtend | 61 ++++++++++++++++++---- .../application/execution/ModelLoader.xtend | 7 ++- .../bme/mit/inf/dslreasoner/application/.gitignore | 6 +-- .../dslreasoner/application/execution/.gitignore | 28 ++-------- .../application/execution/util/.gitignore | 5 +- .../dslreasoner/application/generator/.gitignore | 2 - .../inf/dslreasoner/application/linking/.gitignore | 4 -- .../inf/dslreasoner/application/scoping/.gitignore | 2 - .../dslreasoner/application/validation/.gitignore | 5 +- .../application/valueconverter/.gitignore | 2 +- 12 files changed, 64 insertions(+), 63 deletions(-) (limited to 'Application/hu.bme.mit.inf.dslreasoner.application') diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/.gitignore index ae3c1726..3197db31 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/.gitignore @@ -1 +1,2 @@ /bin/ +/xtend-gen/ \ No newline at end of file diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF b/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF index eda46b08..ba48991b 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF +++ b/Application/hu.bme.mit.inf.dslreasoner.application/META-INF/MANIFEST.MF @@ -21,7 +21,6 @@ Require-Bundle: org.eclipse.xtext, hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic;bundle-version="1.0.0", hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0", hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", - hu.bme.mit.inf.dslreasoner.visualisation;bundle-version="1.0.0", hu.bme.mit.inf.dlsreasoner.alloy.reasoner;bundle-version="1.0.0", hu.bme.mit.inf.dslreasoner.logic2ecore;bundle-version="1.0.0", hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;bundle-version="1.0.0", @@ -29,7 +28,8 @@ Require-Bundle: org.eclipse.xtext, org.eclipse.viatra.query.patternlanguage.emf;bundle-version="1.7.0", org.eclipse.viatra.query.runtime;bundle-version="1.7.0", org.eclipse.emf.codegen;bundle-version="2.11.0", - org.eclipse.viatra.query.tooling.core;bundle-version="2.0.0" + org.eclipse.viatra.query.tooling.core;bundle-version="2.0.0", + hu.bme.mit.inf.dslreasoner.visualisation;bundle-version="1.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Export-Package: hu.bme.mit.inf.dslreasoner.application, hu.bme.mit.inf.dslreasoner.application.applicationConfiguration, diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend index 44d9fab0..33f59413 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend @@ -14,6 +14,9 @@ import hu.bme.mit.inf.dslreasoner.logic2ecore.Logic2Ecore import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2Logic import hu.bme.mit.inf.dslreasoner.viatra2logic.Viatra2LogicConfiguration import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2Logic +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation; import hu.bme.mit.inf.dslreasoner.workspace.ProjectWorkspace import java.util.Optional import org.eclipse.emf.common.util.URI @@ -51,6 +54,19 @@ class GenerationTaskExecutor { val memoryLimit = scriptExecutor.getMemoryLimit(configSpecification) // 2. create console + val reasonerWorkspace = if(debugFolder!== null) { + new ProjectWorkspace(debugFolder.path,"") + } else { + new NullWorkspace + } + reasonerWorkspace.initAndClear + val outputWorkspace = if(outputFolder !== null) { + new ProjectWorkspace(outputFolder.path,"") + } else { + new NullWorkspace + } + outputWorkspace.initAndClear + val console = new ScriptConsole(true,true, if(messageFile!==null) URI.createURI(messageFile.path) else null, if(debugFolder!==null) URI.createURI('''«debugFolder.path»/errors.txt''') else null, @@ -96,27 +112,22 @@ class GenerationTaskExecutor { new Viatra2LogicConfiguration ).output } + if(documentationLevel.atLeastNormal) { + reasonerWorkspace.writeModel(problem,"generation.logicproblem") + } // 5. create a solver and a configuration // 5.1 initialize val solver = solverLoader.loadSolver(task.solver,configurationMap) val solverConfig = solverLoader.loadSolverConfig(task.solver,configurationMap,console) - val reasonerWorkspace = if(debugFolder!== null) { - new ProjectWorkspace(debugFolder.path,"") - } else { - new NullWorkspace - } - reasonerWorkspace.initAndClear - if(documentationLevel.atLeastNormal) { - reasonerWorkspace.writeModel(problem,"generation.logicproblem") - } + // 5.2 set values that defined directly solverConfig.solutionScope = new SolutionScope => [ it.numberOfRequiredSolution = if(task.numberSpecified) { - 1 - } else { task.number + } else { + 1 } ] solverConfig.typeScopes = scopeLoader.loadScope( @@ -146,6 +157,7 @@ class GenerationTaskExecutor { reasonerWorkspace } + // 7. Solver call val solution = solver.solve(problem,solverConfig,reasonerWorkspaceForRun) @@ -156,6 +168,33 @@ class GenerationTaskExecutor { if(solution instanceof ModelResult) { // val interpretations = solver.getInterpretations(solution) + val outputWorkspaceForRun = if(runs > 1) { + outputWorkspace.subWorkspace('''run«run»''',"") => [initAndClear] + } else { + outputWorkspace + } + + for(interpretationIndex : 0..1»_«run»«ENDIF»_«interpretationIndex».xmi''') + + val representation = solution.representation.get(interpretationIndex) + if(representation instanceof PartialInterpretation) { + val vis1 = new PartialInterpretation2Gml + val gml = vis1.transform(representation) + outputWorkspaceForRun.writeText('''model«IF runs>1»_«run»«ENDIF»_«interpretationIndex».gml''',gml) + if(representation.newElements.size + representation.problem.elements.size < 150) { + val vis2 = new GraphvizVisualisation + val dot = vis2.visualiseConcretization(representation) + dot.writeToFile(outputWorkspaceForRun,'''model«IF runs>1»_«run»«ENDIF»_«interpretationIndex»''') + } + } + } + + for(representation : solution.representation) { + + } } } diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend index ca674280..350901ea 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend +++ b/Application/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend @@ -1,10 +1,9 @@ package hu.bme.mit.inf.dslreasoner.application.execution -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl -import org.eclipse.emf.common.util.URI import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification -import org.eclipse.emf.ecore.EObject import java.util.List +import org.eclipse.emf.common.util.URI +import org.eclipse.emf.ecore.EObject class ModelLoader { @@ -20,7 +19,7 @@ class ModelLoader { return null } - val resourceSet = new ResourceSetImpl + val resourceSet = specification.eResource.resourceSet val resource = resourceSet.getResource(uri, true) if (resource === null) { } else { diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore index a7825f62..bca5f28f 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/.gitignore @@ -1,6 +1,2 @@ -/.ApplicationConfigurationRuntimeModule.java._trace -/.ApplicationConfigurationRuntimeModule.xtendbin /.ApplicationConfigurationStandaloneSetup.java._trace -/.ApplicationConfigurationStandaloneSetup.xtendbin -/ApplicationConfigurationRuntimeModule.java -/ApplicationConfigurationStandaloneSetup.java +/.ApplicationConfigurationRuntimeModule.java._trace diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore index 85a9a50e..5c89fb5b 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/.gitignore @@ -1,29 +1,9 @@ -/.Context.java._trace -/.Context.xtendbin -/.ExecuteScript.java._trace -/.ExecuteScript.xtendbin -/.Executor.java._trace -/.Executor.xtendbin -/.Metamodel.java._trace +/.GenerationTaskExecutor.java._trace +/.NullWorkspace.java._trace /.MetamodelLoader.java._trace -/.MetamodelLoader.xtendbin /.ModelLoader.java._trace -/.ModelLoader.xtendbin -/.ParseUtil.java._trace /.QueryLoader.java._trace -/.QueryLoader.xtendbin -/Context.java -/ExecuteScript.java -/Executor.java -/Metamodel.java -/MetamodelLoader.java -/ModelLoader.java -/QueryLoader.java -/.MetamodelValidator.java._trace -/.QueryAndMetamodelValidator.java._trace -/.ScriptExecutor.java._trace -/.GenerationTaskExecutor.java._trace +/.ScopeLoader.java._trace /.ScriptConsole.java._trace +/.ScriptExecutor.java._trace /.SolverLoader.java._trace -/.NullWorkspace.java._trace -/.ScopeLoader.java._trace diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore index 62c87eec..df803ce6 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/execution/util/.gitignore @@ -1,6 +1,3 @@ /.MyModule.java._trace -/.VQLParser.java._trace -/.VQLParser.xtendbin -/MyModule.java -/VQLParser.java /.ApplicationConfigurationParser.java._trace +/.VQLParser.java._trace diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore index 2af89e3e..412c1356 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/generator/.gitignore @@ -1,3 +1 @@ /.ApplicationConfigurationGenerator.java._trace -/.ApplicationConfigurationGenerator.xtendbin -/ApplicationConfigurationGenerator.java diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore index 8171c608..94eaff7d 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/linking/.gitignore @@ -1,6 +1,2 @@ /.ApplicationConfigurationLinkingService.java._trace -/.ApplicationConfigurationLinkingService.xtendbin -/ApplicationConfigurationLinkingService.java -/.SimilarLoadedMetamodelProvider.java._trace -/.ResourceSetBasedMetamodelProvider.java._trace /.PreloadedMetamodelProvider.java._trace diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore index fb3312df..9fe94100 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/scoping/.gitignore @@ -1,3 +1 @@ /.ApplicationConfigurationScopeProvider.java._trace -/.ApplicationConfigurationScopeProvider.xtendbin -/ApplicationConfigurationScopeProvider.java diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore index b4d6d531..7caadb6b 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/validation/.gitignore @@ -1,6 +1,3 @@ -/.ApplicationConfigurationValidator.java._trace -/.ApplicationConfigurationValidator.xtendbin -/ApplicationConfigurationValidator.java /.MetamodelValidator.java._trace +/.ApplicationConfigurationValidator.java._trace /.QueryAndMetamodelValidator.java._trace -/.QueryValidator.java._trace diff --git a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/valueconverter/.gitignore b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/valueconverter/.gitignore index 1caf40dc..23da1346 100644 --- a/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/valueconverter/.gitignore +++ b/Application/hu.bme.mit.inf.dslreasoner.application/xtend-gen/hu/bme/mit/inf/dslreasoner/application/valueconverter/.gitignore @@ -1,2 +1,2 @@ -/.QualifiedNameValueConverter.java._trace /.ApplicationConfigurationValueConverterService.java._trace +/.QualifiedNameValueConverter.java._trace -- cgit v1.2.3-54-g00ecf