blob: 40cb70a74791b679c6580e4e55bff26ac7b7fc3e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
package ca.mcgill.ecse.dslreasoner.vampire.test
import ca.mcgill.ecse.dslreasoner.VampireLanguageStandaloneSetup
import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolver
import ca.mcgill.ecse.dslreasoner.vampire.reasoner.VampireSolverConfiguration
import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage
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.logiclanguage.LogiclanguagePackage
import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem
import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage
import hu.bme.mit.inf.dslreasoner.logic.model.logicresult.LogicResult
import hu.bme.mit.inf.dslreasoner.viatra2logic.viatra2logicannotations.Viatra2LogicAnnotationsPackage
import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
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
class MedicalSystem {
def static void main(String[] args) {
init()
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"))
//
// var vampireModel = VampireLanguageFactory.eINSTANCE.createVampireModel()
var LogicResult solution
var LogicReasoner reasoner
reasoner = new VampireSolver
val vampireConfig = new VampireSolverConfiguration => [
//add configuration things, in config file first
it.documentationLevel = DocumentationLevel::FULL
]
solution = reasoner.solve(root, vampireConfig, workspace)
// vampireModel = solution
//
// logRes.contents.add(vampireModel)
// logRes.save(Collections.EMPTY_MAP)
println("Problem Solved")
}
protected def static LogicProblem load() {
val resourceSet = new ResourceSetImpl
val resource = resourceSet.getResource(URI.createURI("inputLPs/newMedicalSystem.logicproblem"),true)
val root = resource.contents.get(0) as LogicProblem
root
}
protected def static void init() {
LogiclanguagePackage.eINSTANCE.eClass
LogicproblemPackage.eINSTANCE.eClass()
Ecore2logicannotationsPackage.eINSTANCE.eClass()
Viatra2LogicAnnotationsPackage.eINSTANCE.eClass()
val reg = Resource.Factory.Registry.INSTANCE
val map = reg.extensionToFactoryMap
map.put("logicproblem", new XMIResourceFactoryImpl)
map.put("tptp", new XMIResourceFactoryImpl)
VampireLanguageStandaloneSetup.doSetup
}
}
|