From 30617bc0afc7eb9ce0e7f703e8b4296749d2c3aa Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 1 Aug 2019 18:38:43 +0200 Subject: Ensure that experiment runner code compiles --- Tests/hu.bme.mit.inf.dslreasoner.run/.classpath | 21 +++--- .../META-INF/MANIFEST.MF | 5 +- .../dslreasoner/run/DiverseMeasurementRunner.xtend | 13 ++-- .../mit/inf/dslreasoner/run/MetamodelLoader.xtend | 30 ++++---- .../mit/inf/dslreasoner/run/RunMeasurements.xtend | 17 ++--- .../inf/dslreasoner/run/RunModelExtension.xtend | 18 ++--- .../hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend | 84 ++++++++++------------ .../run/VisualiseAllModelInDirectory.xtend | 12 ++-- 8 files changed, 88 insertions(+), 112 deletions(-) (limited to 'Tests') diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath b/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath index 29ba3981..e7847821 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/.classpath @@ -1,9 +1,12 @@ - - - - - - - - - + + + + + + + + + + + + diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF b/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF index e2918491..548d3608 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/META-INF/MANIFEST.MF @@ -17,15 +17,12 @@ Require-Bundle: hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlan org.eclipse.viatra.query.tooling.core;bundle-version="1.5.0", org.eclipse.viatra.query.runtime.base.itc;bundle-version="1.5.0", hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", - org.eclipse.viatra.query.patternlanguage;bundle-version="1.5.0", - org.eclipse.viatra.query.patternlanguage.emf;bundle-version="1.5.0", hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatraquery;bundle-version="1.0.0", org.junit;bundle-version="4.12.0", - hu.bme.mit.inf.dslreasoner.domains.transima.fam;bundle-version="1.0.0", + ModelGenExampleFAM_plugin;bundle-version="1.0.0", hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0", org.eclipse.viatra.dse;bundle-version="0.15.0", hu.bme.mit.inf.dlsreasoner.alloy.reasoner;bundle-version="1.0.0", - hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic;bundle-version="1.0.0", org.eclipse.viatra.query.runtime.localsearch;bundle-version="1.5.0", hu.bme.mit.inf.dslreasoner.logic2ecore;bundle-version="1.0.0", hu.bme.mit.inf.dslreasoner.visualisation;bundle-version="1.0.0", diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend index daa932fd..e15dbf3f 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/DiverseMeasurementRunner.xtend @@ -24,7 +24,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration -import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace import java.util.LinkedList import java.util.List @@ -32,9 +32,6 @@ import org.eclipse.emf.ecore.EObject import org.eclipse.emf.ecore.resource.Resource import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl import org.eclipse.xtend.lib.annotations.Data -import org.eclipse.viatra.query.runtime.api.IQuerySpecification -import java.util.Set -import java.util.Comparator enum Metamodel { FAM, YakinduWOSynch, Yakindu @@ -187,8 +184,7 @@ class ScenarioRunner { it.runtimeLimit = 300 it.typeScopes.maxNewElements = scenario.size it.typeScopes.minNewElements = scenario.size - it.solutionScope.numberOfRequiredSolution = scenario.number - it.existingQueries = vq.patterns.map[it.internalQueryRepresentation] + it.solutionScope.numberOfRequiredSolutions = scenario.number it.nameNewElements = false it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints @@ -223,9 +219,8 @@ class ScenarioRunner { it.runtimeLimit = 300 it.typeScopes.maxNewElements = scenario.size it.typeScopes.minNewElements = scenario.size - it.solutionScope.numberOfRequiredSolution = scenario.number + it.solutionScope.numberOfRequiredSolutions = scenario.number it.typeScopes.maxNewIntegers = 0 - it.writeToFile=true it.randomise = run-1 ] } @@ -259,7 +254,7 @@ class ScenarioRunner { // ecore2GML.transform(root) // workspace.writeText('''solutionVisualisation«representationNumber».gml''',gml) // - val visualiser = new GraphvizVisualisation + val visualiser = new GraphvizVisualiser val visualisation = visualiser.visualiseConcretization(representation) visualisation.writeToFile(workspace,'''solutionVisualisation«representationNumber»''') diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend index 43d145d3..34f3c267 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/MetamodelLoader.xtend @@ -1,9 +1,10 @@ package hu.bme.mit.inf.dslreasoner.run -import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage +import functionalarchitecture.FunctionalarchitecturePackage +import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.FileSystem import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Filesystem.FilesystemPackage -import hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern +import hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor import hu.bme.mit.inf.dslreasoner.partialsnapshot_mavo.yakindu.Patterns @@ -12,6 +13,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.ModelGenerationMetho import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ModelGenerationMethodBasedGlobalConstraint import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace import java.util.Collection +import java.util.HashMap import java.util.LinkedHashMap import java.util.List import java.util.Set @@ -21,14 +23,14 @@ 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.xtext.xbase.lib.Functions.Function1 -import java.util.HashMap import org.eclipse.emf.ecore.EcorePackage -import hu.bme.mit.inf.dslreasoner.domains.alloyexamples.Ecore +import org.eclipse.xtext.xbase.lib.Functions.Function1 +import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Type +import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Model abstract class MetamodelLoader { protected val ReasonerWorkspace workspace - public new(ReasonerWorkspace workspace) { + new(ReasonerWorkspace workspace) { this.workspace = workspace } def EcoreMetamodelDescriptor loadMetamodel() @@ -53,7 +55,7 @@ class FAMLoader extends MetamodelLoader{ } override loadMetamodel() { - val package = FunctionalArchitecturePackage.eINSTANCE + val package = FunctionalarchitecturePackage.eINSTANCE val List classes = package.EClassifiers.filter(EClass).toList val List enums = package.EClassifiers.filter(EEnum).toList val List literals = enums.map[ELiterals].flatten.toList @@ -70,12 +72,12 @@ class FAMLoader extends MetamodelLoader{ } override loadQueries(EcoreMetamodelDescriptor metamodel) { - val i = Pattern.instance + val i = FamPatterns.instance val patterns = i.specifications.toList val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet val derivedFeatures = new LinkedHashMap - derivedFeatures.put(i.type,metamodel.attributes.filter[it.name == "type"].head) - derivedFeatures.put(i.model,metamodel.references.filter[it.name == "model"].head) + derivedFeatures.put(Type.instance,metamodel.attributes.filter[it.name == "type"].head) + derivedFeatures.put(Model.instance,metamodel.references.filter[it.name == "model"].head) val res = new ViatraQuerySetDescriptor( patterns, wfPatterns, @@ -92,8 +94,8 @@ class FAMLoader extends MetamodelLoader{ class YakinduLoader extends MetamodelLoader{ - private var useSynchronization = true; - private var useComplexStates = false; + var useSynchronization = true; + var useComplexStates = false; public static val patternsWithSynchronization = #[ "synchHasNoOutgoing", "synchHasNoIncoming", "SynchronizedIncomingInSameRegion", "notSynchronizingStates", "hasMultipleOutgoingTrainsition", "hasMultipleIncomingTrainsition", "SynchronizedRegionsAreNotSiblings", @@ -104,10 +106,10 @@ class YakinduLoader extends MetamodelLoader{ YakindummPackage.eINSTANCE.eClass } - public def setUseSynchronization(boolean useSynchronization) { + def setUseSynchronization(boolean useSynchronization) { this.useSynchronization = useSynchronization } - public def setUseComplexStates(boolean useComplexStates) { + def setUseComplexStates(boolean useComplexStates) { this.useComplexStates = useComplexStates } diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend index 8d96958d..ae810a9b 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunMeasurements.xtend @@ -25,10 +25,12 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra.TypeInferenceMethod 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.partialinterpretation.PartialinterpretationPackage +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace import java.io.BufferedReader import java.io.InputStreamReader @@ -37,9 +39,6 @@ import org.eclipse.emf.ecore.EObject import org.eclipse.emf.ecore.resource.Resource import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl import org.junit.Test -import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation -import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationSizePrinter -import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml enum UseSolver{Viatra, Smt, ViatraWithSmt, Alloy} enum Domain{FAM, Yakindu, FileSystem,Ecore} @@ -129,7 +128,7 @@ class RunMeasurements { val smtConfig = new SmtSolverConfiguration() => [ it.typeScopes.maxNewElements = size it.typeScopes.minNewElements = size - it.solutionScope.numberOfRequiredSolution = number + it.solutionScope.numberOfRequiredSolutions = number it.solverPath = '''"D:/Programs/Z3/4.3/z3.exe"''' ] val solution = this.smtSolver.solve( @@ -142,9 +141,8 @@ class RunMeasurements { val alloyConfig = new AlloySolverConfiguration => [ it.typeScopes.maxNewElements = size it.typeScopes.minNewElements = size - it.solutionScope.numberOfRequiredSolution = number + it.solutionScope.numberOfRequiredSolutions = number it.typeScopes.maxNewIntegers = 0 - it.writeToFile = true ] val solution = this.alloyReasoner.solve( problem, @@ -157,13 +155,12 @@ class RunMeasurements { it.runtimeLimit = 400 it.typeScopes.maxNewElements = size it.typeScopes.minNewElements = size - it.solutionScope.numberOfRequiredSolution = number - it.existingQueries = vq.patterns.map[it.internalQueryRepresentation] + it.solutionScope.numberOfRequiredSolutions = number it.nameNewElements = false it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints it.stateCoderStrategy = StateCoderStrategy::Neighbourhood - it.debugCongiguration.partalInterpretationVisualisationFrequency = 100 + it.debugConfiguration.partalInterpretationVisualisationFrequency = 100 //it.debugCongiguration.partialInterpretatioVisualiser = //new GraphvizVisualisation //new PartialInterpretationSizePrinter @@ -267,7 +264,7 @@ class RunMeasurements { val gml = partialInterpretation2GML.transform(representation) r.workspace.writeText('''solution«representationNumber».gml''',gml) if(representation.newElements.size <160) { - val visualiser = new GraphvizVisualisation + val visualiser = new GraphvizVisualiser val visualisation = visualiser.visualiseConcretization(representation) visualisation.writeToFile(r.workspace,'''solution«representationNumber»''') } diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend index d8f75b89..1b8fe3e9 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/RunModelExtension.xtend @@ -30,7 +30,7 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.DiversityDescriptor import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.StateCoderStrategy import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasoner import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration -import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace import java.io.BufferedReader import java.io.InputStreamReader @@ -44,7 +44,6 @@ import org.eclipse.emf.ecore.resource.Resource import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine import org.eclipse.viatra.query.runtime.emf.EMFScope -import java.lang.invoke.VolatileCallSite enum PartialModelSource { Homeworks, Random } enum ValidationTechique {Alloy, Viatra} @@ -116,7 +115,7 @@ class RunModelExtensionMeasurements { val smtConfig = new SmtSolverConfiguration() => [ it.typeScopes.maxNewElements = size it.typeScopes.minNewElements = size - it.solutionScope.numberOfRequiredSolution = 1 + it.solutionScope.numberOfRequiredSolutions = 1 it.solverPath = '''"D:/Programs/Z3/4.3/z3.exe"''' ] val solution = this.smtSolver.solve( @@ -129,9 +128,8 @@ class RunModelExtensionMeasurements { val alloyConfig = new AlloySolverConfiguration => [ it.typeScopes.maxNewElements = size it.typeScopes.minNewElements = size - it.solutionScope.numberOfRequiredSolution = 1 + it.solutionScope.numberOfRequiredSolutions = 1 it.typeScopes.maxNewIntegers = 0 - it.writeToFile = true ] val solution = this.alloyReasoner.solve( problem, @@ -144,16 +142,12 @@ class RunModelExtensionMeasurements { it.runtimeLimit = 400 it.typeScopes.maxNewElements = size it.typeScopes.minNewElements = size - it.solutionScope.numberOfRequiredSolution = 1 - it.existingQueries = vq.patterns.map[it.internalQueryRepresentation] + it.solutionScope.numberOfRequiredSolutions = 1 it.nameNewElements = false it.typeInferenceMethod = TypeInferenceMethod.PreliminaryAnalysis it.searchSpaceConstraints.additionalGlobalConstraints += loader.additionalConstraints it.stateCoderStrategy = StateCoderStrategy::Neighbourhood - it.debugCongiguration.partalInterpretationVisualisationFrequency = 100 - //it.debugCongiguration.partialInterpretatioVisualiser = - //new GraphvizVisualisation - //new PartialInterpretationSizePrinter + it.debugConfiguration.partalInterpretationVisualisationFrequency = 100 ] viatraConfig.diversityRequirement = diversityRequirement if (solver == UseSolver.Viatra) { @@ -314,7 +308,7 @@ class RunModelExtensionMeasurements { val gml = partialInterpretation2GML.transform(representation) r.workspace.writeText('''solution«representationNumber».gml''',gml) if(representation.newElements.size <160) { - val visualiser = new GraphvizVisualisation + val visualiser = new GraphvizVisualiser val visualisation = visualiser.visualiseConcretization(representation) visualisation.writeToFile(r.workspace,'''solution«representationNumber»''') } diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend index 863a91c8..91c46dd6 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/SimpleRun.xtend @@ -1,41 +1,39 @@ package hu.bme.mit.inf.dslreasoner.run +import functionalarchitecture.FunctionalarchitecturePackage +import hu.bme.mit.inf.dslreasoner.domains.transima.fam.FamPatterns +import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Model +import hu.bme.mit.inf.dslreasoner.domains.transima.fam.Type +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration +import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor +import hu.bme.mit.inf.dslreasoner.logic.model.builder.DocumentationLevel +import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner +import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult +import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.ModelResult +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.viatra2logic.ViatraQuerySetDescriptor +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.viatrasolver.reasoner.ViatraReasoner +import hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.ViatraReasonerConfiguration +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace -import hu.bme.mit.inf.dslreasomer.domains.transima.fam.FunctionalArchitecture.FunctionalArchitecturePackage +import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace +import java.util.LinkedHashMap +import java.util.LinkedList import java.util.List +import org.eclipse.emf.ecore.EAttribute 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.EEnumLiteral 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.EReference 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 class SimpleRun { @@ -59,7 +57,7 @@ class SimpleRun { val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel,new Ecore2LogicConfiguration()) val modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem,partialModel) - val validModelExtensionProblem = viatra2Logic.transformQueries(queries,modelGenerationProblem,new Viatra2LogicConfiguration) + val validModelExtensionProblem = viatra2Logic.transformQueries(queries,modelExtensionProblem,new Viatra2LogicConfiguration) val logicProblem = validModelExtensionProblem.output @@ -71,11 +69,10 @@ class SimpleRun { val viatraConfig = new ViatraReasonerConfiguration => [ it.typeScopes.maxNewElements = 40 it.typeScopes.minNewElements = 40 - it.solutionScope.numberOfRequiredSolution = 1 - it.existingQueries = queries.patterns.map[it.internalQueryRepresentation] - it.debugCongiguration.logging = false - it.debugCongiguration.partalInterpretationVisualisationFrequency = 1 - it.debugCongiguration.partialInterpretatioVisualiser = new GraphvizVisualisation + it.solutionScope.numberOfRequiredSolutions = 1 + it.documentationLevel = DocumentationLevel.NONE + it.debugConfiguration.partalInterpretationVisualisationFrequency = 1 + it.debugConfiguration.partialInterpretatioVisualiser = new GraphvizVisualiser ] solution = reasoner.solve(logicProblem,viatraConfig,workspace) /*/ @@ -95,11 +92,6 @@ class SimpleRun { val interpretations = reasoner.getInterpretations(solution as ModelResult) val models = new LinkedList for(interpretation : interpretations) { - val extension b = new LogicStructureBuilder - val extension a = new LogicProblemBuilder - - - val instanceModel = logic2Ecore.transformInterpretation(interpretation,modelGenerationProblem.trace) models+=instanceModel } @@ -108,7 +100,7 @@ class SimpleRun { } def private static loadMetamodel() { - val pckg = FunctionalArchitecturePackage.eINSTANCE + val pckg = FunctionalarchitecturePackage.eINSTANCE val List classes = pckg.EClassifiers.filter(EClass).toList val List enums = pckg.EClassifiers.filter(EEnum).toList val List literals = enums.map[ELiterals].flatten.toList @@ -118,12 +110,12 @@ class SimpleRun { } def private static loadQueries(EcoreMetamodelDescriptor metamodel) { - val i = hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern.instance + val i = FamPatterns.instance val patterns = i.specifications.toList val wfPatterns = patterns.filter[it.allAnnotations.exists[it.name== "Constraint"]].toSet val derivedFeatures = new LinkedHashMap - derivedFeatures.put(i.type,metamodel.attributes.filter[it.name == "type"].head) - derivedFeatures.put(i.model,metamodel.references.filter[it.name == "model"].head) + derivedFeatures.put(Type.instance,metamodel.attributes.filter[it.name == "type"].head) + derivedFeatures.put(Model.instance,metamodel.references.filter[it.name == "model"].head) val res = new ViatraQuerySetDescriptor( patterns, wfPatterns, @@ -160,8 +152,4 @@ class SimpleRun { println("Solution saved and visualised") } } - - def static visualizeSolution() { - - } } \ No newline at end of file diff --git a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend index 6b74d161..3a100ace 100644 --- a/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend +++ b/Tests/hu.bme.mit.inf.dslreasoner.run/src/hu/bme/mit/inf/dslreasoner/run/VisualiseAllModelInDirectory.xtend @@ -1,16 +1,16 @@ package hu.bme.mit.inf.dslreasoner.run +import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage +import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage +import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialinterpretationPackage +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml +import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualiser import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace import java.io.File -import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage -import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage -import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage import org.eclipse.emf.ecore.resource.Resource -import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml -import hu.bme.mit.inf.dslreasoner.visualisation.pi2graphviz.GraphvizVisualisation import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl class VisualiseAllModelInDirectory { @@ -62,7 +62,7 @@ class VisualiseAllModelInDirectory { } if(!hasPng && model.newElements.size <160) { - val visualiser = new GraphvizVisualisation + val visualiser = new GraphvizVisualiser val visualisation = visualiser.visualiseConcretization(model) visualisation.writeToFile(workspace,fileNameWithoutExtension) println('''«fileNameWithoutExtension».png''') -- cgit v1.2.3-54-g00ecf