aboutsummaryrefslogtreecommitdiffstats
path: root/Solvers
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszka@152.66.252.189>2017-06-16 01:52:22 +0200
committerLibravatar OszkarSemerath <oszka@152.66.252.189>2017-06-16 01:52:22 +0200
commitea3b5cfc3e7dc8b472cd7448f2c43477a4c33553 (patch)
treed00e8844ad43b1e1f6996306d325f14ac9d7b27c /Solvers
parentInstruction to install alloy added (diff)
downloadVIATRA-Generator-ea3b5cfc3e7dc8b472cd7448f2c43477a4c33553.tar.gz
VIATRA-Generator-ea3b5cfc3e7dc8b472cd7448f2c43477a4c33553.tar.zst
VIATRA-Generator-ea3b5cfc3e7dc8b472cd7448f2c43477a4c33553.zip
Divers Generation times are added to statisticsexample scenario
Diffstat (limited to 'Solvers')
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/patterns/PatternProvider.xtend3
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/ViatraReasoner.xtend6
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/dse/SolutionStoreWithCopy.xtend8
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
32class PatternProvider { 32class 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
9import org.eclipse.viatra.dse.base.ThreadContext 9import org.eclipse.viatra.dse.base.ThreadContext
10 10
11class SolutionStoreWithCopy { 11class 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 }