diff options
Diffstat (limited to 'Solvers/VIATRA-Solver')
3 files changed, 15 insertions, 2 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend index dac5630b..cac614ad 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend | |||
@@ -30,7 +30,7 @@ import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | |||
30 | } | 30 | } |
31 | 31 | ||
32 | class PatternProvider { | 32 | class PatternProvider { |
33 | val ParseUtil parseUtil = new ParseUtil | 33 | |
34 | val TypeAnalysis typeAnalysis = new TypeAnalysis | 34 | val TypeAnalysis typeAnalysis = new TypeAnalysis |
35 | 35 | ||
36 | public def generateQueries( | 36 | public def generateQueries( |
@@ -54,6 +54,7 @@ class PatternProvider { | |||
54 | } | 54 | } |
55 | val baseIndexerFile = patternGenerator.transformBaseProperties(problem,emptySolution,fqn2Query,typeAnalysisResult) | 55 | val baseIndexerFile = patternGenerator.transformBaseProperties(problem,emptySolution,fqn2Query,typeAnalysisResult) |
56 | writeQueries(baseIndexerFile,"GeneratedQueries",workspace) | 56 | writeQueries(baseIndexerFile,"GeneratedQueries",workspace) |
57 | val ParseUtil parseUtil = new ParseUtil | ||
57 | val generatedQueries = parseUtil.parse(baseIndexerFile) | 58 | val generatedQueries = parseUtil.parse(baseIndexerFile) |
58 | val runtimeQueries = calclulateRuntimeQueries(patternGenerator,problem,emptySolution,typeAnalysisResult,generatedQueries); | 59 | val runtimeQueries = calclulateRuntimeQueries(patternGenerator,problem,emptySolution,typeAnalysisResult,generatedQueries); |
59 | return runtimeQueries | 60 | return runtimeQueries |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend index 38cc9459..5d8859bd 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend | |||
@@ -128,6 +128,12 @@ class ViatraReasoner extends LogicReasoner{ | |||
128 | //it.solverTime = viatraConfig.runtimeLimit | 128 | //it.solverTime = viatraConfig.runtimeLimit |
129 | it.solverTime = (solverTime/1000000) as int | 129 | it.solverTime = (solverTime/1000000) as int |
130 | it.transformationTime = (transformationTime/1000000) as int | 130 | it.transformationTime = (transformationTime/1000000) as int |
131 | for(x : 0..<strategy.solutionStoreWithCopy.allRuntimes.size) { | ||
132 | it.entries += createIntStatisticEntry => [ | ||
133 | it.name = '''_Sulution«x»FoundAt''' | ||
134 | it.value = strategy.solutionStoreWithCopy.allRuntimes.get(x).intValue | ||
135 | ] | ||
136 | } | ||
131 | it.entries += createIntStatisticEntry => [ | 137 | it.entries += createIntStatisticEntry => [ |
132 | it.name = "TransformationExecutionTime" it.value = (method.statistics.transformationExecutionTime/1000000) as int | 138 | it.name = "TransformationExecutionTime" it.value = (method.statistics.transformationExecutionTime/1000000) as int |
133 | ] | 139 | ] |
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend index 2892723b..679b9600 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend | |||
@@ -9,11 +9,13 @@ import org.eclipse.emf.ecore.util.EcoreUtil | |||
9 | import org.eclipse.viatra.dse.base.ThreadContext | 9 | import org.eclipse.viatra.dse.base.ThreadContext |
10 | 10 | ||
11 | class SolutionStoreWithCopy { | 11 | class SolutionStoreWithCopy { |
12 | |||
12 | long runtime = 0 | 13 | long runtime = 0 |
13 | List<PartialInterpretation> solutions = new LinkedList | 14 | List<PartialInterpretation> solutions = new LinkedList |
14 | List<Map<EObject,EObject>> copyTraces = new LinkedList | 15 | List<Map<EObject,EObject>> copyTraces = new LinkedList |
15 | 16 | ||
16 | long initTime = System.nanoTime | 17 | long sartTime = System.nanoTime |
18 | List<Long> solutionTimes = new LinkedList | ||
17 | 19 | ||
18 | def newSolution(ThreadContext context) { | 20 | def newSolution(ThreadContext context) { |
19 | //print(System.nanoTime-initTime + ";") | 21 | //print(System.nanoTime-initTime + ";") |
@@ -25,10 +27,14 @@ class SolutionStoreWithCopy { | |||
25 | solutions.add(solutionCopy) | 27 | solutions.add(solutionCopy) |
26 | copyTraces.add(copier) | 28 | copyTraces.add(copier) |
27 | runtime += System.nanoTime - copyStart | 29 | runtime += System.nanoTime - copyStart |
30 | solutionTimes.add(System.nanoTime-sartTime) | ||
28 | } | 31 | } |
29 | def getSumRuntime() { | 32 | def getSumRuntime() { |
30 | return runtime | 33 | return runtime |
31 | } | 34 | } |
35 | def getAllRuntimes() { | ||
36 | return solutionTimes | ||
37 | } | ||
32 | def getSolutions() { | 38 | def getSolutions() { |
33 | solutions | 39 | solutions |
34 | } | 40 | } |