aboutsummaryrefslogtreecommitdiffstats
path: root/Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-05-14 15:52:06 -0400
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2020-05-14 15:52:06 -0400
commit076b3b1042269757a32ad902402529fe6bed50e6 (patch)
tree830d2b132191149b80fe99ac61b49714d771f25d /Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run
parentMerge branch 'master' of https://github.com/viatra/VIATRA-Generator (diff)
downloadVIATRA-Generator-076b3b1042269757a32ad902402529fe6bed50e6.tar.gz
VIATRA-Generator-076b3b1042269757a32ad902402529fe6bed50e6.tar.zst
VIATRA-Generator-076b3b1042269757a32ad902402529fe6bed50e6.zip
Adjust Pledge, handling of many households.
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run')
-rw-r--r--Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run/RunGeneratorConfig.xtend34
1 files changed, 20 insertions, 14 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run/RunGeneratorConfig.xtend b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run/RunGeneratorConfig.xtend
index 01f74f29..98bf7c83 100644
--- a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run/RunGeneratorConfig.xtend
+++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/src/run/RunGeneratorConfig.xtend
@@ -1,18 +1,17 @@
1package run 1package run
2 2
3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassTypeScope
4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification 3import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification
5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript 4import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript
6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ExactNumber
7import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification 5import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification
8import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask 6import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask
9import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntervallNumber 7import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntervallNumber
8import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ModelEntry
10import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectTypeScope 9import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectTypeScope
10import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification
11import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RuntimeEntry 11import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RuntimeEntry
12import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification 12import hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification
13import hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor 13import hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor
14import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor 14import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor
15import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
16import java.text.SimpleDateFormat 15import java.text.SimpleDateFormat
17import java.util.Date 16import java.util.Date
18import org.apache.commons.cli.BasicParser 17import org.apache.commons.cli.BasicParser
@@ -23,13 +22,11 @@ import org.apache.commons.cli.Option
23import org.apache.commons.cli.Options 22import org.apache.commons.cli.Options
24import org.apache.commons.cli.ParseException 23import org.apache.commons.cli.ParseException
25import org.eclipse.core.runtime.NullProgressMonitor 24import org.eclipse.core.runtime.NullProgressMonitor
26import org.eclipse.emf.ecore.resource.Resource
27import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
28 25
29class RunGeneratorConfig { 26class RunGeneratorConfig {
30 static var SIZE_LB = 20 27 static var SIZE_LB = 20
31 static var SIZE_UB = -1 28 static var SIZE_UB = -1
32 static var HOUSEHOLD = -1 29 static var HOUSEHOLD = 0
33 30
34 static var RUNS = 10 31 static var RUNS = 10
35 static var RUNTIME = 900 32 static var RUNTIME = 900
@@ -39,6 +36,10 @@ class RunGeneratorConfig {
39 static val INITIAL = true 36 static val INITIAL = true
40 37
41 def static void main(String[] args) { 38 def static void main(String[] args) {
39// Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("xmi", new XMIResourceFactoryImpl)
40// val workspace = new FileSystemWorkspace('''x/''', "")
41// workspace.initAndClear
42
42 val options = new Options() 43 val options = new Options()
43 44
44 val lb = new Option("lb", "lowerBound", true, "generated model Lower bound") 45 val lb = new Option("lb", "lowerBound", true, "generated model Lower bound")
@@ -101,7 +102,8 @@ class RunGeneratorConfig {
101 if (DOMAIN == "TaxationWithRoot") { 102 if (DOMAIN == "TaxationWithRoot") {
102 println("<<Households: " + HOUSEHOLD + ">>") 103 println("<<Households: " + HOUSEHOLD + ">>")
103 } 104 }
104 println() 105
106
105 107
106 val naming = DOMAIN + "/size" + toStr(SIZE_LB) + "to" + toStr(SIZE_UB) + "x" + RUNS 108 val naming = DOMAIN + "/size" + toStr(SIZE_LB) + "to" + toStr(SIZE_UB) + "x" + RUNS
107 109
@@ -128,15 +130,18 @@ class RunGeneratorConfig {
128 interval.maxUnlimited = false 130 interval.maxUnlimited = false
129 interval.maxNumber = SIZE_UB 131 interval.maxNumber = SIZE_UB
130 } 132 }
133// workspace.writeModel(config, '''x.xmi''')
134
135
131 136
132 if (DOMAIN == "TaxationWithRoot") { 137 if (DOMAIN == "TaxationWithRoot") {
133 if (HOUSEHOLD == -1) { 138 if (HOUSEHOLD > 0) {
134 scopeSpec.scopes.remove(1) 139 val pms = genTask.partialModel as PartialModelSpecification
135 } else { 140 val me = pms.entry.get(0) as ModelEntry
136 val clsScope = scopeSpec.scopes.get(1) as ClassTypeScope 141 val fs = me.path as FileSpecification
137 val num = clsScope.number as ExactNumber 142 fs.path = "inputs/Resource" + HOUSEHOLD + "hh.xmi"
138 num.exactNumber = HOUSEHOLD 143 println("<<Using " + fs.path + " as initial model>>")
139 } 144 }
140 } 145 }
141 146
142 // Runtime 147 // Runtime
@@ -155,6 +160,7 @@ class RunGeneratorConfig {
155 stats.path = statsPath 160 stats.path = statsPath
156 161
157 // Run Generator 162 // Run Generator
163 println()
158 executor.executeScript(config, new NullProgressMonitor) 164 executor.executeScript(config, new NullProgressMonitor)
159 165
160 println() 166 println()