aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend')
-rw-r--r--Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend76
1 files changed, 76 insertions, 0 deletions
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
new file mode 100644
index 00000000..ccc17617
--- /dev/null
+++ b/Tests/ca.mcgill.ecse.dslreasoner.vampire.test/src/ca/mcgill/ecse/dslreasoner/vampire/test/MedicalSystem.xtend
@@ -0,0 +1,76 @@
1package ca.mcgill.ecse.dslreasoner.vampire.test
2
3import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
4import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
5import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicReasoner
6import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage
7import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
8import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
9import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
10import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver
11import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration
12import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireLanguageFactory
13import ca.mcgill.ecse.dslreasoner.vampireLanguage.VampireModel
14import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
15import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
16import java.util.Collections
17import org.eclipse.emf.common.util.URI
18import org.eclipse.emf.ecore.resource.Resource
19import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl
20import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
21
22class MedicalSystem {
23 def static void main(String[] args) {
24 init()
25 val workspace = new FileSystemWorkspace('''outputModels/''',"")
26 workspace.initAndClear
27 val root = load()
28 println("Problem Loaded")
29
30// val rs = new ResourceSetImpl
31// val logRes = rs.createResource(URI.createFileURI("vampireMidel.tptp"))
32//
33// var vampireModel = VampireLanguageFactory.eINSTANCE.createVampireModel()
34
35
36
37 var LogicResult solution
38 var LogicReasoner reasoner
39
40 reasoner = new VampireSolver
41 val vampireConfig = new VampireSolverConfiguration => [
42 //add configuration things, in config file first
43 it.writeToFile = false
44 ]
45
46 solution = reasoner.solve(root, vampireConfig, workspace)
47
48// vampireModel = solution
49//
50// logRes.contents.add(vampireModel)
51// logRes.save(Collections.EMPTY_MAP)
52
53
54 println("Problem Solved")
55
56 }
57
58 protected def static LogicProblem load() {
59 val resourceSet = new ResourceSetImpl
60 val resource = resourceSet.getResource(URI.createURI("inputLPs/newMedicalSystem.logicproblem"),true)
61 val root = resource.contents.get(0) as LogicProblem
62 root
63 }
64
65 protected def static void init() {
66 LogiclanguagePackage.eINSTANCE.eClass
67 LogicproblemPackage.eINSTANCE.eClass()
68 Ecore2logicannotationsPackage.eINSTANCE.eClass()
69 Viatra2LogicAnnotationsPackage.eINSTANCE.eClass()
70 val reg = Resource.Factory.Registry.INSTANCE
71 val map = reg.extensionToFactoryMap
72 map.put("logicproblem", new XMIResourceFactoryImpl)
73 map.put("tptp", new XMIResourceFactoryImpl)
74 VampireLanguageStandaloneSetup.doSetup
75 }
76}