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/DslTest.xtend | 103 --------------------- .../dslreasoner/vampire/test/MedicalSystem.xtend | 5 +- .../ecse/dslreasoner/vampire/test/SimpleRun.xtend | 2 +- .../dslreasoner/vampire/test/VampireTest.xtend | 25 ++--- 4 files changed, 18 insertions(+), 117 deletions(-) delete mode 100644 Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/DslTest.xtend (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test') diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/DslTest.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/DslTest.xtend deleted file mode 100644 index a8b4dcfb..00000000 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/DslTest.xtend +++ /dev/null @@ -1,103 +0,0 @@ -package ca.mcgill.ecse.dslreasoner.vampire.test - -import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver -import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration -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.EcoreMetamodelDescriptor -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.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.List -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 - -class DslTest { - def static void main(String[] args) { - val inputs = new FileSystemWorkspace('''initialModels/''', "") - val workspace = new FileSystemWorkspace('''outputDslModels/''', "") - workspace.initAndClear - - println("Input and output workspaces are created") - - val metamodel = loadMetamodel() - val partialModel = loadPartialModel(inputs) -// val queries = loadQueries(metamodel) - - println("DSL loaded") - - val Ecore2Logic ecore2Logic = new Ecore2Logic - val Logic2Ecore logic2Ecore = new Logic2Ecore(ecore2Logic) - val Viatra2Logic viatra2Logic = new Viatra2Logic(ecore2Logic) - val InstanceModel2Logic instanceModel2Logic = new InstanceModel2Logic - - val modelGenerationProblem = ecore2Logic.transformMetamodel(metamodel,new Ecore2LogicConfiguration()) -// val modelExtensionProblem = instanceModel2Logic.transform(modelGenerationProblem,partialModel) -// val validModelExtensionProblem = viatra2Logic.transformQueries(queries,modelGenerationProblem,new Viatra2LogicConfiguration) - - val logicProblem = modelGenerationProblem.output -// val logicProblem = modelExtensionProblem.output -// val logicProblem = validModelExtensionProblem.output - - - println("Problem created") - - var LogicResult solution - var LogicReasoner reasoner - //* - reasoner = new VampireSolver - val vampireConfig = new VampireSolverConfiguration => [ - //add configuration things, in config file first - it.writeToFile = false - ] - - solution = reasoner.solve(logicProblem, vampireConfig, workspace) - - println("Problem solved") - - - } - - def private static loadMetamodel() { - //FAM - 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[getELiterals].flatten.toList - val List references = classes.map[getEReferences].flatten.toList - val List attributes = classes.map[getEAttributes].flatten.toList - return new EcoreMetamodelDescriptor(classes,#{},false,enums,literals,references,attributes) - } - - def private static loadPartialModel(ReasonerWorkspace inputs) { - Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl()); - inputs.readModel(EObject,"FunctionalArchitectureModel.xmi").eResource.allContents.toList -// inputs.readModel(EObject,"FAM.xmi").eResource.allContents.toList - } - -// def private static loadQueries(EcoreMetamodelDescriptor metamodel) { -// val i = hu.bme.mit.inf.dslreasoner.domains.transima.fam.patterns.Pattern.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) -// val res = new ViatraQuerySetDescriptor( -// patterns, -// wfPatterns, -// derivedFeatures -// ) -// return res -// } -} diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend index ccc17617..15f9e1fe 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend @@ -22,11 +22,12 @@ import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl class MedicalSystem { def static void main(String[] args) { init() - val workspace = new FileSystemWorkspace('''outputModels/''',"") + val workspace = new FileSystemWorkspace('''output/MedicalSystem/''',"") workspace.initAndClear val root = load() println("Problem Loaded") + // val rs = new ResourceSetImpl // val logRes = rs.createResource(URI.createFileURI("vampireMidel.tptp")) // @@ -40,7 +41,7 @@ class MedicalSystem { reasoner = new VampireSolver val vampireConfig = new VampireSolverConfiguration => [ //add configuration things, in config file first - it.writeToFile = false + it.writeToFile = true ] solution = reasoner.solve(root, vampireConfig, workspace) diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend index 9d2235f0..f99f0a40 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/SimpleRun.xtend @@ -66,7 +66,7 @@ // println("Problem created") // var LogicResult solution // var LogicReasoner reasoner -// //* +// /* // reasoner = new ViatraReasoner // val viatraConfig = new ViatraReasonerConfiguration => [ // it.typeScopes.maxNewElements = 40 diff --git a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend index 3d36bbf7..4fc81ad8 100644 --- a/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend +++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/VampireTest.xtend @@ -17,6 +17,7 @@ import org.eclipse.emf.common.util.URI import org.eclipse.emf.ecore.resource.Resource import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl +import java.io.File class VampireTest { @@ -39,15 +40,11 @@ class VampireTest { map.put("logicproblem", new XMIResourceFactoryImpl) VampireLanguageStandaloneSetup.doSetup - val workspace = new FileSystemWorkspace('''output/models/''',"") + val workspace = new FileSystemWorkspace('''output/VampireTest''',"") workspace.initAndClear - // Load and create top level elements - // Load source model - val rs = new ResourceSetImpl - val logicURI = URI.createFileURI("output/files/logProb.logicproblem") - val logRes = rs.createResource(logicURI) - + //Storing the logicProblem + val filename = "problem.logicproblem" var LogicProblem problem = builder.createProblem /* @@ -56,8 +53,7 @@ class VampireTest { rockPaperScisors(problem) //*/ - logRes.contents.add(problem) - logRes.save(Collections.EMPTY_MAP) + workspace.writeModel(problem, filename) //problem.add(Assertion( Y && X <=> X) ) @@ -69,7 +65,7 @@ class VampireTest { reasoner = new VampireSolver val vampireConfig = new VampireSolverConfiguration => [ //add configuration things, in config file first - it.writeToFile = false + it.writeToFile = true ] solution = reasoner.solve(problem, vampireConfig, workspace) @@ -88,6 +84,10 @@ class VampireTest { } + def name() { + return this.class.simpleName + } + static def deMorgan(LogicProblem problem) { @@ -144,7 +144,10 @@ class VampireTest { //x.range Exists[ val y = addVar("y",oldRPS) - beats2.call(x,y) + And(beats2.call(x,y), + x != y, + Not(beats2.call(y, x)) + ) ] ])) //*/ -- cgit v1.2.3-54-g00ecf