From 8da9823cb699c09d9e1818f43935ce61b36e611a Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Sun, 17 Mar 2019 18:01:46 +0100 Subject: [PATCH] cleanup project, rename jastadd, use java benchmark runner. --- ...way-batch-1-jastadd-manual-intrinsic.json} | 0 ...on => railway-batch-1-jastadd-manual.json} | 0 ...on => railway-batch-1-jastadd-relast.json} | 0 ...way-batch-2-jastadd-manual-intrinsic.json} | 0 ...on => railway-batch-2-jastadd-manual.json} | 0 ...on => railway-batch-2-jastadd-relast.json} | 0 ...ay-inject-1-jastadd-manual-intrinsic.json} | 0 ...n => railway-inject-1-jastadd-manual.json} | 0 ...n => railway-inject-1-jastadd-relast.json} | 0 ...ay-inject-2-jastadd-manual-intrinsic.json} | 0 ...n => railway-inject-2-jastadd-manual.json} | 0 ...n => railway-inject-2-jastadd-relast.json} | 0 ...ay-repair-1-jastadd-manual-intrinsic.json} | 0 ...n => railway-repair-1-jastadd-manual.json} | 0 ...n => railway-repair-1-jastadd-relast.json} | 0 ...ay-repair-2-jastadd-manual-intrinsic.json} | 0 ...n => railway-repair-2-jastadd-manual.json} | 0 ...n => railway-repair-2-jastadd-relast.json} | 0 trainbenchmark/results/.gitignore | 1 - trainbenchmark/settings.gradle | 21 +- .../build.gradle | 81 --- .../inf/st/train/scripts/BenchmarkMain.java | 144 ------ .../BenchmarkSettingsAvailableFormats.java | 76 --- .../BenchmarkSettingsAvailableTools.java | 71 --- .../scripts/BenchmarkSettingsBasics.java | 134 ----- .../BenchmarkSettingsVariantWorkloads.java | 19 - .../scripts/BenchmarkSettingsWorkload.java | 81 --- .../scripts/BenchmarkSettingsWorkloads.java | 29 -- .../inf/st/train/scripts/GenerateMain.java | 135 ----- .../tudresden/inf/st/train/scripts/Utils.java | 99 ---- .../src/main/resources/basic-settings.json | 29 -- .../.editorconfig | 0 .../build.gradle | 16 + .../ManualIntrinsicGeneratorMain.java} | 10 +- .../jastadd/ManualIntrinsicSerializer.java} | 12 +- .../ManualIntrinsicGeneratorConfig.java | 17 + ...ManualIntrinsicGeneratorConfigBuilder.java | 13 + .../.editorconfig | 10 + .../build.gradle | 16 + .../jastadd/ManualGeneratorMain.java | 19 + .../generator/jastadd/ManualSerializer.java | 479 +++++++++++++++++ .../jastadd/config/ManualGeneratorConfig.java | 20 + .../config/ManualGeneratorConfigBuilder.java | 16 + .../.editorconfig | 10 + .../build.gradle | 17 + .../jastadd}/RelASTGeneratorMain.java | 4 +- .../generator/jastadd}/RelASTSerializer.java | 8 +- .../config/RelASTGeneratorConfig.java | 4 +- .../config/RelASTGeneratorConfigBuilder.java | 13 + .../build.gradle | 16 - .../config/Json4AgSpecialGeneratorConfig.java | 17 - .../Json4AgSpecialGeneratorConfigBuilder.java | 13 - .../build.gradle | 16 - .../hand-crafted.json | 287 ----------- .../json4ag/Json4AgGeneratorMain.java | 20 - .../generator/json4ag/Json4AgSerializer.java | 481 ------------------ .../config/Json4AgGeneratorConfig.java | 20 - .../config/Json4AgGeneratorConfigBuilder.java | 16 - .../build.gradle | 17 - .../config/RelASTGeneratorConfigBuilder.java | 13 - .../merge_results.json | 15 +- .../trainbenchmark-reporting/tool-list.csv | 29 +- .../trainbenchmark-scripts/.editorconfig | 10 + .../trainbenchmark-scripts/build.gradle | 191 +++---- trainbenchmark/trainbenchmark-scripts/diff.sh | 3 - .../src-template/BenchmarkScript.groovy | 155 ------ .../src-template/GeneratorScript.groovy | 50 -- ...ndividualBenchmarkIncrementalScript.groovy | 125 ----- .../IndividualBenchmarkInjectScript.groovy | 124 ----- .../IndividualBenchmarkRepairScript.groovy | 123 ----- .../src-template/MemoryScript.groovy | 130 ----- .../src-template/QueryPlanTester.groovy | 77 --- .../trainbenchmark-scripts/src/.gitignore | 1 - .../inf/st/train/scripts/BenchmarkMain.java | 145 ++++++ .../BenchmarkSettingsAvailableFormats.java | 80 +++ .../BenchmarkSettingsAvailableTools.java | 73 +++ .../scripts/BenchmarkSettingsBasics.java | 147 ++++++ .../BenchmarkSettingsVariantWorkloads.java | 19 + .../scripts/BenchmarkSettingsWorkload.java | 81 +++ .../scripts/BenchmarkSettingsWorkloads.java | 28 + .../st/train/scripts/BenchmarkVariant.java | 8 +- .../inf/st/train/scripts/GenerateMain.java | 134 +++++ .../tudresden/inf/st/train/scripts/Utils.java | 99 ++++ .../src/main/resources/.gitignore | 0 .../src/main/resources/basic-settings.json | 35 ++ .../src/main/resources/workloads.json | 0 .../JastaddAbstractBenchmarkScenario.java | 3 +- .../.editorconfig | 0 .../build.gradle | 0 .../src/main/jastadd/Helpers.jrag | 0 .../src/main/jastadd/References.jadd | 0 .../src/main/jastadd/TreeNavigation.jrag | 0 .../queries/ConnectedSegmentsMatch.jrag | 0 .../src/main/jastadd/queries/PosLength.jrag | 0 .../jastadd/queries/RouteSensorMatch.jrag | 0 .../jastadd/queries/SemaphoreNeighbors.jrag | 0 .../jastadd/queries/SwitchMonitoredMatch.jrag | 0 .../main/jastadd/queries/SwitchSetMatch.jrag | 0 .../src/main/jastadd/train.ast | 0 .../train/jastadd/driver/JastaddDriver.java | 2 +- .../deserializer/ASTNodeDeserializer.java | 0 ...TransformationInjectConnectedSegments.java | 0 .../JastaddTransformationInjectPosLength.java | 0 ...astaddTransformationInjectRouteSensor.java | 0 ...TransformationInjectSemaphoreNeighbor.java | 0 ...ddTransformationInjectSwitchMonitored.java | 0 .../JastaddTransformationInjectSwitchSet.java | 0 ...TransformationRepairConnectedSegments.java | 0 .../JastaddTransformationRepairPosLength.java | 0 ...astaddTransformationRepairRouteSensor.java | 0 ...TransformationRepairSemaphoreNeighbor.java | 0 ...ddTransformationRepairSwitchMonitored.java | 0 .../JastaddTransformationRepairSwitchSet.java | 0 .../.editorconfig | 0 .../.gitignore | 0 .../build.gradle | 9 +- .../IntrinsicIncrementalBenchmarkMain.java | 13 + ...IntrinsicIncrementalBenchmarkScenario.java | 12 + .../IntrinsicIncrementalBenchmarkConfig.java} | 8 +- ...nsicIncrementalBenchmarkConfigBuilder.java | 13 + .../st/train/jastadd/test/JastaddRefTest.java | 20 + .../.editorconfig | 0 .../.gitignore | 0 .../build.gradle | 9 +- .../train/jastadd/IntrinsicBenchmarkMain.java | 13 + .../jastadd/IntrinsicBenchmarkScenario.java | 12 + .../config/IntrinsicBenchmarkConfig.java} | 8 +- .../IntrinsicBenchmarkConfigBuilder.java | 13 + .../st/train/jastadd/test/IntrinsicTest.java | 20 + .../.editorconfig | 0 .../.gitignore | 0 .../build.gradle | 12 +- .../ManualRelastIncrementalBenchmarkMain.java | 13 + ...ualRelastIncrementalBenchmarkScenario.java | 12 + ...anualRelastIncrementalBenchmarkConfig.java | 21 + ...lastIncrementalBenchmarkConfigBuilder.java | 13 + .../train/jastadd/driver/JastaddDriver.java | 2 +- .../deserializer/ASTNodeDeserializer.java | 0 .../jastadd/test/RelASTIncrementalTest.java | 20 + .../.editorconfig | 0 .../.gitignore | 0 .../build.gradle | 12 +- .../jastadd/ManualRelastBenchmarkMain.java | 13 + .../ManualRelastBenchmarkScenario.java | 12 + .../config/ManualRelastBenchmarkConfig.java} | 8 +- .../ManualRelastBenchmarkConfigBuilder.java | 13 + .../train/jastadd/driver/JastaddDriver.java | 2 +- .../deserializer/ASTNodeDeserializer.java | 0 .../inf/st/train/jastadd/test/RelASTTest.java | 10 +- .../train/jastadd/driver/JastaddDriver.java | 2 +- .../build.gradle | 3 +- .../train/jastadd/JastaddBenchmarkMain.java | 13 - ...ameLookupIncrementalBenchmarkScenario.java | 12 - .../NameLookupIncrementalBenchmarkMain.java | 13 + ...ameLookupIncrementalBenchmarkScenario.java | 12 + ...okupIncrementalBenchmarkConfigBuilder.java | 13 - ...NameLookupIncrementalBenchmarkConfig.java} | 6 +- ...okupIncrementalBenchmarkConfigBuilder.java | 13 + .../jastadd/test/JastaddIncrementalTest.java | 10 +- .../build.gradle | 11 +- .../train/jastadd/JastaddBenchmarkMain.java | 13 - .../JastaddNameLookupBenchmarkScenario.java | 11 - .../jastadd/NameLookupBenchmarkMain.java | 13 + .../jastadd/NameLookupBenchmarkScenario.java | 11 + ...staddNameLookupBenchmarkConfigBuilder.java | 13 - ...ig.java => NameLookupBenchmarkConfig.java} | 6 +- .../NameLookupBenchmarkConfigBuilder.java | 13 + .../st/train/jastadd/test/JastaddTest.java | 10 +- .../train/jastadd/JastaddBenchmarkMain.java | 13 - ...OptimizedIncrementalBenchmarkScenario.java | 12 - ...izedIncrementalBenchmarkConfigBuilder.java | 13 - .../st/train/jastadd/test/JastaddRefTest.java | 20 - .../train/jastadd/JastaddBenchmarkMain.java | 13 - .../JastaddOptimizedBenchmarkScenario.java | 12 - ...astaddOptimizedBenchmarkConfigBuilder.java | 13 - .../jastadd/test/JastaddOptimizedTest.java | 20 - .../.editorconfig | 0 .../build.gradle | 0 .../src/main/jastadd/.gitignore | 0 .../src/main/jastadd/ASTPrinting.jadd | 0 .../src/main/jastadd/RefList.jadd | 0 .../src/main/jastadd/Train.relast | 0 .../src/main/jastadd/TreeNavigation.jrag | 0 .../queries/ConnectedSegmentsMatch.jrag | 0 .../src/main/jastadd/queries/PosLength.jrag | 0 .../jastadd/queries/RouteSensorMatch.jrag | 0 .../jastadd/queries/SemaphoreNeighbors.jrag | 0 .../jastadd/queries/SwitchMonitoredMatch.jrag | 0 .../main/jastadd/queries/SwitchSetMatch.jrag | 0 ...TransformationInjectConnectedSegments.java | 0 .../JastaddTransformationInjectPosLength.java | 0 ...astaddTransformationInjectRouteSensor.java | 0 ...TransformationInjectSemaphoreNeighbor.java | 0 ...ddTransformationInjectSwitchMonitored.java | 0 .../JastaddTransformationInjectSwitchSet.java | 0 ...TransformationRepairConnectedSegments.java | 0 .../JastaddTransformationRepairPosLength.java | 0 ...astaddTransformationRepairRouteSensor.java | 0 ...TransformationRepairSemaphoreNeighbor.java | 0 ...ddTransformationRepairSwitchMonitored.java | 0 .../JastaddTransformationRepairSwitchSet.java | 0 .../build.gradle | 12 +- .../train/jastadd/JastaddBenchmarkMain.java | 13 - .../JastaddRelASTBenchmarkScenario.java | 12 - .../RelASTIncrementalBenchmarkMain.java | 13 + .../RelASTIncrementalBenchmarkScenario.java | 12 + ...staddRelASTIncrementalBenchmarkConfig.java | 21 - ...lASTIncrementalBenchmarkConfigBuilder.java | 13 - .../RelASTIncrementalBenchmarkConfig.java | 21 + ...lASTIncrementalBenchmarkConfigBuilder.java | 13 + .../train/jastadd/driver/JastaddDriver.java | 2 +- .../test/RelASTSerializerIncrementalTest.java | 10 +- .../build.gradle | 12 +- .../train/jastadd/JastaddBenchmarkMain.java | 13 - .../JastaddRelASTBenchmarkScenario.java | 12 - .../st/train/jastadd/RelASTBenchmarkMain.java | 13 + .../jastadd/RelASTBenchmarkScenario.java | 12 + .../JastaddRelASTBenchmarkConfigBuilder.java | 13 - ...Config.java => RelASTBenchmarkConfig.java} | 6 +- .../config/RelASTBenchmarkConfigBuilder.java | 13 + .../train/jastadd/driver/JastaddDriver.java | 2 +- .../jastadd/test/RelASTSerializerTest.java | 10 +- .../train/jastadd/JastaddBenchmarkMain.java | 13 - ...ecializedIncrementalBenchmarkScenario.java | 12 - ...SpecializedIncrementalBenchmarkConfig.java | 22 - ...izedIncrementalBenchmarkConfigBuilder.java | 13 - .../jastadd/test/RelASTIncrementalTest.java | 20 - .../train/jastadd/JastaddBenchmarkMain.java | 13 - .../JastaddSpecializedBenchmarkScenario.java | 12 - ...taddSpecializedBenchmarkConfigBuilder.java | 13 - 230 files changed, 2097 insertions(+), 3303 deletions(-) rename trainbenchmark/models/{railway-batch-1-ag-special.json => railway-batch-1-jastadd-manual-intrinsic.json} (100%) rename trainbenchmark/models/{railway-batch-1-ag.json => railway-batch-1-jastadd-manual.json} (100%) rename trainbenchmark/models/{railway-batch-1-relast.json => railway-batch-1-jastadd-relast.json} (100%) rename trainbenchmark/models/{railway-batch-2-ag-special.json => railway-batch-2-jastadd-manual-intrinsic.json} (100%) rename trainbenchmark/models/{railway-batch-2-ag.json => railway-batch-2-jastadd-manual.json} (100%) rename trainbenchmark/models/{railway-batch-2-relast.json => railway-batch-2-jastadd-relast.json} (100%) rename trainbenchmark/models/{railway-inject-1-ag-special.json => railway-inject-1-jastadd-manual-intrinsic.json} (100%) rename trainbenchmark/models/{railway-inject-1-ag.json => railway-inject-1-jastadd-manual.json} (100%) rename trainbenchmark/models/{railway-inject-1-relast.json => railway-inject-1-jastadd-relast.json} (100%) rename trainbenchmark/models/{railway-inject-2-ag-special.json => railway-inject-2-jastadd-manual-intrinsic.json} (100%) rename trainbenchmark/models/{railway-inject-2-ag.json => railway-inject-2-jastadd-manual.json} (100%) rename trainbenchmark/models/{railway-inject-2-relast.json => railway-inject-2-jastadd-relast.json} (100%) rename trainbenchmark/models/{railway-repair-1-ag-special.json => railway-repair-1-jastadd-manual-intrinsic.json} (100%) rename trainbenchmark/models/{railway-repair-1-ag.json => railway-repair-1-jastadd-manual.json} (100%) rename trainbenchmark/models/{railway-repair-1-relast.json => railway-repair-1-jastadd-relast.json} (100%) rename trainbenchmark/models/{railway-repair-2-ag-special.json => railway-repair-2-jastadd-manual-intrinsic.json} (100%) rename trainbenchmark/models/{railway-repair-2-ag.json => railway-repair-2-jastadd-manual.json} (100%) rename trainbenchmark/models/{railway-repair-2-relast.json => railway-repair-2-jastadd-relast.json} (100%) delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/build.gradle delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java delete mode 100644 trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/basic-settings.json rename trainbenchmark/{trainbenchmark-generator-relast => trainbenchmark-generator-jastadd-manual-intrinsic}/.editorconfig (100%) create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle rename trainbenchmark/{trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialGeneratorMain.java => trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicGeneratorMain.java} (50%) rename trainbenchmark/{trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialSerializer.java => trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicSerializer.java} (97%) create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfig.java create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfigBuilder.java create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual/.editorconfig create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualGeneratorMain.java create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualSerializer.java create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfig.java create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfigBuilder.java create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-relast/.editorconfig create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle rename trainbenchmark/{trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast => trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd}/RelASTGeneratorMain.java (79%) rename trainbenchmark/{trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast => trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd}/RelASTSerializer.java (96%) rename trainbenchmark/{trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast => trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd}/config/RelASTGeneratorConfig.java (78%) create mode 100644 trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/RelASTGeneratorConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag-special/build.gradle delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfig.java delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag/build.gradle delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag/hand-crafted.json delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgGeneratorMain.java delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgSerializer.java delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfig.java delete mode 100644 trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-generator-relast/build.gradle delete mode 100644 trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/config/RelASTGeneratorConfigBuilder.java create mode 100644 trainbenchmark/trainbenchmark-scripts/.editorconfig delete mode 100755 trainbenchmark/trainbenchmark-scripts/diff.sh delete mode 100644 trainbenchmark/trainbenchmark-scripts/src-template/BenchmarkScript.groovy delete mode 100644 trainbenchmark/trainbenchmark-scripts/src-template/GeneratorScript.groovy delete mode 100644 trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkIncrementalScript.groovy delete mode 100644 trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy delete mode 100644 trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy delete mode 100644 trainbenchmark/trainbenchmark-scripts/src-template/MemoryScript.groovy delete mode 100644 trainbenchmark/trainbenchmark-scripts/src-template/QueryPlanTester.groovy delete mode 100644 trainbenchmark/trainbenchmark-scripts/src/.gitignore create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java rename trainbenchmark/{trainbenchmark-alternate-scripts => trainbenchmark-scripts}/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkVariant.java (67%) create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java rename trainbenchmark/{trainbenchmark-alternate-scripts => trainbenchmark-scripts}/src/main/resources/.gitignore (100%) create mode 100644 trainbenchmark/trainbenchmark-scripts/src/main/resources/basic-settings.json rename trainbenchmark/{trainbenchmark-alternate-scripts => trainbenchmark-scripts}/src/main/resources/workloads.json (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/.editorconfig (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/build.gradle (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/Helpers.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/References.jadd (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/TreeNavigation.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/queries/PosLength.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/queries/RouteSensorMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/queries/SemaphoreNeighbors.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/queries/SwitchMonitoredMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/queries/SwitchSetMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/jastadd/train.ast (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java (97%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-base => trainbenchmark-tool-jastadd-intrinsic-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-incremental => trainbenchmark-tool-jastadd-intrinsic-incremental}/.editorconfig (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-incremental => trainbenchmark-tool-jastadd-intrinsic-incremental}/.gitignore (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-incremental => trainbenchmark-tool-jastadd-intrinsic-incremental}/build.gradle (84%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkScenario.java rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfig.java => trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfig.java} (53%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfigBuilder.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized => trainbenchmark-tool-jastadd-intrinsic}/.editorconfig (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized => trainbenchmark-tool-jastadd-intrinsic}/.gitignore (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized => trainbenchmark-tool-jastadd-intrinsic}/build.gradle (84%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkScenario.java rename trainbenchmark/{trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfig.java => trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfig.java} (57%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfigBuilder.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/test/java/de/tudresden/inf/st/train/jastadd/test/IntrinsicTest.java rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-manual-relast-incremental}/.editorconfig (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-incremental => trainbenchmark-tool-jastadd-manual-relast-incremental}/.gitignore (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-incremental => trainbenchmark-tool-jastadd-manual-relast-incremental}/build.gradle (84%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkScenario.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfig.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfigBuilder.java rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized => trainbenchmark-tool-jastadd-manual-relast-incremental}/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java (97%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-incremental => trainbenchmark-tool-jastadd-manual-relast-incremental}/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java (100%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-incremental => trainbenchmark-tool-jastadd-manual-relast}/.editorconfig (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized => trainbenchmark-tool-jastadd-manual-relast}/.gitignore (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized => trainbenchmark-tool-jastadd-manual-relast}/build.gradle (84%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkScenario.java rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfig.java => trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfig.java} (56%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfigBuilder.java rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-incremental => trainbenchmark-tool-jastadd-manual-relast}/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java (97%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized => trainbenchmark-tool-jastadd-manual-relast}/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized => trainbenchmark-tool-jastadd-manual-relast}/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTTest.java (51%) delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupIncrementalBenchmarkScenario.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupIncrementalBenchmarkConfigBuilder.java rename trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/{JastaddNameLookupIncrementalBenchmarkConfig.java => NameLookupIncrementalBenchmarkConfig.java} (55%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupIncrementalBenchmarkConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupBenchmarkScenario.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupBenchmarkConfigBuilder.java rename trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/{JastaddNameLookupBenchmarkConfig.java => NameLookupBenchmarkConfig.java} (58%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupBenchmarkConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedIncrementalBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddOptimizedTest.java rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized => trainbenchmark-tool-jastadd-relast-base}/.editorconfig (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/build.gradle (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/.gitignore (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/ASTPrinting.jadd (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/RefList.jadd (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/Train.relast (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/TreeNavigation.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/queries/PosLength.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/queries/RouteSensorMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/queries/SemaphoreNeighbors.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/queries/SwitchMonitoredMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/jastadd/queries/SwitchSetMatch.jrag (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java (100%) rename trainbenchmark/{trainbenchmark-tool-jastadd-specialized-base => trainbenchmark-tool-jastadd-relast-base}/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java (100%) delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfig.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfigBuilder.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfig.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkMain.java create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTBenchmarkConfigBuilder.java rename trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/{JastaddRelASTBenchmarkConfig.java => RelASTBenchmarkConfig.java} (57%) create mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTBenchmarkConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedIncrementalBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfig.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfigBuilder.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedBenchmarkScenario.java delete mode 100644 trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfigBuilder.java diff --git a/trainbenchmark/models/railway-batch-1-ag-special.json b/trainbenchmark/models/railway-batch-1-jastadd-manual-intrinsic.json similarity index 100% rename from trainbenchmark/models/railway-batch-1-ag-special.json rename to trainbenchmark/models/railway-batch-1-jastadd-manual-intrinsic.json diff --git a/trainbenchmark/models/railway-batch-1-ag.json b/trainbenchmark/models/railway-batch-1-jastadd-manual.json similarity index 100% rename from trainbenchmark/models/railway-batch-1-ag.json rename to trainbenchmark/models/railway-batch-1-jastadd-manual.json diff --git a/trainbenchmark/models/railway-batch-1-relast.json b/trainbenchmark/models/railway-batch-1-jastadd-relast.json similarity index 100% rename from trainbenchmark/models/railway-batch-1-relast.json rename to trainbenchmark/models/railway-batch-1-jastadd-relast.json diff --git a/trainbenchmark/models/railway-batch-2-ag-special.json b/trainbenchmark/models/railway-batch-2-jastadd-manual-intrinsic.json similarity index 100% rename from trainbenchmark/models/railway-batch-2-ag-special.json rename to trainbenchmark/models/railway-batch-2-jastadd-manual-intrinsic.json diff --git a/trainbenchmark/models/railway-batch-2-ag.json b/trainbenchmark/models/railway-batch-2-jastadd-manual.json similarity index 100% rename from trainbenchmark/models/railway-batch-2-ag.json rename to trainbenchmark/models/railway-batch-2-jastadd-manual.json diff --git a/trainbenchmark/models/railway-batch-2-relast.json b/trainbenchmark/models/railway-batch-2-jastadd-relast.json similarity index 100% rename from trainbenchmark/models/railway-batch-2-relast.json rename to trainbenchmark/models/railway-batch-2-jastadd-relast.json diff --git a/trainbenchmark/models/railway-inject-1-ag-special.json b/trainbenchmark/models/railway-inject-1-jastadd-manual-intrinsic.json similarity index 100% rename from trainbenchmark/models/railway-inject-1-ag-special.json rename to trainbenchmark/models/railway-inject-1-jastadd-manual-intrinsic.json diff --git a/trainbenchmark/models/railway-inject-1-ag.json b/trainbenchmark/models/railway-inject-1-jastadd-manual.json similarity index 100% rename from trainbenchmark/models/railway-inject-1-ag.json rename to trainbenchmark/models/railway-inject-1-jastadd-manual.json diff --git a/trainbenchmark/models/railway-inject-1-relast.json b/trainbenchmark/models/railway-inject-1-jastadd-relast.json similarity index 100% rename from trainbenchmark/models/railway-inject-1-relast.json rename to trainbenchmark/models/railway-inject-1-jastadd-relast.json diff --git a/trainbenchmark/models/railway-inject-2-ag-special.json b/trainbenchmark/models/railway-inject-2-jastadd-manual-intrinsic.json similarity index 100% rename from trainbenchmark/models/railway-inject-2-ag-special.json rename to trainbenchmark/models/railway-inject-2-jastadd-manual-intrinsic.json diff --git a/trainbenchmark/models/railway-inject-2-ag.json b/trainbenchmark/models/railway-inject-2-jastadd-manual.json similarity index 100% rename from trainbenchmark/models/railway-inject-2-ag.json rename to trainbenchmark/models/railway-inject-2-jastadd-manual.json diff --git a/trainbenchmark/models/railway-inject-2-relast.json b/trainbenchmark/models/railway-inject-2-jastadd-relast.json similarity index 100% rename from trainbenchmark/models/railway-inject-2-relast.json rename to trainbenchmark/models/railway-inject-2-jastadd-relast.json diff --git a/trainbenchmark/models/railway-repair-1-ag-special.json b/trainbenchmark/models/railway-repair-1-jastadd-manual-intrinsic.json similarity index 100% rename from trainbenchmark/models/railway-repair-1-ag-special.json rename to trainbenchmark/models/railway-repair-1-jastadd-manual-intrinsic.json diff --git a/trainbenchmark/models/railway-repair-1-ag.json b/trainbenchmark/models/railway-repair-1-jastadd-manual.json similarity index 100% rename from trainbenchmark/models/railway-repair-1-ag.json rename to trainbenchmark/models/railway-repair-1-jastadd-manual.json diff --git a/trainbenchmark/models/railway-repair-1-relast.json b/trainbenchmark/models/railway-repair-1-jastadd-relast.json similarity index 100% rename from trainbenchmark/models/railway-repair-1-relast.json rename to trainbenchmark/models/railway-repair-1-jastadd-relast.json diff --git a/trainbenchmark/models/railway-repair-2-ag-special.json b/trainbenchmark/models/railway-repair-2-jastadd-manual-intrinsic.json similarity index 100% rename from trainbenchmark/models/railway-repair-2-ag-special.json rename to trainbenchmark/models/railway-repair-2-jastadd-manual-intrinsic.json diff --git a/trainbenchmark/models/railway-repair-2-ag.json b/trainbenchmark/models/railway-repair-2-jastadd-manual.json similarity index 100% rename from trainbenchmark/models/railway-repair-2-ag.json rename to trainbenchmark/models/railway-repair-2-jastadd-manual.json diff --git a/trainbenchmark/models/railway-repair-2-relast.json b/trainbenchmark/models/railway-repair-2-jastadd-relast.json similarity index 100% rename from trainbenchmark/models/railway-repair-2-relast.json rename to trainbenchmark/models/railway-repair-2-jastadd-relast.json diff --git a/trainbenchmark/results/.gitignore b/trainbenchmark/results/.gitignore index 59b9621ba..d6b7ef32c 100644 --- a/trainbenchmark/results/.gitignore +++ b/trainbenchmark/results/.gitignore @@ -1,3 +1,2 @@ * !.gitignore -!diff-test.sh diff --git a/trainbenchmark/settings.gradle b/trainbenchmark/settings.gradle index 6f80f4b52..be95dd21b 100644 --- a/trainbenchmark/settings.gradle +++ b/trainbenchmark/settings.gradle @@ -4,12 +4,11 @@ include ':trainbenchmark-format-emf-model' include ':trainbenchmark-generator' include ':trainbenchmark-generator-emf' include ':trainbenchmark-generator-graph-tinkerpop' -include ':trainbenchmark-generator-json4ag' -include ':trainbenchmark-generator-json4ag-special' -include ':trainbenchmark-generator-relast' +include ':trainbenchmark-generator-jastadd-manual' +include ':trainbenchmark-generator-jastadd-manual-intrinsic' +include ':trainbenchmark-generator-jastadd-relast' include ':trainbenchmark-generator-dot' include ':trainbenchmark-reporting' -//include ':trainbenchmark-scripts' include ':trainbenchmark-server' include ':trainbenchmark-tool' include ':trainbenchmark-tool-emf' @@ -17,15 +16,15 @@ include ':trainbenchmark-tool-emf' include ':trainbenchmark-tool-jastadd-namelookup' //include ':trainbenchmark-tool-jastadd-namelookup-base' include ':trainbenchmark-tool-jastadd-namelookup-incremental' -include ':trainbenchmark-tool-jastadd-optimized' -//include ':trainbenchmark-tool-jastadd-optimized-base' -include ':trainbenchmark-tool-jastadd-optimized-incremental' -include ':trainbenchmark-tool-jastadd-specialized' +include ':trainbenchmark-tool-jastadd-intrinsic' +//include ':trainbenchmark-tool-jastadd-intrinsic-base' +include ':trainbenchmark-tool-jastadd-intrinsic-incremental' +include ':trainbenchmark-tool-jastadd-manual-relast' include ':trainbenchmark-tool-jastadd-relast' -//include ':trainbenchmark-tool-jastadd-specialized-base' -include ':trainbenchmark-tool-jastadd-specialized-incremental' +//include ':trainbenchmark-tool-jastadd-relast-base' +include ':trainbenchmark-tool-jastadd-manual-relast-incremental' include ':trainbenchmark-tool-jastadd-relast-incremental' include ':trainbenchmark-tool-tinkergraph' include ':trainbenchmark-tool-viatra' include ':trainbenchmark-tool-viatra-patterns' -include ':trainbenchmark-alternate-scripts' \ No newline at end of file +include ':trainbenchmark-scripts' \ No newline at end of file diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/build.gradle b/trainbenchmark/trainbenchmark-alternate-scripts/build.gradle deleted file mode 100644 index d8d87dc65..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/build.gradle +++ /dev/null @@ -1,81 +0,0 @@ -dependencies { - compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.2.3' - compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.3.0' - - compile project(':trainbenchmark-generator') - compile project(':trainbenchmark-generator-emf') - compile project(':trainbenchmark-generator-graph-tinkerpop') - compile project(':trainbenchmark-generator-json4ag') - compile project(':trainbenchmark-generator-json4ag-special') - compile project(':trainbenchmark-generator-relast') - compile project(':trainbenchmark-generator-dot') - compile project(':trainbenchmark-tool') - compile project(':trainbenchmark-tool-jastadd-namelookup') - compile project(':trainbenchmark-tool-jastadd-namelookup-incremental') - compile project(':trainbenchmark-tool-jastadd-optimized') - compile project(':trainbenchmark-tool-jastadd-optimized-incremental') - compile project(':trainbenchmark-tool-jastadd-specialized') - compile project(':trainbenchmark-tool-jastadd-specialized-incremental') - compile project(':trainbenchmark-tool-jastadd-relast') - compile project(':trainbenchmark-tool-jastadd-relast-incremental') - compile project(':trainbenchmark-tool-tinkergraph') - compile project(':trainbenchmark-tool-viatra') -} - -task cleanResults(type: Delete) { - doLast { - def resultDir = "../results" - file(resultDir).eachDir{ dir -> - delete "${dir}" - } - } -} - -task combinedBenchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - description = 'Runs the \'classic\' TrainBenchmark script' - main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' - classpath = sourceSets.main.runtimeClasspath - args 'combined' -} - -task individualRepairBenchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' - classpath = sourceSets.main.runtimeClasspath - args 'individual_repair' -} - -task individualInjectBenchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' - classpath = sourceSets.main.runtimeClasspath - args 'individual_inject' -} - -task individualIncrementalBenchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' - classpath = sourceSets.main.runtimeClasspath - args 'individual_incremental' -} - - -task generate(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - description = 'Generates the models for all benchmarks' - main = 'de.tudresden.inf.st.train.scripts.GenerateMain' - classpath = sourceSets.main.runtimeClasspath -} - -//task memory(dependsOn: 'classes', type: JavaExec) { -// group = 'Benchmark' -// main = 'MemoryScript' -// classpath = sourceSets.main.runtimeClasspath -//} -// -//task qpt(dependsOn: 'classes', type: JavaExec) { -// group = 'Benchmark' -// main = 'QueryPlanTester' -// classpath = sourceSets.main.runtimeClasspath -//} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java deleted file mode 100644 index c5dca00cf..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java +++ /dev/null @@ -1,144 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.ObjectMapper; -import hu.bme.mit.trainbenchmark.benchmark.config.*; -import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper; -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner; -import hu.bme.mit.trainbenchmark.config.ExecutionConfig; -import hu.bme.mit.trainbenchmark.constants.RailwayOperation; - -import java.io.IOException; -import java.util.*; - -/** - * Main entry point to start benchmarks. - * Created by rschoene on 10/12/17. - */ -public class BenchmarkMain { - - @SuppressWarnings("unchecked") - private static void runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, - ExecutionConfig ec, ModelSetConfig modelSetConfig, BenchmarkSettingsBasics bbs) { - Map<String, String> jvmSettingsMap = Utils.createJvmSettingsMap(bbs); - String jvmDefaultSettings = jvmSettingsMap.getOrDefault("*", - "-Xms{Xms} -Xmx{Xmx} -server -Xverify:none"); - try { - for (int size = modelSetConfig.getMinSize(); size <= modelSetConfig.getMaxSize(); size *= 2) { - String modelFilename = "railway-" + modelSetConfig.getModelVariant() + "-" + size; - - System.out.println("------------------------------------------------------------"); - System.out.println("Model: " + modelFilename); - System.out.println("------------------------------------------------------------"); - - configBaseBuilder.setModelFilename(modelFilename); - BenchmarkConfigBase configBase = configBaseBuilder.createConfigBase(); - BenchmarkConfig config = (BenchmarkConfig) configBuilder.setConfigBase(configBase).createConfig(); - - if (!bbs.isDryRun()) { - ResultHelper.prepare(config, ec); - } - String jvmSetting = jvmSettingsMap.getOrDefault(config.getToolName(), jvmDefaultSettings); - - int exitValue = BenchmarkRunner.runPerformanceBenchmark(config, ec, jvmSetting); - if (exitValue != 0) { - System.out.println("Timeout or error occurred, skipping models for larger sizes. Error code: " + exitValue); - break; - } - } - } catch (InterruptedException | IOException e) { - System.out.println("Exception occurred during execution."); - e.printStackTrace(); - } - } - - public static void main(String args[]) throws Exception { - // set benchmark variant from program arguments - if (args.length == 0) { - System.err.println("Need to specify one argument identifying the benchmark variant"); - System.exit(1); - } - String benchmarkVariant = args[0]; - - // read basic settings (min, maxsize, etc.) - ObjectMapper mapper = Utils.getMapper(); - BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json", - BenchmarkSettingsBasics.class); - try { - BenchmarkSettingsBasics loca_bbs = Utils.readFromResource(mapper, "local-basic-settings.json", - BenchmarkSettingsBasics.class); - Utils.updateBasicsWithLocal(bbs, loca_bbs); - } catch (IOException e) { - System.out.println("No file 'local-basic-settings.json' found. Using default!"); - } - - // import tools to use - List<BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> builders = - BenchmarkSettingsAvailableTools.getBuilders(bbs.getTools()); - System.out.println(builders); - - // read workloads based on benchmark variant - String workloadsFilename = "workloads.json"; - BenchmarkSettingsVariantWorkloads bsvw = Utils.readFromResource(mapper, workloadsFilename, - BenchmarkSettingsVariantWorkloads.class); - - Optional<BenchmarkSettingsWorkloads> workloadsOpt = bsvw.getVariants().stream() - .filter(w -> w.getName().equals(benchmarkVariant)) - .findFirst(); - if (!workloadsOpt.isPresent()) { - System.err.println("Could not find workloads for given variant, check " + workloadsFilename - + " and argument " + benchmarkVariant); - System.exit(4); - } - BenchmarkSettingsWorkloads workloads = workloadsOpt.get(); - - // start benchmark - String now = ResultHelper.getNow(); - ExecutionConfig ec = new ExecutionConfig(4000, 8000, bbs.isDryRun()); - - System.out.println("Please remember to stop all other Java processes."); - System.out.println(); - System.out.println("If in doubt, check with this command:"); - System.out.println("$ ps auxw | grep jav[a]"); - System.out.println(); - System.out.println("If there are other Java processes, use:"); - System.out.println("$ killall -9 java"); - System.out.println(); - System.out.println("############################################################"); - System.out.println("Benchmark parameters:"); - System.out.println("- execution config: " + ec); - System.out.println(bbs); -// System.out.println("- range: minSize=" + bbs.getMinSize() +", maxSize=" + bbs.getMaxSize()); -// System.out.println("- timeout: " + bbs.getTimeout()); -// System.out.println("- runs: " + bbs.getRuns()); - System.out.println("############################################################"); - System.out.println(); - - workloads.getWorkloads().forEach(workloadConfiguration -> { - String workloadName = workloadConfiguration.getWorkloadName(); - String modelVariant = workloadConfiguration.getModelVariant(); - List<RailwayOperation> operations = workloadConfiguration.getOperations(); - TransformationChangeSetStrategy strategy = workloadConfiguration.getStrategy(); - int constant = workloadConfiguration.getConstant(); - int queryTransformationCount = workloadConfiguration.getQueryTransformationCount(); - - System.out.println("============================================================"); - System.out.println("Workload: " + workloadName); - System.out.println("============================================================"); - - ModelSetConfig modelSetConfig = new ModelSetConfig(modelVariant, bbs.getMinSize(), bbs.getMaxSize()); - BenchmarkConfigBaseBuilder bcbb = new BenchmarkConfigBaseBuilder() - .setBenchmarkId(now).setTimeout(bbs.getTimeout()).setRuns(bbs.getRuns()) - .setOperations(operations).setWorkload(workloadName) - .setQueryTransformationCount(queryTransformationCount).setTransformationConstant(constant) - .setTransformationChangeSetStrategy(strategy); - - builders.forEach( bcb -> runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig, bbs)); - }); - -// if (binding.variables.get("reportUrl")) { -// BenchmarkReporter.reportReady(reportUrl) -// } - } - -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java deleted file mode 100644 index 1971b9219..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java +++ /dev/null @@ -1,76 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import de.tudresden.inf.st.trainbenchmark.generator.json4ag.config.Json4AgGeneratorConfigBuilder; -import de.tudresden.inf.st.trainbenchmark.generator.json4agspecial.config.Json4AgSpecialGeneratorConfigBuilder; -import de.tudresden.inf.st.trainbenchmark.generator.relast.config.RelASTGeneratorConfigBuilder; -import hu.bme.mit.trainbenchmark.generator.config.*; -import hu.bme.mit.trainbenchmark.generator.emf.config.EmfGeneratorConfigBuilder; -import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat; -import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfigBuilder; -import hu.bme.mit.trainbenchmark.generator.minimal.*; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * Format settings of a benchmark shared throughout all variants. - * Created by rschoene on 10/13/17. - */ -public class BenchmarkSettingsAvailableFormats { - /** - * Create a map, from projectName to a set of all builders in this project - * @return a mapping from projectName to all builders - */ - public static Map<String, List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>>> - getAvailableFormats() { - // { projectName -> [builder] } - GeneratorConfigBase dummyConfigBase = new GeneratorConfigBaseBuilder() - .setScenario(Scenario.BATCH).setSize(1) - .createGeneratorConfigBase(); - return getAllBuilders().stream().collect(Collectors.toMap( - builder -> builder.setConfigBase(dummyConfigBase).createConfig().getProjectName(), - s -> new ArrayList<>(Collections.singletonList(s)), - (oldValue, newValue) -> { oldValue.addAll(newValue); return oldValue; })); - } - - private static GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>> - getBuilderByName(String className) { - Optional<Object> result = Utils.maybeCreateNewInstance(className); - return (GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>) result.orElse(null); - } - - private static List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> - getAllBuilders() { - return Arrays.asList( - new EmfGeneratorConfigBuilder(), - new TinkerGraphGeneratorConfigBuilder().setGraphFormat(TinkerGraphFormat.GRAPHML), - new Json4AgGeneratorConfigBuilder(), - new Json4AgSpecialGeneratorConfigBuilder(), - new RelASTGeneratorConfigBuilder() - ); - } - - /** - * Get all builders with the given names of formats. The format name in the config every builder creates - * must match one of the given project names. - * @param formatNames names of formats - * @return a set of matching generator config builders - */ - public static List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> - getBuilders(String ... formatNames) { - Map<String, List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>>> - availableFormats = getAvailableFormats(); - return Arrays.stream(formatNames).map(name -> { - List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> - builders = availableFormats.get(name); - if (builders.isEmpty()) { - throw new IllegalArgumentException("Could not find format " + name + ", available formats are: " - + availableFormats.keySet()); - } - return builders; - }).reduce((set1, set2) -> { - set1.addAll(set2); - return set1; - }).orElse(Collections.emptyList()); - } -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java deleted file mode 100644 index 49dc323b7..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java +++ /dev/null @@ -1,71 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfigBuilder; -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfigBuilder; -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfigBuilder; -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfigBuilder; -import hu.bme.mit.trainbenchmark.benchmark.config.*; -import hu.bme.mit.trainbenchmark.benchmark.tinkergraph.config.TinkerGraphBenchmarkConfigBuilder; -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBackend; -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBenchmarkConfigBuilder; - -import java.util.*; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * Tool settings of a benchmark shared throughout all variants - * Created by rschoene on 10/12/17. - */ -public class BenchmarkSettingsAvailableTools { - public static Map<String, BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> - getAvailableTools() { - // { toolName -> builder } - BenchmarkConfigBase dummyConfigBase = new BenchmarkConfigBaseBuilder() - .setBenchmarkId("").setTimeout(0L).setRuns(0).setModelFilename("") - .setOperations(new ArrayList<>()).setWorkload("") - .setTransformationChangeSetStrategy(TransformationChangeSetStrategy.FIXED) - .setQueryTransformationCount(0).setTransformationConstant(0) - .createConfigBase(); - return getAllBuilders().stream().collect(Collectors.toMap( - builder -> builder.setConfigBase(dummyConfigBase).createConfig().getToolName(), - Function.identity())); - } - - private static BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>> - getBuilderByName(String className) { - Optional<Object> result = Utils.maybeCreateNewInstance(className); - return (BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>) result.orElse(null); - } - - private static List<BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> - getAllBuilders() { - return Arrays.asList( - new JastaddNameLookupBenchmarkConfigBuilder(), - new JastaddNameLookupIncrementalBenchmarkConfigBuilder(), - new JastaddOptimizedBenchmarkConfigBuilder(), - new JastaddOptimizedIncrementalBenchmarkConfigBuilder(), - new TinkerGraphBenchmarkConfigBuilder(), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.INCREMENTAL), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.LOCAL_SEARCH) - ); - } - - /** - * Get all builders with the given names of tools. The tool name in the config every builder creates must match one - * of the given tool names. - * @param toolNames names of tools - * @return a list of matching benchmark config builders - */ - public static List<BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> - getBuilders(String ... toolNames) { - Map<String, BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> availableTools = getAvailableTools(); - return Arrays.stream(toolNames).map(name -> { - BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>> builder = availableTools.get(name); - if (builder == null) { - throw new IllegalArgumentException("Could not find tool " + name + ", available tools are: " + availableTools.keySet()); - } - return builder; - }).collect(Collectors.toList()); - } -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java deleted file mode 100644 index cf4270523..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java +++ /dev/null @@ -1,134 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonSetter; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; - -/** - * Basic settings bean of a benchmark shared throughout all variants. - * Created by rschoene on 10/12/17. - */ -public class BenchmarkSettingsBasics { - - static class JVMSetting { - private List<String> applyTo; - private String args; - - public List<String> getApplyTo() { - return applyTo; - } - - public void setApplyTo(List<String> applyTo) { - this.applyTo = applyTo; - } - - public String getArgs() { - return args; - } - - public void setArgs(String args) { - this.args = args; - } - } - @JsonInclude(JsonInclude.Include.NON_DEFAULT) - private Integer minSize = null; - @JsonInclude(JsonInclude.Include.NON_DEFAULT) - private Integer maxSize = null; - @JsonInclude(JsonInclude.Include.NON_DEFAULT) - private Long timeout = null; - @JsonInclude(JsonInclude.Include.NON_DEFAULT) - private Integer runs = null; - @JsonInclude(JsonInclude.Include.NON_DEFAULT) - private Boolean dryRun = null; - private String[] tools; - private String[] formats; - private List<JVMSetting> jvmSettings; - - /** Minimum model size */ - public Integer getMinSize() { - return minSize; - } - - public void setMinSize(int minSize) { - this.minSize = minSize; - } - - /** Maximum model size */ - public Integer getMaxSize() { - return maxSize; - } - - public void setMaxSize(int maxSize) { - this.maxSize = maxSize; - } - - /** Timeout in seconds for each single run. */ - public Long getTimeout() { - return timeout; - } - - public void setTimeout(long timeout) { - this.timeout = timeout; - } - - /** Number of runs per tool-workload combination. */ - public Integer getRuns() { - return runs; - } - - public void setRuns(int runs) { - this.runs = runs; - } - - /** Don't run any Java processes. */ - public Boolean isDryRun() { - return dryRun; - } - - @JsonSetter("dry-run") - public void setDryRun(boolean dryRun) { - this.dryRun = dryRun; - } - - /** List of tool names to use */ - public String[] getTools() { - return tools; - } - - public void setTools(String[] tools) { - this.tools = tools; - } - - /** List of format names to use */ - public String[] getFormats() { - return formats; - } - - public void setFormats(String[] formats) { - this.formats = formats; - } - - public List<JVMSetting> getJvmSettings() { - return jvmSettings; - } - - public void setJvmSettings(List<JVMSetting> jvmSettings) { - this.jvmSettings = jvmSettings; - } - - @Override - public String toString() { - return "BenchmarkSettingsBasics{" + - "minSize=" + minSize + - ", maxSize=" + maxSize + - ", timeout=" + timeout + - ", runs=" + runs + - ", dryRun=" + dryRun + - ", tools=" + Arrays.toString(tools) + - '}'; - } -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java deleted file mode 100644 index ab89bcdf3..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java +++ /dev/null @@ -1,19 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import java.util.List; - -/** - * List of all workload settings by variant. - * Created by rschoene on 10/12/17. - */ -public class BenchmarkSettingsVariantWorkloads { - private List<BenchmarkSettingsWorkloads> variants; - - public List<BenchmarkSettingsWorkloads> getVariants() { - return variants; - } - - public void setVariants(List<BenchmarkSettingsWorkloads> variants) { - this.variants = variants; - } -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java deleted file mode 100644 index 95b00151a..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java +++ /dev/null @@ -1,81 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import com.fasterxml.jackson.annotation.JsonIgnore; -import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy; -import hu.bme.mit.trainbenchmark.constants.RailwayOperation; - -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.function.Function; -import java.util.stream.Collectors; - -/** - * Benchmark setting workload bean. - * Created by rschoene on 10/12/17. - */ -public class BenchmarkSettingsWorkload { - private String workloadName; - private String modelVariant; - private List<RailwayOperation> operations; - private TransformationChangeSetStrategy strategy; -// private String strategy; - private int constant; - private int queryTransformationCount; - @JsonIgnore - private Map<String, RailwayOperation> railwayOps; - - public BenchmarkSettingsWorkload() { - railwayOps = Arrays.stream(RailwayOperation.values()).collect(Collectors.toMap( - RailwayOperation::toString, Function.identity() - )); - } - - public String getWorkloadName() { - return workloadName; - } - - public void setWorkloadName(String workloadName) { - this.workloadName = workloadName; - } - - public String getModelVariant() { - return modelVariant; - } - - public void setModelVariant(String modelVariant) { - this.modelVariant = modelVariant; - } - - public List<RailwayOperation> getOperations() { - return operations; - } - - public void setOperations(List<String> operations) { - this.operations = operations.stream().map(op -> railwayOps.get(op)).collect(Collectors.toList()); - } - - public TransformationChangeSetStrategy getStrategy() { - return strategy; - } - - public void setStrategy(TransformationChangeSetStrategy strategy) { - this.strategy = strategy; - } - - public int getConstant() { - return constant; - } - - public void setConstant(int constant) { - this.constant = constant; - } - - public int getQueryTransformationCount() { - return queryTransformationCount; - } - - public void setQueryTransformationCount(int queryTransformationCount) { - this.queryTransformationCount = queryTransformationCount; - } -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java deleted file mode 100644 index d32c2290b..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import java.util.List; - -/** - * Workload settings bean. - * Created by rschoene on 10/12/17. - */ -public class BenchmarkSettingsWorkloads -{ - private String name; - private List<BenchmarkSettingsWorkload> workloads; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public List<BenchmarkSettingsWorkload> getWorkloads() { - return workloads; - } - - public void setWorkloads(List<BenchmarkSettingsWorkload> workloads) { - this.workloads = workloads; - } -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java deleted file mode 100644 index 55da07b43..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java +++ /dev/null @@ -1,135 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import com.fasterxml.jackson.databind.ObjectMapper; -import hu.bme.mit.trainbenchmark.config.ExecutionConfig; -import hu.bme.mit.trainbenchmark.generator.ModelSerializer; -import hu.bme.mit.trainbenchmark.generator.config.*; -import hu.bme.mit.trainbenchmark.generator.runner.GeneratorRunner; - -import java.io.IOException; -import java.util.List; - -/** - * Main entry point to generate models. - * Created by rschoene on 10/13/17. - */ -public class GenerateMain { - public static void main(String[] args) throws Exception { - // read basic settings (min, maxsize, etc.) - ObjectMapper mapper = Utils.getMapper(); - BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json", - BenchmarkSettingsBasics.class); - try { - BenchmarkSettingsBasics loca_bbs = Utils.readFromResource(mapper, "local-basic-settings.json", - BenchmarkSettingsBasics.class); - Utils.updateBasicsWithLocal(bbs, loca_bbs); - } catch (IOException e) { - System.out.println("No file 'local-basic-settings.json' found. Using default!"); - } - - // import formats to use - List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> builders = - BenchmarkSettingsAvailableFormats.getBuilders(bbs.getFormats()); - System.out.println(builders); - ExecutionConfig ec = new ExecutionConfig(4000, 8000, bbs.isDryRun()); - - // generating the MINIMAL scenario - for (ModelType modelType : ModelType.values()) { - builders.forEach( generatorConfigBuilder -> { - try { - System.out.println("Scenario: " + Scenario.MINIMAL + ", type: " + modelType); - GeneratorConfigBase configBase = new GeneratorConfigBaseBuilder() - .setSize(0).setModelType(modelType).setScenario(Scenario.MINIMAL).createGeneratorConfigBase(); - GeneratorConfig config = generatorConfigBuilder.setConfigBase(configBase).createConfig(); - int exitValue = GeneratorRunner.run(config, ec); - if (exitValue != 0) { - System.out.println("Timeout or error occurred. Error code: " + exitValue); - } - } catch (Exception e) { - System.out.println("Exception occurred during execution."); - } - }); - } - - // generating the other scenarios - for (Scenario scenario : new Scenario[]{Scenario.BATCH, Scenario.INJECT, Scenario.REPAIR}) { - builders.forEach( generatorConfigBuilder -> { - try { - - for (int size = bbs.getMinSize(); size <= bbs.getMaxSize(); size *= 2) { - System.out.println("Scenario: " + scenario + ", size: " + size); - - GeneratorConfigBase configBase = new GeneratorConfigBaseBuilder() - .setSize(size).setScenario(scenario) - .createGeneratorConfigBase(); - GeneratorConfig config = generatorConfigBuilder.setConfigBase(configBase).createConfig(); - - int exitValue = GeneratorRunner.run(config, ec); - if (exitValue != 0) { - System.out.println("Timeout or error occurred, skipping models for larger sizes. Error code: " - + exitValue); - break; - } - } - } catch (Exception e) { - System.out.println("Exception occurred during execution."); - } - }); - } - - - } - -} - -/* -import de.tudresden.inf.st.trainbenchmark.generator.json4ag.config.Json4AgGeneratorConfigBuilder -import de.tudresden.inf.st.trainbenchmark.generator.json4agref.config.Json4AgRefGeneratorConfigBuilder -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase -import hu.bme.mit.trainbenchmark.generator.config.Scenario -import hu.bme.mit.trainbenchmark.generator.emf.config.EmfGeneratorConfigBuilder -import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat -import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfigBuilder -import hu.bme.mit.trainbenchmark.generator.runner.GeneratorRunner - -def ec = new ExecutionConfig(4000, 6000) -def minSize = 1 -/* def maxSize = 2048 * -def maxSize = 256 - - def scenarios = [ - Scenario.BATCH, - Scenario.INJECT, - Scenario.REPAIR, - ] - - def formats = [ - new EmfGeneratorConfigBuilder(), - new TinkerGraphGeneratorConfigBuilder().setGraphFormat(TinkerGraphFormat.GRAPHML), - new Json4AgGeneratorConfigBuilder(), - new Json4AgRefGeneratorConfigBuilder() - ] - - for (scenario in scenarios) { - formats.each { generatorConfigBuilder -> - try { - for (def size = minSize; size <= maxSize; size *= 2) { - println("Scenario: ${scenario}, size: ${size}") - - def configBase = new GeneratorConfigBase(scenario, size) - def config = generatorConfigBuilder.setConfigBase(configBase).createConfig() - - def exitValue = GeneratorRunner.run(config, ec) - if (exitValue != 0) { - println "Timeout or error occured, skipping models for larger sizes. Error code: ${exitValue}" - break - } - } - } catch (all) { - println "Exception occured during execution." - } - } - } - - */ diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java deleted file mode 100644 index e155896b5..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java +++ /dev/null @@ -1,99 +0,0 @@ -package de.tudresden.inf.st.train.scripts; - -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.ObjectMapper; - -import java.io.File; -import java.io.IOException; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.net.URL; -import java.util.*; -import java.util.stream.Collectors; - -/** - * Utility methods for the main entry points. - * Created by rschoene on 10/13/17. - */ -public class Utils { - static Map<String, String> createJvmSettingsMap(BenchmarkSettingsBasics bbs) { - Map<String, String> result = new HashMap<>(); - for (BenchmarkSettingsBasics.JVMSetting setting : bbs.getJvmSettings()) { - for (String toolName : setting.getApplyTo()) { - result.put(toolName, setting.getArgs()); - } - } - return result; - } - - private static File readFromResource(String filename) throws IOException { - URL basicSettingsURL = BenchmarkMain.class.getClassLoader().getResource(filename); - if (basicSettingsURL == null) { - System.err.println(); - throw new IOException("Could not access " + filename + ". Exiting."); - } - return new File(basicSettingsURL.getFile()); - } - - static <T> T readFromResource(ObjectMapper mapper, String filename, Class<T> clazz) throws IOException { - File basicSettingsFile = readFromResource(filename); - T result = null; - try { - result = mapper.readValue(basicSettingsFile, clazz); - } catch (Exception e) { - System.err.println("Could not load '" + filename + "'. Exiting."); - e.printStackTrace(); - System.exit(2); - } - return result; - } - - static void updateBasicsWithLocal(BenchmarkSettingsBasics base, BenchmarkSettingsBasics local) - throws IllegalStateException { - List<Method> setter = Arrays.stream(BenchmarkSettingsBasics.class.getMethods()) - .filter(m -> m.getName().startsWith("set")) - .collect(Collectors.toList()); - for (Method method : BenchmarkSettingsBasics.class.getMethods()) { - final String name = method.getName().startsWith("get") ? - method.getName().substring(3) : - ( method.getName().startsWith("is") ? method.getName().substring(2) : null); - if (name == null) { - continue; - } - try { - Object result = method.invoke(local); - if (result != null) { - Optional<Method> matchingSetter = setter.stream() - .filter(m -> m.getName().endsWith(name)) - .findFirst(); - if (matchingSetter.isPresent()) { - matchingSetter.get().invoke(base, result); - } - } - // now do sanity check if set in updated base - result = method.invoke(base); - if (result == null) { - throw new IllegalStateException("Basic setting for " + name + " is not given."); - } - } catch (IllegalAccessException | InvocationTargetException e) { - e.printStackTrace(); - } - } - } - - static ObjectMapper getMapper() { - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true); - return mapper; - } - - static Optional<Object> maybeCreateNewInstance(final String className) { - try { - return Optional.of(Class.forName(className).newInstance()); - } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { - System.err.println("Could not find builder class '" + className + "'"); - e.printStackTrace(); - return Optional.empty(); - } - } -} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/basic-settings.json b/trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/basic-settings.json deleted file mode 100644 index 89f84d784..000000000 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/basic-settings.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "minSize": 1, - "maxSize": 8, - "timeout": 900, - "runs": 1, - "dry-run": true, - "tools": [ - "Jastadd (Name Lookup)", - "Jastadd (Incremental Name Lookup)", - "Jastadd (Optimized)", - "Jastadd (Optimized Incremental)", - "TinkerGraph", - "VIATRA (Incremental)", - "VIATRA (Local Search)" - ], - "formats": [ - "emf", - "json4ag", - "json4ag-special", - "relast", - "graph-tinkerpop" - ], - "jvmSettings": [ - { - "applyTo": ["*"], - "args": "-Xms%(Xms) -Xmx%(Xmx) -server -Xverify:none" - } - ] -} diff --git a/trainbenchmark/trainbenchmark-generator-relast/.editorconfig b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/.editorconfig similarity index 100% rename from trainbenchmark/trainbenchmark-generator-relast/.editorconfig rename to trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/.editorconfig diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle new file mode 100644 index 000000000..8e8251863 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/build.gradle @@ -0,0 +1,16 @@ +plugins { + id "com.github.johnrengelman.shadow" version "1.2.3" +} + +shadowJar { + classifier = 'fat' + manifest { + attributes 'Main-Class': 'de.tudresden.inf.st.trainbenchmark.generator.jastadd.ManualIntrinsicGeneratorMain' + } +} + +dependencies { + compile project(':trainbenchmark-tool') + compile project(':trainbenchmark-generator') + compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' +} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialGeneratorMain.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicGeneratorMain.java similarity index 50% rename from trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialGeneratorMain.java rename to trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicGeneratorMain.java index ab487c0d6..41f9a228d 100644 --- a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialGeneratorMain.java +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicGeneratorMain.java @@ -2,17 +2,17 @@ * Created by rschoene on 5/11/17. */ -package de.tudresden.inf.st.trainbenchmark.generator.json4agspecial; +package de.tudresden.inf.st.trainbenchmark.generator.jastadd; -import de.tudresden.inf.st.trainbenchmark.generator.json4agspecial.config.Json4AgSpecialGeneratorConfig; +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.ManualIntrinsicGeneratorConfig; import hu.bme.mit.trainbenchmark.generator.ModelGenerator; import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory; import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; -public class Json4AgSpecialGeneratorMain { +public class ManualIntrinsicGeneratorMain { public static void main(String[] args) throws Exception { - final Json4AgSpecialGeneratorConfig gc = GeneratorConfig.fromFile(args[0], Json4AgSpecialGeneratorConfig.class); - final Json4AgSpecialSerializer serializer = new Json4AgSpecialSerializer(gc); + final ManualIntrinsicGeneratorConfig gc = GeneratorConfig.fromFile(args[0], ManualIntrinsicGeneratorConfig.class); + final ManualIntrinsicSerializer serializer = new ManualIntrinsicSerializer(gc); final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(serializer, gc); generator.generateModel(); } diff --git a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialSerializer.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicSerializer.java similarity index 97% rename from trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialSerializer.java rename to trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicSerializer.java index 1f827af63..1d09327c5 100644 --- a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/Json4AgSpecialSerializer.java +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualIntrinsicSerializer.java @@ -1,4 +1,4 @@ -package de.tudresden.inf.st.trainbenchmark.generator.json4agspecial; +package de.tudresden.inf.st.trainbenchmark.generator.jastadd; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.ObjectMapper; @@ -6,7 +6,7 @@ import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.StdSerializer; -import de.tudresden.inf.st.trainbenchmark.generator.json4agspecial.config.Json4AgSpecialGeneratorConfig; +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.ManualIntrinsicGeneratorConfig; import hu.bme.mit.trainbenchmark.generator.ModelSerializer; import java.io.File; @@ -18,7 +18,7 @@ import java.util.Map; import static hu.bme.mit.trainbenchmark.constants.ModelConstants.*; -public class Json4AgSpecialSerializer extends ModelSerializer<Json4AgSpecialGeneratorConfig> { +public class ManualIntrinsicSerializer extends ModelSerializer<ManualIntrinsicGeneratorConfig> { private ASTNonterminal container; @@ -31,13 +31,13 @@ public class Json4AgSpecialSerializer extends ModelSerializer<Json4AgSpecialGene }}; - public Json4AgSpecialSerializer(final Json4AgSpecialGeneratorConfig generatorConfig) { + public ManualIntrinsicSerializer(final ManualIntrinsicGeneratorConfig generatorConfig) { super(generatorConfig); } @Override public String syntax() { - return "JSON4AGSPECIAL"; + return "JASTADD-MANUAL-INTRINSIC"; } @Override @@ -65,7 +65,7 @@ public class Json4AgSpecialSerializer extends ModelSerializer<Json4AgSpecialGene mapper.registerModule(module); // write out JSON - String jsonPath = gc.getConfigBase().getModelPathWithoutExtension() + "-ag-special.json"; + String jsonPath = gc.getConfigBase().getModelPathWithoutExtension() + "-jastadd-manual-intrinsic.json"; System.out.println(jsonPath); mapper.writeValue(new File(jsonPath), container); } diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfig.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfig.java new file mode 100644 index 000000000..b97020b33 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfig.java @@ -0,0 +1,17 @@ +package de.tudresden.inf.st.trainbenchmark.generator.jastadd.config; + + +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase; + +public class ManualIntrinsicGeneratorConfig extends GeneratorConfig { + + protected ManualIntrinsicGeneratorConfig(final GeneratorConfigBase configBase) { + super(configBase); + } + + @Override + public String getProjectName() { + return "jastadd-manual-intrinsic"; + } +} diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfigBuilder.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfigBuilder.java new file mode 100644 index 000000000..1f82df259 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual-intrinsic/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualIntrinsicGeneratorConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.trainbenchmark.generator.jastadd.config; + +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder; + +public class ManualIntrinsicGeneratorConfigBuilder + extends GeneratorConfigBuilder<ManualIntrinsicGeneratorConfig, ManualIntrinsicGeneratorConfigBuilder> { + + @Override + public ManualIntrinsicGeneratorConfig createConfig() { + checkNotNulls(); + return new ManualIntrinsicGeneratorConfig(configBase); + } +} diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual/.editorconfig b/trainbenchmark/trainbenchmark-generator-jastadd-manual/.editorconfig new file mode 100644 index 000000000..39bb2e3ac --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*.java] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +max_line_length = 140 +trim_trailing_whitespace = true \ No newline at end of file diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle b/trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle new file mode 100644 index 000000000..ccf142d0f --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual/build.gradle @@ -0,0 +1,16 @@ +plugins { + id "com.github.johnrengelman.shadow" version "1.2.3" +} + +shadowJar { + classifier = 'fat' + manifest { + attributes 'Main-Class': 'de.tudresden.inf.st.trainbenchmark.generator.jastadd.ManualGeneratorMain' + } +} + +dependencies { + compile project(':trainbenchmark-tool') + compile project(':trainbenchmark-generator') + compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' +} diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualGeneratorMain.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualGeneratorMain.java new file mode 100644 index 000000000..c747b1f94 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualGeneratorMain.java @@ -0,0 +1,19 @@ +/** + * Created by rschoene on 5/11/17. + */ + +package de.tudresden.inf.st.trainbenchmark.generator.jastadd; + +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.ManualGeneratorConfig; +import hu.bme.mit.trainbenchmark.generator.ModelGenerator; +import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory; +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; + +public class ManualGeneratorMain { + public static void main(String[] args) throws Exception { + final ManualGeneratorConfig gc = GeneratorConfig.fromFile(args[0], ManualGeneratorConfig.class); + final ManualSerializer serializer = new ManualSerializer(gc); + final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(serializer, gc); + generator.generateModel(); + } +} diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualSerializer.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualSerializer.java new file mode 100644 index 000000000..741f7c77d --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/ManualSerializer.java @@ -0,0 +1,479 @@ +/** + * Created by rschoene on 5/11/17. + */ + +package de.tudresden.inf.st.trainbenchmark.generator.jastadd; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.ManualGeneratorConfig; +import hu.bme.mit.trainbenchmark.generator.ModelSerializer; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static hu.bme.mit.trainbenchmark.constants.ModelConstants.*; + +public class ManualSerializer extends ModelSerializer<ManualGeneratorConfig> { + + private static final Map<String, String> STRUCTURE_EDGE_MAP = new HashMap<String, String>() {{ + put(ELEMENTS, Children.TRACKELEMENT); + put(SENSORS, Children.SENSOR); + put(SEMAPHORES, Children.SEMAPHORE); + put(FOLLOWS, Children.SWITCHPOSITION); + }}; + private static final Map<String, String> REFERENCE_EDGE_MAP = new HashMap<String, String>() {{ + put(REQUIRES, Children.REQUIREDSENSOR); + put(CONNECTS_TO, Children.CONNECTSTO); + }}; + private ASTNonterminal container; + + public ManualSerializer(final ManualGeneratorConfig generatorConfig) { + super(generatorConfig); + } + + private ASTNonterminal makeRef(int targetId, String type) { + ASTNonterminal refnt = new ASTNonterminal(type); + refnt.addChild(Children.VALUE, new ASTTerminal("int", targetId)); + return refnt; + } + + private ASTNonterminal makeRef(ASTNonterminal target, String type) { + int id = (int) ((ASTTerminal) target.getChildren().get(Children.ID)).getValue(); + return makeRef(id, type); + } + + @Override + public String syntax() { + return "JASTADD-MANUAL"; + } + + @Override + public void initModel() throws IOException { + container = new ASTNonterminal(Grammar.RAILWAYCONTAINER); + container.getChildren().put(Grammar.ROUTE, new ASTList()); + container.getChildren().put(Grammar.REGION, new ASTList()); + } + + @Override + public void persistModel() throws IOException { + + // Setup mapper with serializers + ObjectMapper mapper = new ObjectMapper(); + mapper.disable(SerializationFeature.INDENT_OUTPUT); +// mapper.enable(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS); + SimpleModule module = new SimpleModule(); + module.addSerializer(ASTNonterminal.class, new ASTNonterminalSerializer()); + module.addSerializer(ASTList.class, new ASTListSerializer()); + module.addSerializer(ASTOpt.class, new ASTOptSerializer()); + module.addSerializer(ASTTerminal.class, new ASTTerminalSerializer()); + module.addSerializer(ASTEnum.class, new ASTEnumSerializer()); + mapper.registerModule(module); + + // write out JSON + String jsonPath = gc.getConfigBase().getModelPathWithoutExtension() + "-jastadd-manual.json"; + System.out.println(jsonPath); + mapper.writeValue(new File(jsonPath), container); + } + + @Override + public Object createVertex( + final int id, + final String type, + final Map<String, ? extends Object> attributes, + final Map<String, Object> outgoingEdges, + final Map<String, Object> incomingEdges) throws IOException { + + ASTNonterminal n = new ASTNonterminal(id, type); + switch (type) { + case REGION: + n.createListChild(Children.TRACKELEMENT).createListChild(Children.SENSOR); + ASTList regionList = (ASTList) container.getChildren().get(Grammar.REGION); + regionList.addChild(n); + break; + case SEMAPHORE: + if (attributes.get(SIGNAL) != null) { + n.addChild(Children.SIGNAL, new ASTEnum(Values.ENUM_SIGNAL, attributes.get(SIGNAL))); + } + break; + case ROUTE: + n.createListChild(Children.SWITCHPOSITION).createListChild(Children.REQUIREDSENSOR); + if (attributes.get(ACTIVE) != null) { + n.addChild(Children.ACTIVE, new ASTTerminal("boolean", attributes.get(ACTIVE))); + } + if (outgoingEdges.get(ENTRY) != null) { + n.addOptChild(Children.ENTRY, makeRef((ASTNonterminal) outgoingEdges.get(ENTRY), Grammar.SEMAPHORE_REF)); + } else { + n.addOptChild(Children.ENTRY); + } + if (outgoingEdges.get(EXIT) != null) { + n.addOptChild(Children.EXIT, makeRef((ASTNonterminal) outgoingEdges.get(EXIT), Grammar.SEMAPHORE_REF)); + } else { + n.addOptChild(Children.EXIT); + } + ASTList routeList = (ASTList) container.getChildren().get(Grammar.ROUTE); + routeList.addChild(n); + break; + case SWITCHPOSITION: + if (attributes.get(POSITION) != null) { + n.addChild(Children.POSITION, new ASTEnum(Values.ENUM_POSITION, attributes.get(POSITION))); + } + if (outgoingEdges.containsKey(TARGET)) { + n.addChild(Children.TARGET, makeRef((ASTNonterminal) outgoingEdges.get(TARGET), Grammar.SWITCH_REF)); + } + break; + case SENSOR: + n.createListChild(Children.MONITOREDELEMENT); + break; + case SEGMENT: + n.createListChild(Children.CONNECTSTO).createListChild(Children.SEMAPHORE); + if (attributes.get(LENGTH) != null) { + n.addChild(Children.LENGTH, new ASTTerminal("int", attributes.get(LENGTH))); + } + break; + case SWITCH: + n.createListChild(Children.CONNECTSTO); + break; + default: + System.err.println(String.format("Unknown type of vertex: %s", type)); + } + return n; + } + + @Override + public void createEdge(final String label, final Object from, final Object to) throws IOException { + + ASTNonterminal to_nt = (ASTNonterminal) to; + ASTNonterminal from_nt = (ASTNonterminal) from; + if (label.equals(MONITORED_BY)) { + ASTList listNode = (ASTList) to_nt.getChildren().get(Children.MONITOREDELEMENT); + if (from_nt.getType().equals(SWITCH)) { + listNode.addChild(makeRef(from_nt, Grammar.SWITCH_REF)); + } else if (from_nt.getType().equals(SEGMENT)) { + listNode.addChild(makeRef(from_nt, Grammar.SEGMENT_REF)); + } else { + throw new RuntimeException("A monitors edge could not be created because '" + from_nt.getType() + "' is the wrong outgoing type."); + } + } else if (STRUCTURE_EDGE_MAP.containsKey(label)) { + String realEdgeLabel = STRUCTURE_EDGE_MAP.get(label); + ASTNonterminal n = (ASTNonterminal) from; + ASTList listNode = (ASTList) n.getChildren().get(realEdgeLabel); + listNode.addChild((ASTNode) to); + } else { + String realEdgeLabel = REFERENCE_EDGE_MAP.get(label); + ASTNonterminal n = (ASTNonterminal) from; + ASTList listNode = (ASTList) n.getChildren().get(realEdgeLabel); + if (label.equals(REQUIRES)) { + listNode.addChild(makeRef((ASTNonterminal) to, Grammar.SENSOR_REF)); + } else if (label.equals(CONNECTS_TO)) { + if (to_nt.getType().equals(SWITCH)) { + listNode.addChild(makeRef(to_nt, Grammar.SWITCH_REF)); + } else if (to_nt.getType().equals(SEGMENT)) { + listNode.addChild(makeRef(to_nt, Grammar.SEGMENT_REF)); + } + } else { + throw new RuntimeException("An edge could not be created because '" + label + "' is an umknown label."); + } + } + } + + @Override + public void setAttribute(final String type, final Object node, final String key, final Object value) + throws IOException { + if (!key.equals(CURRENTPOSITION)) { + System.err.println(String.format("SetAttribute. Unexpected key: %s", type)); + return; + } + ASTNonterminal n = (ASTNonterminal) node; + n.getChildren().put(Children.CURRENTPOSITION, new ASTEnum(Values.ENUM_POSITION, value)); + } + + static class Grammar { + static final String RAILWAYCONTAINER = "RailwayContainer"; + static final String RAILWAYELEMENT = "RailwayElement"; + static final String REGION = "Region"; + static final String SEMAPHORE = "Semaphore"; + static final String ROUTE = "Route"; + static final String SWITCHPOSITION = "SwitchPosition"; + static final String SENSOR = "Sensor"; + static final String TRACKELEMENT = "TrackElement"; + static final String SEGMENT = "Segment"; + static final String SWITCH = "Switch"; + static final String NAME = "Name"; + static final String SENSOR_REF = "SensorRef"; + static final String SEMAPHORE_REF = "SemaphoreRef"; + static final String TRACKELEMENT_REF = "TrackElementRef"; + static final String SWITCH_REF = "SwitchRef"; + static final String SEGMENT_REF = "SegmentRef"; + } + + static class Children { + static final String ROUTE = "Route"; + static final String REGION = "Region"; + static final String ID = "Id"; + static final String TRACKELEMENT = "TrackElement"; + static final String SENSOR = "Sensor"; + static final String SIGNAL = "Signal"; + static final String ACTIVE = "Active"; + static final String SWITCHPOSITION = "SwitchPosition"; + static final String REQUIREDSENSOR = "RequiredSensor"; + static final String ENTRY = "Entry"; + static final String EXIT = "Exit"; + static final String POSITION = "Position"; + static final String TARGET = "Target"; + static final String MONITOREDELEMENT = "MonitoredElement"; + static final String CONNECTSTO = "ConnectedElement"; + static final String LENGTH = "Length"; + static final String SEMAPHORE = "Semaphore"; + static final String CURRENTPOSITION = "CurrentPosition"; + static final String VALUE = "Value"; + } + + static class Values { + static final String ENUM_SIGNAL = "de.tudresden.inf.st.train.jastadd.ast.Signal"; + static final String ENUM_POSITION = "de.tudresden.inf.st.train.jastadd.ast.Position"; + } + + private abstract class ASTNode { + private String kind; + private String type; + + ASTNode(String kind, String type) { + this.kind = kind; + this.type = type; + } + + public String getKind() { + return kind; + } + + public void setKind(String kind) { + this.kind = kind; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + } + + private class ASTNonterminal extends ASTNode { + private final Map<String, ASTNode> children; + + ASTNonterminal(String _type) { + super("NT", _type); + children = new HashMap<>(); + } + + ASTNonterminal(int id, String _type) { + super("NT", _type); + children = new HashMap<>(); + this.addChild(Children.ID, new ASTTerminal("int", id)); + } + + Map<String, ASTNode> getChildren() { + return children; + } + + ASTNonterminal addChild(String key, ASTNode n) { + getChildren().put(key, n); + return this; + } + + ASTNonterminal createListChild(String context) { + addChild(context, new ASTList()); + return this; + } + + ASTNonterminal addOptChild(String context) { + addChild(context, new ASTOpt()); + return this; + } + + ASTNonterminal addOptChild(String context, ASTNode n) { + addChild(context, new ASTOpt(n)); + return this; + } + } + + private class ASTList extends ASTNode { + private final List<ASTNode> children; + + ASTList() { + super("List", null); + children = new ArrayList<>(); + } + + List<ASTNode> getChildren() { + return children; + } + + ASTList addChild(ASTNode n) { + getChildren().add(n); + return this; + } + } + + private class ASTOpt extends ASTNode { + private ASTNode child; + + ASTOpt() { + super("Opt", null); + child = null; + } + + ASTOpt(ASTNode child) { + super("Opt", null); + this.child = child; + } + + boolean hasChild() { + return child != null; + } + + ASTNode getChild() { + return child; + } + + ASTOpt addChild(ASTNode n) { + child = n; + return this; + } + } + + private class ASTTerminal extends ASTNode { + private final Object value; + + ASTTerminal(String _type, Object value) { + super("t", _type); + this.value = value; + } + + public Object getValue() { + return value; + } + + } + + private class ASTEnum extends ASTNode { + private final Object value; + + ASTEnum(String _type, Object value) { + super("enum", _type); + this.value = value; + } + + public Object getValue() { + return value; + } + } + + public class ASTNonterminalSerializer extends StdSerializer<ASTNonterminal> { + public ASTNonterminalSerializer() { + this(null); + } + + public ASTNonterminalSerializer(Class<ASTNonterminal> t) { + super(t); + } + + @Override + public void serialize(ASTNonterminal value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + gen.writeStringField("k", value.getKind()); + gen.writeStringField("t", value.getType()); + gen.writeObjectField("c", value.getChildren()); + gen.writeEndObject(); + } + } + + public class ASTListSerializer extends StdSerializer<ASTList> { + public ASTListSerializer() { + this(null); + } + + public ASTListSerializer(Class<ASTList> t) { + super(t); + } + + @Override + public void serialize(ASTList value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + gen.writeStringField("k", value.getKind()); + gen.writeObjectField("c", value.getChildren()); + gen.writeEndObject(); + } + } + + public class ASTOptSerializer extends StdSerializer<ASTOpt> { + public ASTOptSerializer() { + this(null); + } + + public ASTOptSerializer(Class<ASTOpt> t) { + super(t); + } + + @Override + public void serialize(ASTOpt value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + gen.writeStringField("k", value.getKind()); + if (value.hasChild()) { + gen.writeObjectField("c", value.getChild()); + } + gen.writeEndObject(); + } + } + + public class ASTTerminalSerializer extends StdSerializer<ASTTerminal> { + public ASTTerminalSerializer() { + this(null); + } + + public ASTTerminalSerializer(Class<ASTTerminal> t) { + super(t); + } + + @Override + public void serialize(ASTTerminal value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + gen.writeStringField("k", value.getKind()); + gen.writeObjectField("t", value.getType()); + gen.writeObjectField("v", value.getValue()); + gen.writeEndObject(); + } + + } + + public class ASTEnumSerializer extends StdSerializer<ASTEnum> { + public ASTEnumSerializer() { + this(null); + } + + public ASTEnumSerializer(Class<ASTEnum> t) { + super(t); + } + + @Override + public void serialize(ASTEnum value, JsonGenerator gen, SerializerProvider provider) throws IOException { + gen.writeStartObject(); + gen.writeStringField("k", value.getKind()); + gen.writeObjectField("t", value.getType()); + gen.writeObjectField("v", value.getValue()); + gen.writeEndObject(); + } + + } + +} diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfig.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfig.java new file mode 100644 index 000000000..61ca269c5 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfig.java @@ -0,0 +1,20 @@ +package de.tudresden.inf.st.trainbenchmark.generator.jastadd.config; + +/** + * Created by rschoene on 5/11/17. + */ + +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase; + +public class ManualGeneratorConfig extends GeneratorConfig { + + protected ManualGeneratorConfig(final GeneratorConfigBase configBase) { + super(configBase); + } + + @Override + public String getProjectName() { + return "jastadd-manual"; + } +} diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfigBuilder.java b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfigBuilder.java new file mode 100644 index 000000000..3a80207e7 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-manual/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/ManualGeneratorConfigBuilder.java @@ -0,0 +1,16 @@ +/** + * Created by rschoene on 5/11/17. + */ +package de.tudresden.inf.st.trainbenchmark.generator.jastadd.config; + +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder; + +public class ManualGeneratorConfigBuilder + extends GeneratorConfigBuilder<ManualGeneratorConfig, ManualGeneratorConfigBuilder> { + + @Override + public ManualGeneratorConfig createConfig() { + checkNotNulls(); + return new ManualGeneratorConfig(configBase); + } +} diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-relast/.editorconfig b/trainbenchmark/trainbenchmark-generator-jastadd-relast/.editorconfig new file mode 100644 index 000000000..39bb2e3ac --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-relast/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*.java] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +max_line_length = 140 +trim_trailing_whitespace = true \ No newline at end of file diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle b/trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle new file mode 100644 index 000000000..e905885a8 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-relast/build.gradle @@ -0,0 +1,17 @@ +plugins { + id "com.github.johnrengelman.shadow" version "1.2.3" +} + +shadowJar { + classifier = 'fat' + manifest { + attributes 'Main-Class': 'de.tudresden.inf.st.trainbenchmark.generator.jastadd.RelASTGeneratorMain' + } +} + +dependencies { + compile project(':trainbenchmark-tool') + compile project(':trainbenchmark-generator') + compile project(':trainbenchmark-tool-jastadd-relast') + compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' +} diff --git a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/RelASTGeneratorMain.java b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/RelASTGeneratorMain.java similarity index 79% rename from trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/RelASTGeneratorMain.java rename to trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/RelASTGeneratorMain.java index 476e78002..d7dc1b506 100644 --- a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/RelASTGeneratorMain.java +++ b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/RelASTGeneratorMain.java @@ -1,6 +1,6 @@ -package de.tudresden.inf.st.trainbenchmark.generator.relast; +package de.tudresden.inf.st.trainbenchmark.generator.jastadd; -import de.tudresden.inf.st.trainbenchmark.generator.relast.config.RelASTGeneratorConfig; +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.RelASTGeneratorConfig; import hu.bme.mit.trainbenchmark.generator.ModelGenerator; import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory; import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; diff --git a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/RelASTSerializer.java b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/RelASTSerializer.java similarity index 96% rename from trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/RelASTSerializer.java rename to trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/RelASTSerializer.java index 56608affc..b691d9ee2 100644 --- a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/RelASTSerializer.java +++ b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/RelASTSerializer.java @@ -1,7 +1,7 @@ -package de.tudresden.inf.st.trainbenchmark.generator.relast; +package de.tudresden.inf.st.trainbenchmark.generator.jastadd; import de.tudresden.inf.st.train.jastadd.ast.*; -import de.tudresden.inf.st.trainbenchmark.generator.relast.config.RelASTGeneratorConfig; +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.RelASTGeneratorConfig; import hu.bme.mit.trainbenchmark.generator.ModelSerializer; import java.io.File; @@ -20,7 +20,7 @@ public class RelASTSerializer extends ModelSerializer<RelASTGeneratorConfig> { @Override public String syntax() { - return "RELAST"; + return "JASTADD-RELAST"; } @Override @@ -30,7 +30,7 @@ public class RelASTSerializer extends ModelSerializer<RelASTGeneratorConfig> { @Override public void persistModel() throws IOException { - String jsonPath = gc.getConfigBase().getModelPathWithoutExtension() + "-relast.json"; + String jsonPath = gc.getConfigBase().getModelPathWithoutExtension() + "-jastadd-relast.json"; System.out.println(jsonPath); try { container.resolveAll(); diff --git a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/config/RelASTGeneratorConfig.java b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/RelASTGeneratorConfig.java similarity index 78% rename from trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/config/RelASTGeneratorConfig.java rename to trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/RelASTGeneratorConfig.java index 21c17b11e..ed910d05c 100644 --- a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/config/RelASTGeneratorConfig.java +++ b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/RelASTGeneratorConfig.java @@ -1,4 +1,4 @@ -package de.tudresden.inf.st.trainbenchmark.generator.relast.config; +package de.tudresden.inf.st.trainbenchmark.generator.jastadd.config; import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; @@ -12,6 +12,6 @@ public class RelASTGeneratorConfig extends GeneratorConfig { @Override public String getProjectName() { - return "relast"; + return "jastadd-relast"; } } diff --git a/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/RelASTGeneratorConfigBuilder.java b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/RelASTGeneratorConfigBuilder.java new file mode 100644 index 000000000..e20ee9ce8 --- /dev/null +++ b/trainbenchmark/trainbenchmark-generator-jastadd-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/jastadd/config/RelASTGeneratorConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.trainbenchmark.generator.jastadd.config; + +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder; + +public class RelASTGeneratorConfigBuilder + extends GeneratorConfigBuilder<RelASTGeneratorConfig, RelASTGeneratorConfigBuilder> { + + @Override + public RelASTGeneratorConfig createConfig() { + checkNotNulls(); + return new RelASTGeneratorConfig(configBase); + } +} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag-special/build.gradle b/trainbenchmark/trainbenchmark-generator-json4ag-special/build.gradle deleted file mode 100644 index 5c86a1138..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag-special/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "1.2.3" -} - -shadowJar { - classifier = 'fat' - manifest { - attributes 'Main-Class': 'de.tudresden.inf.st.trainbenchmark.generator.json4agspecial.Json4AgSpecialGeneratorMain' - } -} - -dependencies { - compile project(':trainbenchmark-tool') - compile project(':trainbenchmark-generator') - compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfig.java b/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfig.java deleted file mode 100644 index f46788fe2..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfig.java +++ /dev/null @@ -1,17 +0,0 @@ -package de.tudresden.inf.st.trainbenchmark.generator.json4agspecial.config; - - -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase; - -public class Json4AgSpecialGeneratorConfig extends GeneratorConfig { - - protected Json4AgSpecialGeneratorConfig(final GeneratorConfigBase configBase) { - super(configBase); - } - - @Override - public String getProjectName() { - return "json4ag-special"; - } -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfigBuilder.java b/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfigBuilder.java deleted file mode 100644 index 02b1c9f47..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag-special/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4agspecial/config/Json4AgSpecialGeneratorConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.trainbenchmark.generator.json4agspecial.config; - -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder; - -public class Json4AgSpecialGeneratorConfigBuilder - extends GeneratorConfigBuilder<Json4AgSpecialGeneratorConfig, Json4AgSpecialGeneratorConfigBuilder> { - - @Override - public Json4AgSpecialGeneratorConfig createConfig() { - checkNotNulls(); - return new Json4AgSpecialGeneratorConfig(configBase); - } -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag/build.gradle b/trainbenchmark/trainbenchmark-generator-json4ag/build.gradle deleted file mode 100644 index 9e99da559..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag/build.gradle +++ /dev/null @@ -1,16 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "1.2.3" -} - -shadowJar { - classifier = 'fat' - manifest { - attributes 'Main-Class': 'de.tudresden.inf.st.trainbenchmark.generator.json4ag.Json4AgGeneratorMain' - } -} - -dependencies { - compile project(':trainbenchmark-tool') - compile project(':trainbenchmark-generator') - compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag/hand-crafted.json b/trainbenchmark/trainbenchmark-generator-json4ag/hand-crafted.json deleted file mode 100644 index 0e251de4b..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag/hand-crafted.json +++ /dev/null @@ -1,287 +0,0 @@ -{ - "_kind": "NT", - "_type": "RailwayContainer", - "c": [ - { - "_kind": "List", - "_type": "Route", - "c": [ - { - "_kind": "NT", - "_type": "Route", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 1 } ] }, - { "_kind": "t", "_type": "boolean", "name": "Active", "value": false }, - { - "_kind": "List", - "_type": "SwitchPosition", - "c": [ - { - "_kind": "NT", - "_type": "SwitchPosition", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 2 } ] }, - { "_kind": "enum", "_type": "Position", "name": "Position", "value": "DIVERGING"}, - { "_kind": "NT", "_type": "Ref", "name": "Target", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 11 } ] - } - ] - } - ] - }, - { - "_kind": "List", - "_type": "Ref", - "name": "RequiredSensor", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 3 } ] }, - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 4 } ] } - ] - }, - { "_kind": "NT", "_type": "Ref", "name": "Entry", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 5 } ] }, - { "_kind": "NT", "_type": "Ref", "name": "Exit", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 15 } ] } - ] - }, - { - "_kind": "NT", - "_type": "Route", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 6 } ] }, - { "_kind": "t", "_type": "boolean", "name": "Active", "value": true }, - { - "_kind": "List", - "_type": "SwitchPosition", - "c": [ - { - "_kind": "NT", - "_type": "SwitchPosition", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 7 } ] }, - { "_kind": "enum", "_type": "Position", "name": "Position", "value": "STRAIGHT"}, - { "_kind": "NT", "_type": "Ref", "name": "Target", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 11 } ] } - ] - } - ] - }, - { - "_kind": "List", - "_type": "Ref", - "name": "RequiredSensor", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 3 } ] }, - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 8 } ] } - ] - }, - { "_kind": "NT", "_type": "Ref", "name": "Entry", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 5 } ] }, - { "_kind": "NT", "_type": "Ref", "name": "Exit", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 9 } ] } - ] - } - ] - }, - { - "_kind": "List", - "_type": "Region", - "c": [ - { - "_kind": "NT", - "_type": "Region", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 16 } ] }, - { - "_kind": "List", - "_type": "TrackElement", - "c": [ - { - "_kind": "NT", - "_type": "Segment", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 10 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "ConnectsTo", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 11 } ] } - ] - }, - { "_kind": "t", "_type": "int", "name": "Length", "value": 100 }, - { - "_kind": "List", - "_type": "Semaphore", - "c": [ - { - "_kind": "NT", - "_type": "Semaphore", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 5 } ] }, - { "_kind": "enum", "_type": "Signal", "name": "Signal", "value": "GO" } - ] - } - ] - } - ] - }, - { - "_kind": "NT", - "_type": "Switch", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 11 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "ConnectsTo", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 12 } ] }, - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 13 } ] } - ] - }, - { "_kind": "enum", "_type": "Position", "name": "CurrentPosition", "value": "STRAIGHT" }, - { - "_kind": "List", - "_type": "Ref", - "name": "PossiblePosition", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 2 } ] }, - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 7 } ] } - ] - } - ] - }, - { - "_kind": "NT", - "_type": "Segment", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 12 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "ConnectsTo", - "c": [] - }, - { "_kind": "t", "_type": "int", "name": "Length", "value": 120 }, - { - "_kind": "List", - "_type": "Semaphore", - "c": [ - { - "_kind": "NT", - "_type": "Semaphore", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 15 } ] }, - { "_kind": "enum", "_type": "Signal", "name": "Signal", "value": "FAILURE" } - ] - } - ] - } - ] - }, - { - "_kind": "NT", - "_type": "Segment", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 13 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "ConnectsTo", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 14 } ] } - ] - }, - { "_kind": "t", "_type": "int", "name": "Length", "value": 130 }, - { - "_kind": "List", - "_type": "Semaphore", - "c": [] - } - ] - }, - { - "_kind": "NT", - "_type": "Segment", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 14 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "ConnectsTo", - "c": [] - }, - { "_kind": "t", "_type": "int", "name": "Length", "value": 140 }, - { - "_kind": "List", - "_type": "Semaphore", - "c": [ - { - "_kind": "NT", - "_type": "Semaphore", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 9 } ] }, - { "_kind": "enum", "_type": "Signal", "name": "Signal", "value": "STOP" } - ] - } - ] - } - ] - } - ] - }, - { - "_kind": "List", - "_type": "Sensor", - "c": [ - { - "_kind": "NT", - "_type": "Sensor", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 3 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "MonitoredElement", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 10 } ] }, - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 11 } ] } - ] - } - ] - }, - { - "_kind": "NT", - "_type": "Sensor", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 4 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "MonitoredElement", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 12 } ] } - ] - } - ] - }, - { - "_kind": "NT", - "_type": "Sensor", - "c": [ - { "_kind": "NT", "_type": "Id", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 8 } ] }, - { - "_kind": "List", - "_type": "Ref", - "name": "MonitoredElement", - "c": [ - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 11 } ] }, - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 13 } ] }, - { "_kind": "NT", "_type": "Ref", "c": [{ "_kind": "t", "_type": "int", "name": "Value", "value": 14 } ] } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgGeneratorMain.java b/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgGeneratorMain.java deleted file mode 100644 index 102d2166b..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgGeneratorMain.java +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Created by rschoene on 5/11/17. - */ - -package de.tudresden.inf.st.trainbenchmark.generator.json4ag; - -import de.tudresden.inf.st.trainbenchmark.generator.json4ag.config.Json4AgGeneratorConfig; -import hu.bme.mit.trainbenchmark.generator.ModelGenerator; -import hu.bme.mit.trainbenchmark.generator.ModelSerializer; -import hu.bme.mit.trainbenchmark.generator.ScalableGeneratorFactory; -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; - -public class Json4AgGeneratorMain { - public static void main(String[] args) throws Exception { - final Json4AgGeneratorConfig gc = GeneratorConfig.fromFile(args[0], Json4AgGeneratorConfig.class); - final Json4AgSerializer serializer = new Json4AgSerializer(gc); - final ModelGenerator generator = ScalableGeneratorFactory.createGenerator(serializer, gc); - generator.generateModel(); - } -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgSerializer.java b/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgSerializer.java deleted file mode 100644 index fc00c4732..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/Json4AgSerializer.java +++ /dev/null @@ -1,481 +0,0 @@ -/** - * Created by rschoene on 5/11/17. - */ - -package de.tudresden.inf.st.trainbenchmark.generator.json4ag; - -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.fasterxml.jackson.databind.SerializationFeature; -import com.fasterxml.jackson.databind.SerializerProvider; -import com.fasterxml.jackson.databind.module.SimpleModule; -import com.fasterxml.jackson.databind.ser.std.StdSerializer; -import de.tudresden.inf.st.trainbenchmark.generator.json4ag.config.Json4AgGeneratorConfig; -import hu.bme.mit.trainbenchmark.generator.ModelSerializer; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static hu.bme.mit.trainbenchmark.constants.ModelConstants.*; - -public class Json4AgSerializer extends ModelSerializer<Json4AgGeneratorConfig> { - - private static final Map<String, String> STRUCTURE_EDGE_MAP = new HashMap<String, String>() {{ - put(ELEMENTS, Children.TRACKELEMENT); - put(SENSORS, Children.SENSOR); - put(SEMAPHORES, Children.SEMAPHORE); - put(FOLLOWS, Children.SWITCHPOSITION); - }}; - private static final Map<String, String> REFERENCE_EDGE_MAP = new HashMap<String, String>() {{ - put(REQUIRES, Children.REQUIREDSENSOR); - put(CONNECTS_TO, Children.CONNECTSTO); - }}; - private ASTNonterminal container; - - public Json4AgSerializer(final Json4AgGeneratorConfig generatorConfig) { - super(generatorConfig); - } - - private ASTNonterminal makeRef(int targetId, String type) { - ASTNonterminal refnt = new ASTNonterminal(type); - refnt.addChild(Children.VALUE, new ASTTerminal("int", targetId)); - return refnt; - } - - private ASTNonterminal makeRef(ASTNonterminal target, String type) { - int id = (int) ((ASTTerminal) target.getChildren().get(Children.ID)).getValue(); - return makeRef(id, type); - } - - @Override - public String syntax() { - return "JSON4AG"; - } - - @Override - public void initModel() throws IOException { - String rawPath = gc.getConfigBase().getModelPathWithoutExtension() + "-raw.txt"; - final File rawFile = new File(rawPath); - container = new ASTNonterminal(Grammar.RAILWAYCONTAINER); - container.getChildren().put(Grammar.ROUTE, new ASTList()); - container.getChildren().put(Grammar.REGION, new ASTList()); - } - - @Override - public void persistModel() throws IOException { - - // Setup mapper with serializers - ObjectMapper mapper = new ObjectMapper(); - mapper.disable(SerializationFeature.INDENT_OUTPUT); -// mapper.enable(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS); - SimpleModule module = new SimpleModule(); - module.addSerializer(ASTNonterminal.class, new ASTNonterminalSerializer()); - module.addSerializer(ASTList.class, new ASTListSerializer()); - module.addSerializer(ASTOpt.class, new ASTOptSerializer()); - module.addSerializer(ASTTerminal.class, new ASTTerminalSerializer()); - module.addSerializer(ASTEnum.class, new ASTEnumSerializer()); - mapper.registerModule(module); - - // write out JSON - String jsonPath = gc.getConfigBase().getModelPathWithoutExtension() + "-ag.json"; - System.out.println(jsonPath); - mapper.writeValue(new File(jsonPath), container); - } - - @Override - public Object createVertex( - final int id, - final String type, - final Map<String, ? extends Object> attributes, - final Map<String, Object> outgoingEdges, - final Map<String, Object> incomingEdges) throws IOException { - - ASTNonterminal n = new ASTNonterminal(id, type); - switch (type) { - case REGION: - n.createListChild(Children.TRACKELEMENT).createListChild(Children.SENSOR); - ASTList regionList = (ASTList) container.getChildren().get(Grammar.REGION); - regionList.addChild(n); - break; - case SEMAPHORE: - if (attributes.get(SIGNAL) != null) { - n.addChild(Children.SIGNAL, new ASTEnum(Values.ENUM_SIGNAL, attributes.get(SIGNAL))); - } - break; - case ROUTE: - n.createListChild(Children.SWITCHPOSITION).createListChild(Children.REQUIREDSENSOR); - if (attributes.get(ACTIVE) != null) { - n.addChild(Children.ACTIVE, new ASTTerminal("boolean", attributes.get(ACTIVE))); - } - if (outgoingEdges.get(ENTRY) != null) { - n.addOptChild(Children.ENTRY, makeRef((ASTNonterminal) outgoingEdges.get(ENTRY), Grammar.SEMAPHORE_REF)); - } else { - n.addOptChild(Children.ENTRY); - } - if (outgoingEdges.get(EXIT) != null) { - n.addOptChild(Children.EXIT, makeRef((ASTNonterminal) outgoingEdges.get(EXIT), Grammar.SEMAPHORE_REF)); - } else { - n.addOptChild(Children.EXIT); - } - ASTList routeList = (ASTList) container.getChildren().get(Grammar.ROUTE); - routeList.addChild(n); - break; - case SWITCHPOSITION: - if (attributes.get(POSITION) != null) { - n.addChild(Children.POSITION, new ASTEnum(Values.ENUM_POSITION, attributes.get(POSITION))); - } - if (outgoingEdges.containsKey(TARGET)) { - n.addChild(Children.TARGET, makeRef((ASTNonterminal) outgoingEdges.get(TARGET), Grammar.SWITCH_REF)); - } - break; - case SENSOR: - n.createListChild(Children.MONITOREDELEMENT); - break; - case SEGMENT: - n.createListChild(Children.CONNECTSTO).createListChild(Children.SEMAPHORE); - if (attributes.get(LENGTH) != null) { - n.addChild(Children.LENGTH, new ASTTerminal("int", attributes.get(LENGTH))); - } - break; - case SWITCH: - n.createListChild(Children.CONNECTSTO); - break; - default: - System.err.println(String.format("Unknown type of vertex: %s", type)); - } - return n; - } - - @Override - public void createEdge(final String label, final Object from, final Object to) throws IOException { - - ASTNonterminal to_nt = (ASTNonterminal) to; - ASTNonterminal from_nt = (ASTNonterminal) from; - if (label.equals(MONITORED_BY)) { - ASTList listNode = (ASTList) to_nt.getChildren().get(Children.MONITOREDELEMENT); - if (from_nt.getType().equals(SWITCH)) { - listNode.addChild(makeRef(from_nt, Grammar.SWITCH_REF)); - } else if (from_nt.getType().equals(SEGMENT)) { - listNode.addChild(makeRef(from_nt, Grammar.SEGMENT_REF)); - } else { - throw new RuntimeException("A monitors edge could not be created because '" + from_nt.getType() + "' is the wrong outgoing type."); - } - } else if (STRUCTURE_EDGE_MAP.containsKey(label)) { - String realEdgeLabel = STRUCTURE_EDGE_MAP.get(label); - ASTNonterminal n = (ASTNonterminal) from; - ASTList listNode = (ASTList) n.getChildren().get(realEdgeLabel); - listNode.addChild((ASTNode) to); - } else { - String realEdgeLabel = REFERENCE_EDGE_MAP.get(label); - ASTNonterminal n = (ASTNonterminal) from; - ASTList listNode = (ASTList) n.getChildren().get(realEdgeLabel); - if (label.equals(REQUIRES)) { - listNode.addChild(makeRef((ASTNonterminal) to, Grammar.SENSOR_REF)); - } else if (label.equals(CONNECTS_TO)) { - if (to_nt.getType().equals(SWITCH)) { - listNode.addChild(makeRef(to_nt, Grammar.SWITCH_REF)); - } else if (to_nt.getType().equals(SEGMENT)) { - listNode.addChild(makeRef(to_nt, Grammar.SEGMENT_REF)); - } - } else { - throw new RuntimeException("An edge could not be created because '" + label + "' is an umknown label."); - } - } - } - - @Override - public void setAttribute(final String type, final Object node, final String key, final Object value) - throws IOException { - if (!key.equals(CURRENTPOSITION)) { - System.err.println(String.format("SetAttribute. Unexpected key: %s", type)); - return; - } - ASTNonterminal n = (ASTNonterminal) node; - n.getChildren().put(Children.CURRENTPOSITION, new ASTEnum(Values.ENUM_POSITION, value)); - } - - static class Grammar { - static final String RAILWAYCONTAINER = "RailwayContainer"; - static final String RAILWAYELEMENT = "RailwayElement"; - static final String REGION = "Region"; - static final String SEMAPHORE = "Semaphore"; - static final String ROUTE = "Route"; - static final String SWITCHPOSITION = "SwitchPosition"; - static final String SENSOR = "Sensor"; - static final String TRACKELEMENT = "TrackElement"; - static final String SEGMENT = "Segment"; - static final String SWITCH = "Switch"; - static final String NAME = "Name"; - static final String SENSOR_REF = "SensorRef"; - static final String SEMAPHORE_REF = "SemaphoreRef"; - static final String TRACKELEMENT_REF = "TrackElementRef"; - static final String SWITCH_REF = "SwitchRef"; - static final String SEGMENT_REF = "SegmentRef"; - } - - static class Children { - static final String ROUTE = "Route"; - static final String REGION = "Region"; - static final String ID = "Id"; - static final String TRACKELEMENT = "TrackElement"; - static final String SENSOR = "Sensor"; - static final String SIGNAL = "Signal"; - static final String ACTIVE = "Active"; - static final String SWITCHPOSITION = "SwitchPosition"; - static final String REQUIREDSENSOR = "RequiredSensor"; - static final String ENTRY = "Entry"; - static final String EXIT = "Exit"; - static final String POSITION = "Position"; - static final String TARGET = "Target"; - static final String MONITOREDELEMENT = "MonitoredElement"; - static final String CONNECTSTO = "ConnectedElement"; - static final String LENGTH = "Length"; - static final String SEMAPHORE = "Semaphore"; - static final String CURRENTPOSITION = "CurrentPosition"; - static final String VALUE = "Value"; - } - - static class Values { - static final String ENUM_SIGNAL = "de.tudresden.inf.st.train.jastadd.ast.Signal"; - static final String ENUM_POSITION = "de.tudresden.inf.st.train.jastadd.ast.Position"; - } - - private abstract class ASTNode { - private String kind; - private String type; - - ASTNode(String kind, String type) { - this.kind = kind; - this.type = type; - } - - public String getKind() { - return kind; - } - - public void setKind(String kind) { - this.kind = kind; - } - - public String getType() { - return type; - } - - public void setType(String type) { - this.type = type; - } - } - - private class ASTNonterminal extends ASTNode { - private final Map<String, ASTNode> children; - - ASTNonterminal(String _type) { - super("NT", _type); - children = new HashMap<>(); - } - - ASTNonterminal(int id, String _type) { - super("NT", _type); - children = new HashMap<>(); - this.addChild(Children.ID, new ASTTerminal("int", id)); - } - - Map<String, ASTNode> getChildren() { - return children; - } - - ASTNonterminal addChild(String key, ASTNode n) { - getChildren().put(key, n); - return this; - } - - ASTNonterminal createListChild(String context) { - addChild(context, new ASTList()); - return this; - } - - ASTNonterminal addOptChild(String context) { - addChild(context, new ASTOpt()); - return this; - } - - ASTNonterminal addOptChild(String context, ASTNode n) { - addChild(context, new ASTOpt(n)); - return this; - } - } - - private class ASTList extends ASTNode { - private final List<ASTNode> children; - - ASTList() { - super("List", null); - children = new ArrayList<>(); - } - - List<ASTNode> getChildren() { - return children; - } - - ASTList addChild(ASTNode n) { - getChildren().add(n); - return this; - } - } - - private class ASTOpt extends ASTNode { - private ASTNode child; - - ASTOpt() { - super("Opt", null); - child = null; - } - - ASTOpt(ASTNode child) { - super("Opt", null); - this.child = child; - } - - boolean hasChild() { - return child != null; - } - - ASTNode getChild() { - return child; - } - - ASTOpt addChild(ASTNode n) { - child = n; - return this; - } - } - - private class ASTTerminal extends ASTNode { - private final Object value; - - ASTTerminal(String _type, Object value) { - super("t", _type); - this.value = value; - } - - public Object getValue() { - return value; - } - - } - - private class ASTEnum extends ASTNode { - private final Object value; - - ASTEnum(String _type, Object value) { - super("enum", _type); - this.value = value; - } - - public Object getValue() { - return value; - } - } - - public class ASTNonterminalSerializer extends StdSerializer<ASTNonterminal> { - public ASTNonterminalSerializer() { - this(null); - } - - public ASTNonterminalSerializer(Class<ASTNonterminal> t) { - super(t); - } - - @Override - public void serialize(ASTNonterminal value, JsonGenerator gen, SerializerProvider provider) throws IOException { - gen.writeStartObject(); - gen.writeStringField("k", value.getKind()); - gen.writeStringField("t", value.getType()); - gen.writeObjectField("c", value.getChildren()); - gen.writeEndObject(); - } - } - - public class ASTListSerializer extends StdSerializer<ASTList> { - public ASTListSerializer() { - this(null); - } - - public ASTListSerializer(Class<ASTList> t) { - super(t); - } - - @Override - public void serialize(ASTList value, JsonGenerator gen, SerializerProvider provider) throws IOException { - gen.writeStartObject(); - gen.writeStringField("k", value.getKind()); - gen.writeObjectField("c", value.getChildren()); - gen.writeEndObject(); - } - } - - public class ASTOptSerializer extends StdSerializer<ASTOpt> { - public ASTOptSerializer() { - this(null); - } - - public ASTOptSerializer(Class<ASTOpt> t) { - super(t); - } - - @Override - public void serialize(ASTOpt value, JsonGenerator gen, SerializerProvider provider) throws IOException { - gen.writeStartObject(); - gen.writeStringField("k", value.getKind()); - if (value.hasChild()) { - gen.writeObjectField("c", value.getChild()); - } - gen.writeEndObject(); - } - } - - public class ASTTerminalSerializer extends StdSerializer<ASTTerminal> { - public ASTTerminalSerializer() { - this(null); - } - - public ASTTerminalSerializer(Class<ASTTerminal> t) { - super(t); - } - - @Override - public void serialize(ASTTerminal value, JsonGenerator gen, SerializerProvider provider) throws IOException { - gen.writeStartObject(); - gen.writeStringField("k", value.getKind()); - gen.writeObjectField("t", value.getType()); - gen.writeObjectField("v", value.getValue()); - gen.writeEndObject(); - } - - } - - public class ASTEnumSerializer extends StdSerializer<ASTEnum> { - public ASTEnumSerializer() { - this(null); - } - - public ASTEnumSerializer(Class<ASTEnum> t) { - super(t); - } - - @Override - public void serialize(ASTEnum value, JsonGenerator gen, SerializerProvider provider) throws IOException { - gen.writeStartObject(); - gen.writeStringField("k", value.getKind()); - gen.writeObjectField("t", value.getType()); - gen.writeObjectField("v", value.getValue()); - gen.writeEndObject(); - } - - } - -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfig.java b/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfig.java deleted file mode 100644 index 9b8d715ab..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfig.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.tudresden.inf.st.trainbenchmark.generator.json4ag.config; - -/** - * Created by rschoene on 5/11/17. - */ - -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfig; -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase; - -public class Json4AgGeneratorConfig extends GeneratorConfig { - - protected Json4AgGeneratorConfig(final GeneratorConfigBase configBase) { - super(configBase); - } - - @Override - public String getProjectName() { - return "json4ag"; - } -} diff --git a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfigBuilder.java b/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfigBuilder.java deleted file mode 100644 index 3ef03e917..000000000 --- a/trainbenchmark/trainbenchmark-generator-json4ag/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/json4ag/config/Json4AgGeneratorConfigBuilder.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Created by rschoene on 5/11/17. - */ -package de.tudresden.inf.st.trainbenchmark.generator.json4ag.config; - -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder; - -public class Json4AgGeneratorConfigBuilder - extends GeneratorConfigBuilder<Json4AgGeneratorConfig, Json4AgGeneratorConfigBuilder> { - - @Override - public Json4AgGeneratorConfig createConfig() { - checkNotNulls(); - return new Json4AgGeneratorConfig(configBase); - } -} diff --git a/trainbenchmark/trainbenchmark-generator-relast/build.gradle b/trainbenchmark/trainbenchmark-generator-relast/build.gradle deleted file mode 100644 index b32ce8a48..000000000 --- a/trainbenchmark/trainbenchmark-generator-relast/build.gradle +++ /dev/null @@ -1,17 +0,0 @@ -plugins { - id "com.github.johnrengelman.shadow" version "1.2.3" -} - -shadowJar { - classifier = 'fat' - manifest { - attributes 'Main-Class': 'de.tudresden.inf.st.trainbenchmark.generator.relast.RelASTGeneratorMain' - } -} - -dependencies { - compile project(':trainbenchmark-tool') - compile project(':trainbenchmark-generator') - compile project(':trainbenchmark-tool-jastadd-relast') - compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.8.8.1' -} diff --git a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/config/RelASTGeneratorConfigBuilder.java b/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/config/RelASTGeneratorConfigBuilder.java deleted file mode 100644 index 94ec5cc83..000000000 --- a/trainbenchmark/trainbenchmark-generator-relast/src/main/java/de/tudresden/inf/st/trainbenchmark/generator/relast/config/RelASTGeneratorConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.trainbenchmark.generator.relast.config; - -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBuilder; - -public class RelASTGeneratorConfigBuilder - extends GeneratorConfigBuilder<RelASTGeneratorConfig, RelASTGeneratorConfigBuilder> { - - @Override - public RelASTGeneratorConfig createConfig() { - checkNotNulls(); - return new RelASTGeneratorConfig(configBase); - } -} diff --git a/trainbenchmark/trainbenchmark-reporting/merge_results.json b/trainbenchmark/trainbenchmark-reporting/merge_results.json index d8de85321..37aba9be6 100644 --- a/trainbenchmark/trainbenchmark-reporting/merge_results.json +++ b/trainbenchmark/trainbenchmark-reporting/merge_results.json @@ -1,24 +1,11 @@ { "tools": [ "tinkergraph", - "drools", - "mysql", - "kiama", "jastadd-java-references", "jastadd-java-references-incremental", "jastadd-symbolic-references-incremental", "jastadd-symbolic-references", - "sqlite", - "viatra", - "racr-cpp", - "racr-python", - "racr-scheme", - "neo4j", - "sesame", - "emfapi", - "rdf4j", - "epsilon", - "eclipseocl" + "viatra" ], "ignored": [ ], diff --git a/trainbenchmark/trainbenchmark-reporting/tool-list.csv b/trainbenchmark/trainbenchmark-reporting/tool-list.csv index b9bcfdc93..a1c456ec8 100644 --- a/trainbenchmark/trainbenchmark-reporting/tool-list.csv +++ b/trainbenchmark/trainbenchmark-reporting/tool-list.csv @@ -1,25 +1,12 @@ Tool -Drools -Eclipse OCL -EMF API -Jena (Inferencing) -Jena (No Inferencing) -MySQL -Neo4j (Core API-CSV) -Neo4j (Cypher-GraphML) -Racr (Scheme) -Racr (Python) -Racr (CPP) -RDF4J (No Inferencing) -SQLite -Jastadd (Name Lookup) -Jastadd (Incremental Name Lookup) -Jastadd (Optimized) -Jastadd (Optimized Incremental) -Jastadd (Specialized) -Jastadd (Specialized Incremental) - -Kiama +Name Lookup +Name Lookup (Incremental) +Intrinsic References +Intrinsic References (Incremental) +Grammar Extension +Grammar Extension (Incremental) +Grammar Extension (Manual Serialization) +Grammar Extension (Manual Serialization, Incremental) TinkerGraph VIATRA (Incremental) VIATRA (Local Search) diff --git a/trainbenchmark/trainbenchmark-scripts/.editorconfig b/trainbenchmark/trainbenchmark-scripts/.editorconfig new file mode 100644 index 000000000..3849aaa64 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*.java] +charset = utf-8 +end_of_line = lf +indent_size = 2 +indent_style = space +insert_final_newline = true +max_line_length = 140 +trim_trailing_whitespace = true diff --git a/trainbenchmark/trainbenchmark-scripts/build.gradle b/trainbenchmark/trainbenchmark-scripts/build.gradle index ab58cd97a..f2b403dc1 100644 --- a/trainbenchmark/trainbenchmark-scripts/build.gradle +++ b/trainbenchmark/trainbenchmark-scripts/build.gradle @@ -1,150 +1,81 @@ -apply plugin: 'groovy' - dependencies { - compile localGroovy() - compile project(':trainbenchmark-generator') - compile project(':trainbenchmark-generator-emf') - compile project(':trainbenchmark-generator-graph-tinkerpop') - compile project(':trainbenchmark-generator-json4ag') - compile project(':trainbenchmark-generator-json4ag-special') - compile project(':trainbenchmark-generator-relast') - compile project(':trainbenchmark-generator-dot') - compile project(':trainbenchmark-tool') - compile project(':trainbenchmark-tool-jastadd-namelookup') - compile project(':trainbenchmark-tool-jastadd-namelookup-incremental') - compile project(':trainbenchmark-tool-jastadd-optimized') - compile project(':trainbenchmark-tool-jastadd-optimized-incremental') - compile project(':trainbenchmark-tool-jastadd-specialized') - compile project(':trainbenchmark-tool-jastadd-specialized-incremental') - compile project(':trainbenchmark-tool-jastadd-relast') - compile project(':trainbenchmark-tool-jastadd-relast-incremental') - compile project(':trainbenchmark-tool-tinkergraph') - compile project(':trainbenchmark-tool-viatra') -} - -sourceSets { - main { - groovy { srcDirs = ['src']} - } -} - -/** - * Initialize the generator, benchmark, etc. scripts in src directory, - * based on the template script in the src-template directory. - */ -task initScripts(type: Copy) { - from 'src-template' - into 'src' - include '*.groovy' -} - -/** - * Save the current scripts from the src directory to the src-template directory. - * Use with caution and double check the diffs before committing the changes. - */ -task saveScripts(type: Copy) { - from 'src' - into 'src-template' - include '*.groovy' + compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.2.3' + compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.3.0' + + compile project(':trainbenchmark-generator') + compile project(':trainbenchmark-generator-emf') + compile project(':trainbenchmark-generator-graph-tinkerpop') + compile project(':trainbenchmark-generator-jastadd-manual') + compile project(':trainbenchmark-generator-jastadd-manual-intrinsic') + compile project(':trainbenchmark-generator-jastadd-relast') + compile project(':trainbenchmark-generator-dot') + compile project(':trainbenchmark-tool') + compile project(':trainbenchmark-tool-jastadd-namelookup') + compile project(':trainbenchmark-tool-jastadd-namelookup-incremental') + compile project(':trainbenchmark-tool-jastadd-intrinsic') + compile project(':trainbenchmark-tool-jastadd-intrinsic-incremental') + compile project(':trainbenchmark-tool-jastadd-manual-relast') + compile project(':trainbenchmark-tool-jastadd-manual-relast-incremental') + compile project(':trainbenchmark-tool-jastadd-relast') + compile project(':trainbenchmark-tool-jastadd-relast-incremental') + compile project(':trainbenchmark-tool-tinkergraph') + compile project(':trainbenchmark-tool-viatra') } task cleanResults(type: Delete) { - doLast { - def resultDir = "../results" - file(resultDir).eachDir{ dir -> - delete "${dir}" - } - } + doLast { + def resultDir = "../results" + file(resultDir).eachDir { dir -> + delete "${dir}" + } + } } -task benchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - description = 'Runs the \'classic\' TrainBenchmark script' - main = 'BenchmarkScript' - classpath = sourceSets.main.runtimeClasspath +task combinedBenchmark(dependsOn: 'classes', type: JavaExec) { + group = 'Benchmark' + description = 'Runs the \'classic\' TrainBenchmark script' + main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' + classpath = sourceSets.main.runtimeClasspath + args 'combined' } task individualRepairBenchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'IndividualBenchmarkRepairScript' - classpath = sourceSets.main.runtimeClasspath + group = 'Benchmark' + main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' + classpath = sourceSets.main.runtimeClasspath + args 'individual_repair' } task individualInjectBenchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'IndividualBenchmarkInjectScript' - classpath = sourceSets.main.runtimeClasspath + group = 'Benchmark' + main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' + classpath = sourceSets.main.runtimeClasspath + args 'individual_inject' } task individualIncrementalBenchmark(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'IndividualBenchmarkIncrementalScript' - classpath = sourceSets.main.runtimeClasspath -} - -task generate(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'GeneratorScript' - classpath = sourceSets.main.runtimeClasspath + group = 'Benchmark' + main = 'de.tudresden.inf.st.train.scripts.BenchmarkMain' + classpath = sourceSets.main.runtimeClasspath + args 'individual_incremental' } -task memory(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'MemoryScript' - classpath = sourceSets.main.runtimeClasspath -} -task qpt(dependsOn: 'classes', type: JavaExec) { - group = 'Benchmark' - main = 'QueryPlanTester' - classpath = sourceSets.main.runtimeClasspath +task generate(dependsOn: 'classes', type: JavaExec) { + group = 'Benchmark' + description = 'Generates the models for all benchmarks' + main = 'de.tudresden.inf.st.train.scripts.GenerateMain' + classpath = sourceSets.main.runtimeClasspath } -generate.dependsOn(":trainbenchmark-generator-emf:shadowJar") -generate.dependsOn(":trainbenchmark-generator-json4ag:shadowJar") -generate.dependsOn(":trainbenchmark-generator-json4ag-special:shadowJar") -generate.dependsOn(":trainbenchmark-generator-relast:shadowJar") - -benchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup-incremental:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-jastadd-optimized:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-jastadd-optimized-incremental:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized-incremental:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-jastadd-relast:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-jastadd-relast-incremental:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-tinkergraph:shadowJar') -benchmark.dependsOn(':trainbenchmark-tool-viatra:shadowJar') - -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup-incremental:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-optimized:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized-incremental:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized-incremental:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-relast:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-jastadd-relast-incremental:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-tinkergraph:shadowJar') -individualInjectBenchmark.dependsOn(':trainbenchmark-tool-viatra:shadowJar') - -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup-incremental:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-optimized:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-optimized-incremental:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized-incremental:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-relast:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-jastadd-relast-incremental:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-tinkergraph:shadowJar') -individualRepairBenchmark.dependsOn(':trainbenchmark-tool-viatra:shadowJar') - -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-namelookup-incremental:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-optimized:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-optimized-incremental:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-specialized-incremental:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-relast:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-jastadd-relast-incremental:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-tinkergraph:shadowJar') -individualIncrementalBenchmark.dependsOn(':trainbenchmark-tool-viatra:shadowJar') \ No newline at end of file +//task memory(dependsOn: 'classes', type: JavaExec) { +// group = 'Benchmark' +// main = 'MemoryScript' +// classpath = sourceSets.main.runtimeClasspath +//} +// +//task qpt(dependsOn: 'classes', type: JavaExec) { +// group = 'Benchmark' +// main = 'QueryPlanTester' +// classpath = sourceSets.main.runtimeClasspath +//} diff --git a/trainbenchmark/trainbenchmark-scripts/diff.sh b/trainbenchmark/trainbenchmark-scripts/diff.sh deleted file mode 100755 index 68cb96f4e..000000000 --- a/trainbenchmark/trainbenchmark-scripts/diff.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -diff -x .gitignore src/ src-template/ diff --git a/trainbenchmark/trainbenchmark-scripts/src-template/BenchmarkScript.groovy b/trainbenchmark/trainbenchmark-scripts/src-template/BenchmarkScript.groovy deleted file mode 100644 index 5249a2c85..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src-template/BenchmarkScript.groovy +++ /dev/null @@ -1,155 +0,0 @@ - -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.constants.RailwayOperation -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBaseBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.ModelSetConfig -import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy -import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkReporter -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner - -// tools -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.tinkergraph.config.TinkerGraphBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBackend -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBenchmarkConfigBuilder - -println('Please remember to stop all other Java processes.') -println() -println('If in doubt, check with this command:') -println('$ ps auxw | grep jav[a]') -println() -println('If there are other Java processes, use:') -println('$ killall -9 java') - -def benchmarkId = ResultHelper.createNewResultDir() -ResultHelper.saveConfiguration(benchmarkId) -def ec = new ExecutionConfig(4000, 8000) - -def minSize = 1 -def maxSize = 8 -def timeout = 900 -def runs = 1 - -println() -println("############################################################") -println('Benchmark parameters:') -println("- execution config: ${ec}") -println("- range: minSize=${minSize}, maxSize=${maxSize}") -println("- timeout: ${timeout}") -println("- runs: ${runs}") -println("############################################################") -println() - -// Set the reportUrl if you would like to receive a Slack notification when the benchmark finished. -//reportUrl = "https://hooks.slack.com/services/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" - -def tools = [ - new JastaddNameLookupBenchmarkConfigBuilder(), - new JastaddNameLookupIncrementalBenchmarkConfigBuilder(), - new JastaddOptimizedBenchmarkConfigBuilder(), - new JastaddOptimizedIncrementalBenchmarkConfigBuilder(), - new JastaddSpecializedBenchmarkConfigBuilder(), - new JastaddSpecializedIncrementalBenchmarkConfigBuilder(), - new TinkerGraphBenchmarkConfigBuilder(), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.INCREMENTAL), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.LOCAL_SEARCH), -] - -def workloads = [ - - Inject: [ - modelVariant: "inject", - operations: [ - RailwayOperation.CONNECTEDSEGMENTS, - RailwayOperation.POSLENGTH, - RailwayOperation.ROUTESENSOR, - RailwayOperation.SEMAPHORENEIGHBOR, - RailwayOperation.SWITCHSET, - RailwayOperation.SWITCHMONITORED, - RailwayOperation.CONNECTEDSEGMENTS_INJECT, - RailwayOperation.POSLENGTH_INJECT, - RailwayOperation.ROUTESENSOR_INJECT, - RailwayOperation.SEMAPHORENEIGHBOR_INJECT, - RailwayOperation.SWITCHSET_INJECT, - RailwayOperation.SWITCHMONITORED_INJECT, - ], - strategy: TransformationChangeSetStrategy.FIXED, - constant: 10, // elements - queryTransformationCount: 12, // iterations - ], - Repair: [ - modelVariant: "repair", - operations: [ - RailwayOperation.CONNECTEDSEGMENTS_REPAIR, - RailwayOperation.POSLENGTH_REPAIR, - RailwayOperation.ROUTESENSOR_REPAIR, - RailwayOperation.SEMAPHORENEIGHBOR_REPAIR, - RailwayOperation.SWITCHSET_REPAIR, - RailwayOperation.SWITCHMONITORED_REPAIR, - ], - strategy: TransformationChangeSetStrategy.PROPORTIONAL, - constant: 5, // percent - queryTransformationCount: 8, // iterations - ], -] - -def runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, - ExecutionConfig ec, ModelSetConfig modelSetConfig) { - try { - for (def size = modelSetConfig.minSize; size <= modelSetConfig.maxSize; size *= 2) { - def modelFilename = "railway-${modelSetConfig.modelVariant}-${size}" - - println("------------------------------------------------------------") - println("Model: $modelFilename") - println("------------------------------------------------------------") - - configBaseBuilder.setModelFilename(modelFilename) - def configBase = configBaseBuilder.createConfigBase() - def config = configBuilder.setConfigBase(configBase).createConfig() - - def exitValue = BenchmarkRunner.runPerformanceBenchmark(config, ec) - if (exitValue != 0) { - println "Timeout or error occured, skipping models for larger sizes. Error code: ${exitValue}" - break - } - } - } catch (all) { - println "Exception occured during execution." - } -} - -workloads.each { workload -> - def workloadName = workload.key - - def workloadConfiguration = workload.value - def modelVariant = workloadConfiguration["modelVariant"] - def operations = workloadConfiguration["operations"] - def strategy = workloadConfiguration["strategy"] - def constant = workloadConfiguration["constant"] - def queryTransformationCount = workloadConfiguration["queryTransformationCount"] - - println("============================================================") - println("Workload: $workloadName") - println("============================================================") - - def modelSetConfig = new ModelSetConfig(modelVariant, minSize, maxSize) - - def bcbb = new BenchmarkConfigBaseBuilder() - .setBenchmarkId(benchmarkId).setTimeout(timeout).setRuns(runs) - .setOperations(operations).setWorkload(workloadName) - .setQueryTransformationCount(queryTransformationCount).setTransformationConstant(constant) - .setTransformationChangeSetStrategy(strategy) - - tools.each{ bcb -> runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig) } -} - -if (binding.variables.get("reportUrl")) { - BenchmarkReporter.reportReady(reportUrl) -} diff --git a/trainbenchmark/trainbenchmark-scripts/src-template/GeneratorScript.groovy b/trainbenchmark/trainbenchmark-scripts/src-template/GeneratorScript.groovy deleted file mode 100644 index 83c5a7526..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src-template/GeneratorScript.groovy +++ /dev/null @@ -1,50 +0,0 @@ -import de.tudresden.inf.st.trainbenchmark.generator.json4ag.config.Json4AgGeneratorConfigBuilder -import de.tudresden.inf.st.trainbenchmark.generator.json4agspecial.config.Json4AgSpecialGeneratorConfigBuilder -import de.tudresden.inf.st.trainbenchmark.generator.relast.config.RelASTGeneratorConfigBuilder -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase -import hu.bme.mit.trainbenchmark.generator.config.Scenario -import hu.bme.mit.trainbenchmark.generator.emf.config.EmfGeneratorConfigBuilder -import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat -import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfigBuilder -import hu.bme.mit.trainbenchmark.generator.runner.GeneratorRunner - -def ec = new ExecutionConfig(4000, 6000) -def minSize = 1 -/* def maxSize = 2048 */ -def maxSize = 1024 - -def scenarios = [ - Scenario.BATCH, - Scenario.INJECT, - Scenario.REPAIR, -] - -def formats = [ - new EmfGeneratorConfigBuilder(), - new TinkerGraphGeneratorConfigBuilder().setGraphFormat(TinkerGraphFormat.GRAPHML), - new Json4AgGeneratorConfigBuilder(), - new Json4AgSpecialGeneratorConfigBuilder(), - new RelASTGeneratorConfigBuilder() -] - -for (scenario in scenarios) { - formats.each { generatorConfigBuilder -> - try { - for (def size = minSize; size <= maxSize; size = size>0?size*2:1) { - println("Scenario: ${scenario}, size: ${size}") - - def configBase = new GeneratorConfigBase(scenario, size) - def config = generatorConfigBuilder.setConfigBase(configBase).createConfig() - - def exitValue = GeneratorRunner.run(config, ec) - if (exitValue != 0) { - println "Timeout or error occurred, skipping models for larger sizes. Error code: ${exitValue}" - break - } - } - } catch (all) { - println "Exception occurred during execution." - } - } -} diff --git a/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkIncrementalScript.groovy b/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkIncrementalScript.groovy deleted file mode 100644 index dfb61c65d..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkIncrementalScript.groovy +++ /dev/null @@ -1,125 +0,0 @@ -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.constants.RailwayOperation -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBaseBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.ModelSetConfig -import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy -import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkReporter -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner - -// tools -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.tinkergraph.config.TinkerGraphBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBackend -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBenchmarkConfigBuilder - -println('Please remember to stop all other Java processes.') -println() -println('If in doubt, check with this command:') -println('$ ps auxw | grep jav[a]') -println() -println('If there are other Java processes, use:') -println('$ killall -9 java') - -def benchmarkId = ResultHelper.createNewResultDir() -ResultHelper.saveConfiguration(benchmarkId) -def ec = new ExecutionConfig(4000, 8000) - -def minSize = 1 -def maxSize = 8 -def timeout = 900 -def runs = 1 - -println() -println("############################################################") -println('Benchmark parameters:') -println("- execution config: ${ec}") -println("- range: minSize=${minSize}, maxSize=${maxSize}") -println("- timeout: ${timeout}") -println("- runs: ${runs}") -println("############################################################") -println() - -// Set the reportUrl if you would like to receive a Slack notification when the benchmark finished. -//reportUrl = "https://hooks.slack.com/services/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" - -def tools = [ - new JastaddNameLookupBenchmarkConfigBuilder(), - new JastaddNameLookupIncrementalBenchmarkConfigBuilder(), - new JastaddOptimizedBenchmarkConfigBuilder(), - new JastaddOptimizedIncrementalBenchmarkConfigBuilder(), - new JastaddSpecializedBenchmarkConfigBuilder(), - new JastaddSpecializedIncrementalBenchmarkConfigBuilder(), - new TinkerGraphBenchmarkConfigBuilder(), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.INCREMENTAL), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.LOCAL_SEARCH), -] - -def workloads = [ - ConnectedSegments: [ modelVariant: "inject", operations: [RailwayOperation.CONNECTEDSEGMENTS, RailwayOperation.CONNECTEDSEGMENTS_INJECT, RailwayOperation.CONNECTEDSEGMENTS_REPAIR], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 50], - PosLength: [ modelVariant: "inject", operations: [RailwayOperation.POSLENGTH , RailwayOperation.POSLENGTH_INJECT , RailwayOperation.POSLENGTH_REPAIR ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 50], - RouteSensor: [ modelVariant: "inject", operations: [RailwayOperation.ROUTESENSOR , RailwayOperation.ROUTESENSOR_INJECT , RailwayOperation.ROUTESENSOR_REPAIR ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 50], - SemaphoreNeighbor: [ modelVariant: "inject", operations: [RailwayOperation.SEMAPHORENEIGHBOR, RailwayOperation.SEMAPHORENEIGHBOR_INJECT, RailwayOperation.SEMAPHORENEIGHBOR_REPAIR], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 50], - SwitchMonitored: [ modelVariant: "inject", operations: [RailwayOperation.SWITCHMONITORED , RailwayOperation.SWITCHMONITORED_INJECT , RailwayOperation.SWITCHMONITORED_REPAIR ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 50], - SwitchSet: [ modelVariant: "inject", operations: [RailwayOperation.SWITCHSET , RailwayOperation.SWITCHSET_INJECT , RailwayOperation.SWITCHSET_REPAIR ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 50], -] - -def runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, - ExecutionConfig ec, ModelSetConfig modelSetConfig) { - try { - for (def size = modelSetConfig.minSize; size <= modelSetConfig.maxSize; size *= 2) { - def modelFilename = "railway-${modelSetConfig.modelVariant}-${size}" - - println("------------------------------------------------------------") - println("Model: $modelFilename") - println("------------------------------------------------------------") - - configBaseBuilder.setModelFilename(modelFilename) - def configBase = configBaseBuilder.createConfigBase() - def config = configBuilder.setConfigBase(configBase).createConfig() - - def exitValue = BenchmarkRunner.runPerformanceBenchmark(config, ec) - if (exitValue != 0) { - println "Timeout or error occured, skipping models for larger sizes. Error code: ${exitValue}" - break - } - } - } catch (all) { - println "Exception occured during execution." - } -} - -workloads.each { workload -> - def workloadName = workload.key - - def workloadConfiguration = workload.value - def modelVariant = workloadConfiguration["modelVariant"] - def operations = workloadConfiguration["operations"] - def strategy = workloadConfiguration["strategy"] - def constant = workloadConfiguration["constant"] - def queryTransformationCount = workloadConfiguration["queryTransformationCount"] - - println("============================================================") - println("Workload: $workloadName") - println("============================================================") - - def modelSetConfig = new ModelSetConfig(modelVariant, minSize, maxSize) - - def bcbb = new BenchmarkConfigBaseBuilder() - .setBenchmarkId(benchmarkId).setTimeout(timeout).setRuns(runs) - .setOperations(operations).setWorkload(workloadName) - .setQueryTransformationCount(queryTransformationCount).setTransformationConstant(constant) - .setTransformationChangeSetStrategy(strategy) - - tools.each{ bcb -> runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig) } -} - -if (binding.variables.get("reportUrl")) { - BenchmarkReporter.reportReady(reportUrl) -} diff --git a/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy b/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy deleted file mode 100644 index 75c735187..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy +++ /dev/null @@ -1,124 +0,0 @@ -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.constants.RailwayOperation -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBaseBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.ModelSetConfig -import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy -import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkReporter -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner - -// tools -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.tinkergraph.config.TinkerGraphBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBackend -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBenchmarkConfigBuilder - -println('Please remember to stop all other Java processes.') -println() -println('If in doubt, check with this command:') -println('$ ps auxw | grep jav[a]') -println() -println('If there are other Java processes, use:') -println('$ killall -9 java') - -def benchmarkId = ResultHelper.createNewResultDir() -ResultHelper.saveConfiguration(benchmarkId, "IndividualBenchmarkInjectScript.groovy") -def ec = new ExecutionConfig(1000, 8000) - -def minSize = 1 -def maxSize = 512 -def timeout = 900 -def runs = 10 - -println() -println("############################################################") -println('Benchmark parameters:') -println("- execution config: ${ec}") -println("- range: minSize=${minSize}, maxSize=${maxSize}") -println("- timeout: ${timeout}") -println("- runs: ${runs}") -println("############################################################") -println() - -// Set the reportUrl if you would like to receive a Slack notification when the benchmark finished. -//reportUrl = "https://hooks.slack.com/services/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" - -def tools = [ - new JastaddNameLookupBenchmarkConfigBuilder(), - new JastaddNameLookupIncrementalBenchmarkConfigBuilder(), - new JastaddOptimizedBenchmarkConfigBuilder(), - new JastaddOptimizedIncrementalBenchmarkConfigBuilder(), - new JastaddSpecializedBenchmarkConfigBuilder(), - new JastaddSpecializedIncrementalBenchmarkConfigBuilder(), - new TinkerGraphBenchmarkConfigBuilder(), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.INCREMENTAL), -] - -def workloads = [ - ConnectedSegments: [ modelVariant: "inject", operations: [RailwayOperation.CONNECTEDSEGMENTS, RailwayOperation.CONNECTEDSEGMENTS_INJECT], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 12], - PosLength: [ modelVariant: "inject", operations: [RailwayOperation.POSLENGTH , RailwayOperation.POSLENGTH_INJECT ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 12], - RouteSensor: [ modelVariant: "inject", operations: [RailwayOperation.ROUTESENSOR , RailwayOperation.ROUTESENSOR_INJECT ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 12], - SemaphoreNeighbor: [ modelVariant: "inject", operations: [RailwayOperation.SEMAPHORENEIGHBOR, RailwayOperation.SEMAPHORENEIGHBOR_INJECT], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 12], - SwitchMonitored: [ modelVariant: "inject", operations: [RailwayOperation.SWITCHMONITORED , RailwayOperation.SWITCHMONITORED_INJECT ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 12], - SwitchSet: [ modelVariant: "inject", operations: [RailwayOperation.SWITCHSET , RailwayOperation.SWITCHSET_INJECT ], strategy: TransformationChangeSetStrategy.FIXED, constant: 10, queryTransformationCount: 12], -] - -def runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, - ExecutionConfig ec, ModelSetConfig modelSetConfig) { - try { - for (def size = modelSetConfig.minSize; size <= modelSetConfig.maxSize; size *= 2) { - def modelFilename = "railway-${modelSetConfig.modelVariant}-${size}" - - println("------------------------------------------------------------") - println("Model: $modelFilename") - println("------------------------------------------------------------") - - configBaseBuilder.setModelFilename(modelFilename) - def configBase = configBaseBuilder.createConfigBase() - def config = configBuilder.setConfigBase(configBase).createConfig() - - def exitValue = BenchmarkRunner.runPerformanceBenchmark(config, ec) - if (exitValue != 0) { - println "Timeout or error occured, skipping models for larger sizes. Error code: ${exitValue}" - break - } - } - } catch (all) { - println "Exception occured during execution." - } -} - -workloads.each { workload -> - def workloadName = workload.key - - def workloadConfiguration = workload.value - def modelVariant = workloadConfiguration["modelVariant"] - def operations = workloadConfiguration["operations"] - def strategy = workloadConfiguration["strategy"] - def constant = workloadConfiguration["constant"] - def queryTransformationCount = workloadConfiguration["queryTransformationCount"] - - println("============================================================") - println("Workload: $workloadName") - println("============================================================") - - def modelSetConfig = new ModelSetConfig(modelVariant, minSize, maxSize) - - def bcbb = new BenchmarkConfigBaseBuilder() - .setBenchmarkId(benchmarkId).setTimeout(timeout).setRuns(runs) - .setOperations(operations).setWorkload(workloadName) - .setQueryTransformationCount(queryTransformationCount).setTransformationConstant(constant) - .setTransformationChangeSetStrategy(strategy) - - tools.each{ bcb -> runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig) } -} - -if (binding.variables.get("reportUrl")) { - BenchmarkReporter.reportReady(reportUrl) -} diff --git a/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy b/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy deleted file mode 100644 index 0108017ae..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy +++ /dev/null @@ -1,123 +0,0 @@ -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.constants.RailwayOperation -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBaseBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.ModelSetConfig -import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy -import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkReporter -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner - -// tools -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfigBuilder -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.tinkergraph.config.TinkerGraphBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBackend -import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBenchmarkConfigBuilder -println('Please remember to stop all other Java processes.') -println() -println('If in doubt, check with this command:') -println('$ ps auxw | grep jav[a]') -println() -println('If there are other Java processes, use:') -println('$ killall -9 java') - -def benchmarkId = ResultHelper.createNewResultDir() -ResultHelper.saveConfiguration(benchmarkId, "IndividualBenchmarkRepairScript.groovy") -def ec = new ExecutionConfig(1000, 8000) - -def minSize = 1 -def maxSize = 512 -def timeout = 900 -def runs = 10 - -println() -println("############################################################") -println('Benchmark parameters:') -println("- execution config: ${ec}") -println("- range: minSize=${minSize}, maxSize=${maxSize}") -println("- timeout: ${timeout}") -println("- runs: ${runs}") -println("############################################################") -println() - -// Set the reportUrl if you would like to receive a Slack notification when the benchmark finished. -//reportUrl = "https://hooks.slack.com/services/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" - -def tools = [ - new JastaddNameLookupBenchmarkConfigBuilder(), - new JastaddNameLookupIncrementalBenchmarkConfigBuilder(), - new JastaddOptimizedBenchmarkConfigBuilder(), - new JastaddOptimizedIncrementalBenchmarkConfigBuilder(), - new JastaddSpecializedBenchmarkConfigBuilder(), - new JastaddSpecializedIncrementalBenchmarkConfigBuilder(), - new TinkerGraphBenchmarkConfigBuilder(), - new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.INCREMENTAL), -] - -def workloads = [ - ConnectedSegments: [ modelVariant: "repair", operations: [RailwayOperation.CONNECTEDSEGMENTS_REPAIR], strategy: TransformationChangeSetStrategy.PROPORTIONAL, constant: 5, queryTransformationCount: 8], - PosLength: [ modelVariant: "repair", operations: [RailwayOperation.POSLENGTH_REPAIR ], strategy: TransformationChangeSetStrategy.PROPORTIONAL, constant: 5, queryTransformationCount: 8], - RouteSensor: [ modelVariant: "repair", operations: [RailwayOperation.ROUTESENSOR_REPAIR ], strategy: TransformationChangeSetStrategy.PROPORTIONAL, constant: 5, queryTransformationCount: 8], - SemaphoreNeighbor: [ modelVariant: "repair", operations: [RailwayOperation.SEMAPHORENEIGHBOR_REPAIR], strategy: TransformationChangeSetStrategy.PROPORTIONAL, constant: 5, queryTransformationCount: 8], - SwitchMonitored: [ modelVariant: "repair", operations: [RailwayOperation.SWITCHMONITORED_REPAIR ], strategy: TransformationChangeSetStrategy.PROPORTIONAL, constant: 5, queryTransformationCount: 8], - SwitchSet: [ modelVariant: "repair", operations: [RailwayOperation.SWITCHSET_REPAIR ], strategy: TransformationChangeSetStrategy.PROPORTIONAL, constant: 5, queryTransformationCount: 8], -] - -def runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, - ExecutionConfig ec, ModelSetConfig modelSetConfig) { - try { - for (def size = modelSetConfig.minSize; size <= modelSetConfig.maxSize; size *= 2) { - def modelFilename = "railway-${modelSetConfig.modelVariant}-${size}" - - println("------------------------------------------------------------") - println("Model: $modelFilename") - println("------------------------------------------------------------") - - configBaseBuilder.setModelFilename(modelFilename) - def configBase = configBaseBuilder.createConfigBase() - def config = configBuilder.setConfigBase(configBase).createConfig() - - def exitValue = BenchmarkRunner.runPerformanceBenchmark(config, ec) - if (exitValue != 0) { - println "Timeout or error occured, skipping models for larger sizes. Error code: ${exitValue}" - break - } - } - } catch (all) { - println "Exception occured during execution." - } -} - -workloads.each { workload -> - def workloadName = workload.key - - def workloadConfiguration = workload.value - def modelVariant = workloadConfiguration["modelVariant"] - def operations = workloadConfiguration["operations"] - def strategy = workloadConfiguration["strategy"] - def constant = workloadConfiguration["constant"] - def queryTransformationCount = workloadConfiguration["queryTransformationCount"] - - println("============================================================") - println("Workload: $workloadName") - println("============================================================") - - def modelSetConfig = new ModelSetConfig(modelVariant, minSize, maxSize) - - def bcbb = new BenchmarkConfigBaseBuilder() - .setBenchmarkId(benchmarkId).setTimeout(timeout).setRuns(runs) - .setOperations(operations).setWorkload(workloadName) - .setQueryTransformationCount(queryTransformationCount).setTransformationConstant(constant) - .setTransformationChangeSetStrategy(strategy) - - tools.each{ bcb -> runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig) } -} - -if (binding.variables.get("reportUrl")) { - BenchmarkReporter.reportReady(reportUrl) -} diff --git a/trainbenchmark/trainbenchmark-scripts/src-template/MemoryScript.groovy b/trainbenchmark/trainbenchmark-scripts/src-template/MemoryScript.groovy deleted file mode 100644 index 945b0ea74..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src-template/MemoryScript.groovy +++ /dev/null @@ -1,130 +0,0 @@ -//import hu.bme.mit.trainbenchmark.benchmark.blazegraph.config.BlazegraphBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBaseBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.ModelSetConfig -import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy -//import hu.bme.mit.trainbenchmark.benchmark.drools.config.DroolsBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.eclipseocl.config.EclipseOclBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.emfapi.config.EmfApiBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.jena.config.JenaBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.mysql.config.MySqlBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.neo4j.config.Neo4jEngine -//import hu.bme.mit.trainbenchmark.benchmark.rdf4j.config.Rdf4jBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkReporter -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner -//import hu.bme.mit.trainbenchmark.benchmark.sqlite.config.SQLiteBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.tinkergraph.config.TinkerGraphBenchmarkConfigBuilder -//import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBackend -//import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.constants.RailwayOperation -//import hu.bme.mit.trainbenchmark.neo4j.config.Neo4jGraphFormat - -println('Please remember to stop all other Java processes.') -println() -println('If in doubt, check with this command:') -println('$ ps auxw | grep jav[a]') -println() -println('If there are other Java processes, use:') -println('$ killall -9 java') - -def benchmarkId = ResultHelper.createNewResultDir() -ResultHelper.saveConfiguration(benchmarkId) -def ec = new ExecutionConfig(12800, 12800) - -def minSize = 1 -def maxSize = 2048 -def timeout = 900 - -// Set the reportUrl if you would like to receive a Slack notification when the benchmark finished. -// The default configuration points to our research group's Slack. -//reportUrl = "https://hooks.slack.com/services/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" - -def tools = [ -// new BlazegraphBenchmarkConfigBuilder().setInferencing(false), -// new BlazegraphBenchmarkConfigBuilder().setInferencing(true), -// new EclipseOclBenchmarkConfigBuilder(), -// new DroolsBenchmarkConfigBuilder(), -// new EmfApiBenchmarkConfigBuilder(), -// new JenaBenchmarkConfigBuilder().setInferencing(false), -// new JenaBenchmarkConfigBuilder().setInferencing(true), -// new MySqlBenchmarkConfigBuilder(), -// new Neo4jBenchmarkConfigBuilder().setEngine(Neo4jEngine.COREAPI).setGraphFormat(Neo4jGraphFormat.GRAPHML), -// new Neo4jBenchmarkConfigBuilder().setEngine(Neo4jEngine.CYPHER ).setGraphFormat(Neo4jGraphFormat.GRAPHML), -// new Rdf4jBenchmarkConfigBuilder().setInferencing(false), -// new SQLiteBenchmarkConfigBuilder(), -// new TinkerGraphBenchmarkConfigBuilder(), -// new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.INCREMENTAL), -// new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.LOCAL_SEARCH), -// new Jastadd -] - -def workloads = [ - Batch: [ - operations: [ - RailwayOperation.CONNECTEDSEGMENTS, - RailwayOperation.POSLENGTH, - RailwayOperation.ROUTESENSOR, - RailwayOperation.SEMAPHORENEIGHBOR, - RailwayOperation.SWITCHSET, - RailwayOperation.SWITCHMONITORED, - ], - strategy: TransformationChangeSetStrategy.FIXED, - constant: 0, - queryTransformationCount: 0, - numberOfSteps: 9, - ] -] - -def runMemoryBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, - ExecutionConfig ec, ModelSetConfig modelSetConfig, int numberOfSteps) { - for (def size = modelSetConfig.minSize; size <= modelSetConfig.maxSize; size *= 2) { - def modelFilename = "railway-${modelSetConfig.modelVariant}-${size}" - - println("------------------------------------------------------------") - println("Model: $modelFilename") - println("------------------------------------------------------------") - - configBaseBuilder.setModelFilename(modelFilename) - def configBase = configBaseBuilder.createConfigBase() - def config = configBuilder.setConfigBase(configBase).createConfig() - - def exitValue = BenchmarkRunner.runMemoryBenchmark(config, ec, numberOfSteps) - if (exitValue != 0) { - println "Timeout or error occured, skipping models for larger sizes. Error code: {$exitValue}" - break - } - } -} - -workloads.each { workload -> - def workloadName = workload.key - def modelVariant = workloadName.toLowerCase() - def workloadConfiguration = workload.value - - def operations = workloadConfiguration["operations"] - def strategy = workloadConfiguration["strategy"] - def constant = workloadConfiguration["constant"] - def queryTransformationCount = workloadConfiguration["queryTransformationCount"] - def numberOfSteps = workloadConfiguration["numberOfSteps"] - - println("============================================================") - println("Workload: $workloadName") - println("============================================================") - - def modelSetConfig = new ModelSetConfig(modelVariant, minSize, maxSize) - - def bcbb = new BenchmarkConfigBaseBuilder() - .setBenchmarkId(benchmarkId).setTimeout(timeout).setRuns(1) - .setQueryTransformationCount(queryTransformationCount).setOperations(operations) - .setWorkload(workloadName).setTransformationChangeSetStrategy(TransformationChangeSetStrategy.FIXED) - .setTransformationConstant(0); - - tools.each{ bcb -> runMemoryBenchmarkSeries(bcbb, bcb, ec, modelSetConfig, numberOfSteps) } -} - -if (binding.variables.get("reportUrl")) { - BenchmarkReporter.reportReady(reportUrl) -} diff --git a/trainbenchmark/trainbenchmark-scripts/src-template/QueryPlanTester.groovy b/trainbenchmark/trainbenchmark-scripts/src-template/QueryPlanTester.groovy deleted file mode 100644 index fb73aa306..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src-template/QueryPlanTester.groovy +++ /dev/null @@ -1,77 +0,0 @@ -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBaseBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.config.ModelSetConfig -import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy -//import hu.bme.mit.trainbenchmark.benchmark.ingraph.config.IngraphBenchmarkConfigBuilder -import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner -import hu.bme.mit.trainbenchmark.config.ExecutionConfig -import hu.bme.mit.trainbenchmark.constants.RailwayOperation -import hu.bme.mit.trainbenchmark.generator.config.Scenario - -def benchmarkId = ResultHelper.createNewResultDir() -ResultHelper.saveConfiguration(benchmarkId) -def ec = new ExecutionConfig(12000, 12000) - -def scenarios = [Scenario.REPAIR] -def minSize = 1 -def maxSize = 2048 -def timeout = 900 -def runs = 10 -def queryTransformationCount = 100 -def transformationConstant = 10 -def transformationChangeSetStrategy = TransformationChangeSetStrategy.FIXED -def messageSize = 2048 - -def runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, - ExecutionConfig ec, ModelSetConfig modelSetConfig) { - for (def size = modelSetConfig.minSize; size <= modelSetConfig.maxSize; size *= 2) { - def modelFilename = "railway-${modelSetConfig.modelVariant}-${size}" - - println("------------------------------------------------------------") - println("Model: $modelFilename") - println("------------------------------------------------------------") - - configBaseBuilder.setModelFilename(modelFilename) - def configBase = configBaseBuilder.createConfigBase() - def config = configBuilder.setConfigBase(configBase).createConfig() - - def exitValue = BenchmarkRunner.runPerformanceBenchmark(config, ec) - if (exitValue != 0) { - println "Timeout or error occured, skipping models for larger sizes. Error code: ${exitValue}" - break - } - } -} - -for (scenario in scenarios) { - def scenarioName = scenario.toString() - def modelVariant = scenarioName.toLowerCase() - - def bcbb = new BenchmarkConfigBaseBuilder().setBenchmarkId(benchmarkId) - .setTimeout(timeout).setRuns(runs).setQueryTransformationCount(queryTransformationCount) - .setTransformationChangeSetStrategy(transformationChangeSetStrategy) - .setTransformationConstant(transformationConstant); - - def modelSetConfig = new ModelSetConfig(modelVariant, minSize, maxSize) - - for (variant in 'A'..'C') { - bcbb.setWorkload("RouteSensor") - bcbb.setOperations([ - RailwayOperation.ROUTESENSOR_REPAIR - ]) - -// def bcb = new IngraphBenchmarkConfigBuilder().setMessageSize(messageSize).setQueryVariant(variant) -// runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig) - } - - for (variant in 'A'..'F') { - bcbb.setWorkload("SemaphoreNeighbor") - bcbb.setOperations([ - RailwayOperation.SEMAPHORENEIGHBOR_REPAIR - ]) - -// def bcb = new IngraphBenchmarkConfigBuilder().setMessageSize(messageSize).setQueryVariant(variant) -// runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig) - } -} diff --git a/trainbenchmark/trainbenchmark-scripts/src/.gitignore b/trainbenchmark/trainbenchmark-scripts/src/.gitignore deleted file mode 100644 index cebd7b311..000000000 --- a/trainbenchmark/trainbenchmark-scripts/src/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.groovy diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java new file mode 100644 index 000000000..c322d6648 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkMain.java @@ -0,0 +1,145 @@ +package de.tudresden.inf.st.train.scripts; + +import com.fasterxml.jackson.databind.ObjectMapper; +import hu.bme.mit.trainbenchmark.benchmark.config.*; +import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper; +import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkRunner; +import hu.bme.mit.trainbenchmark.config.ExecutionConfig; +import hu.bme.mit.trainbenchmark.constants.RailwayOperation; + +import java.io.IOException; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +/** + * Main entry point to start benchmarks. + * Created by rschoene on 10/12/17. + */ +public class BenchmarkMain { + + @SuppressWarnings("unchecked") + private static void runBenchmarkSeries(BenchmarkConfigBaseBuilder configBaseBuilder, BenchmarkConfigBuilder configBuilder, + ExecutionConfig ec, ModelSetConfig modelSetConfig, BenchmarkSettingsBasics bbs) { + Map<String, String> jvmSettingsMap = Utils.createJvmSettingsMap(bbs); + String jvmDefaultSettings = jvmSettingsMap.getOrDefault("*", + "-Xms{Xms} -Xmx{Xmx} -server -Xverify:none"); + try { + for (int size = modelSetConfig.getMinSize(); size <= modelSetConfig.getMaxSize(); size *= 2) { + String modelFilename = "railway-" + modelSetConfig.getModelVariant() + "-" + size; + + System.out.println("------------------------------------------------------------"); + System.out.println("Model: " + modelFilename); + System.out.println("------------------------------------------------------------"); + + configBaseBuilder.setModelFilename(modelFilename); + BenchmarkConfigBase configBase = configBaseBuilder.createConfigBase(); + BenchmarkConfig config = (BenchmarkConfig) configBuilder.setConfigBase(configBase).createConfig(); + + if (!bbs.isDryRun()) { + ResultHelper.prepare(config, ec); + } + String jvmSetting = jvmSettingsMap.getOrDefault(config.getToolName(), jvmDefaultSettings); + + int exitValue = BenchmarkRunner.runPerformanceBenchmark(config, ec, jvmSetting); + if (exitValue != 0) { + System.out.println("Timeout or error occurred, skipping models for larger sizes. Error code: " + exitValue); + break; + } + } + } catch (InterruptedException | IOException e) { + System.out.println("Exception occurred during execution."); + e.printStackTrace(); + } + } + + public static void main(String args[]) throws Exception { + // set benchmark variant from program arguments + if (args.length == 0) { + System.err.println("Need to specify one argument identifying the benchmark variant"); + System.exit(1); + } + String benchmarkVariant = args[0]; + + // read basic settings (min, maxsize, etc.) + ObjectMapper mapper = Utils.getMapper(); + BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json", + BenchmarkSettingsBasics.class); + try { + BenchmarkSettingsBasics loca_bbs = Utils.readFromResource(mapper, "local-basic-settings.json", + BenchmarkSettingsBasics.class); + Utils.updateBasicsWithLocal(bbs, loca_bbs); + } catch (IOException e) { + System.out.println("No file 'local-basic-settings.json' found. Using default!"); + } + + // import tools to use + List<BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> builders = + BenchmarkSettingsAvailableTools.getBuilders(bbs.getTools()); + System.out.println(builders); + + // read workloads based on benchmark variant + String workloadsFilename = "workloads.json"; + BenchmarkSettingsVariantWorkloads bsvw = Utils.readFromResource(mapper, workloadsFilename, + BenchmarkSettingsVariantWorkloads.class); + + Optional<BenchmarkSettingsWorkloads> workloadsOpt = bsvw.getVariants().stream() + .filter(w -> w.getName().equals(benchmarkVariant)) + .findFirst(); + if (!workloadsOpt.isPresent()) { + System.err.println("Could not find workloads for given variant, check " + workloadsFilename + + " and argument " + benchmarkVariant); + System.exit(4); + } + BenchmarkSettingsWorkloads workloads = workloadsOpt.get(); + + // start benchmark + String now = ResultHelper.getNow(); + ExecutionConfig ec = new ExecutionConfig(4000, 8000, bbs.isDryRun()); + + System.out.println("Please remember to stop all other Java processes."); + System.out.println(); + System.out.println("If in doubt, check with this command:"); + System.out.println("$ ps auxw | grep jav[a]"); + System.out.println(); + System.out.println("If there are other Java processes, use:"); + System.out.println("$ killall -9 java"); + System.out.println(); + System.out.println("############################################################"); + System.out.println("Benchmark parameters:"); + System.out.println("- execution config: " + ec); + System.out.println(bbs); +// System.out.println("- range: minSize=" + bbs.getMinSize() +", maxSize=" + bbs.getMaxSize()); +// System.out.println("- timeout: " + bbs.getTimeout()); +// System.out.println("- runs: " + bbs.getRuns()); + System.out.println("############################################################"); + System.out.println(); + + workloads.getWorkloads().forEach(workloadConfiguration -> { + String workloadName = workloadConfiguration.getWorkloadName(); + String modelVariant = workloadConfiguration.getModelVariant(); + List<RailwayOperation> operations = workloadConfiguration.getOperations(); + TransformationChangeSetStrategy strategy = workloadConfiguration.getStrategy(); + int constant = workloadConfiguration.getConstant(); + int queryTransformationCount = workloadConfiguration.getQueryTransformationCount(); + + System.out.println("============================================================"); + System.out.println("Workload: " + workloadName); + System.out.println("============================================================"); + + ModelSetConfig modelSetConfig = new ModelSetConfig(modelVariant, bbs.getMinSize(), bbs.getMaxSize()); + BenchmarkConfigBaseBuilder bcbb = new BenchmarkConfigBaseBuilder() + .setBenchmarkId(now).setTimeout(bbs.getTimeout()).setRuns(bbs.getRuns()) + .setOperations(operations).setWorkload(workloadName) + .setQueryTransformationCount(queryTransformationCount).setTransformationConstant(constant) + .setTransformationChangeSetStrategy(strategy); + + builders.forEach(bcb -> runBenchmarkSeries(bcbb, bcb, ec, modelSetConfig, bbs)); + }); + +// if (binding.variables.get("reportUrl")) { +// BenchmarkReporter.reportReady(reportUrl) +// } + } + +} diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java new file mode 100644 index 000000000..48ff5d763 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableFormats.java @@ -0,0 +1,80 @@ +package de.tudresden.inf.st.train.scripts; + +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.ManualGeneratorConfigBuilder; +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.ManualIntrinsicGeneratorConfigBuilder; +import de.tudresden.inf.st.trainbenchmark.generator.jastadd.config.RelASTGeneratorConfigBuilder; +import hu.bme.mit.trainbenchmark.generator.config.*; +import hu.bme.mit.trainbenchmark.generator.emf.config.EmfGeneratorConfigBuilder; +import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat; +import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfigBuilder; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * Format settings of a benchmark shared throughout all variants. + * Created by rschoene on 10/13/17. + */ +public class BenchmarkSettingsAvailableFormats { + /** + * Create a map, from projectName to a set of all builders in this project + * + * @return a mapping from projectName to all builders + */ + public static Map<String, List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>>> + getAvailableFormats() { + // { projectName -> [builder] } + GeneratorConfigBase dummyConfigBase = new GeneratorConfigBaseBuilder() + .setScenario(Scenario.BATCH).setSize(1) + .createGeneratorConfigBase(); + return getAllBuilders().stream().collect(Collectors.toMap( + builder -> builder.setConfigBase(dummyConfigBase).createConfig().getProjectName(), + s -> new ArrayList<>(Collections.singletonList(s)), + (oldValue, newValue) -> { + oldValue.addAll(newValue); + return oldValue; + })); + } + + private static GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>> + getBuilderByName(String className) { + Optional<Object> result = Utils.maybeCreateNewInstance(className); + return (GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>) result.orElse(null); + } + + private static List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> + getAllBuilders() { + return Arrays.asList( + new EmfGeneratorConfigBuilder(), + new TinkerGraphGeneratorConfigBuilder().setGraphFormat(TinkerGraphFormat.GRAPHML), + new ManualGeneratorConfigBuilder(), + new ManualIntrinsicGeneratorConfigBuilder(), + new RelASTGeneratorConfigBuilder() + ); + } + + /** + * Get all builders with the given names of formats. The format name in the config every builder creates + * must match one of the given project names. + * + * @param formatNames names of formats + * @return a set of matching generator config builders + */ + public static List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> + getBuilders(String... formatNames) { + Map<String, List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>>> + availableFormats = getAvailableFormats(); + return Arrays.stream(formatNames).map(name -> { + List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> + builders = availableFormats.get(name); + if (builders.isEmpty()) { + throw new IllegalArgumentException("Could not find format " + name + ", available formats are: " + + availableFormats.keySet()); + } + return builders; + }).reduce((set1, set2) -> { + set1.addAll(set2); + return set1; + }).orElse(Collections.emptyList()); + } +} diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java new file mode 100644 index 000000000..f25540490 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsAvailableTools.java @@ -0,0 +1,73 @@ +package de.tudresden.inf.st.train.scripts; + +import de.tudresden.inf.st.train.jastadd.config.*; +import hu.bme.mit.trainbenchmark.benchmark.config.*; +import hu.bme.mit.trainbenchmark.benchmark.tinkergraph.config.TinkerGraphBenchmarkConfigBuilder; +import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBackend; +import hu.bme.mit.trainbenchmark.benchmark.viatra.config.ViatraBenchmarkConfigBuilder; + +import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * Tool settings of a benchmark shared throughout all variants + * Created by rschoene on 10/12/17. + */ +public class BenchmarkSettingsAvailableTools { + public static Map<String, BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> + getAvailableTools() { + // { toolName -> builder } + BenchmarkConfigBase dummyConfigBase = new BenchmarkConfigBaseBuilder() + .setBenchmarkId("").setTimeout(0L).setRuns(0).setModelFilename("") + .setOperations(new ArrayList<>()).setWorkload("") + .setTransformationChangeSetStrategy(TransformationChangeSetStrategy.FIXED) + .setQueryTransformationCount(0).setTransformationConstant(0) + .createConfigBase(); + return getAllBuilders().stream().collect(Collectors.toMap( + builder -> builder.setConfigBase(dummyConfigBase).createConfig().getToolName(), + Function.identity())); + } + + private static BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>> + getBuilderByName(String className) { + Optional<Object> result = Utils.maybeCreateNewInstance(className); + return (BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>) result.orElse(null); + } + + private static List<BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> + getAllBuilders() { + return Arrays.asList( + new NameLookupBenchmarkConfigBuilder(), + new NameLookupIncrementalBenchmarkConfigBuilder(), + new IntrinsicBenchmarkConfigBuilder(), + new IntrinsicIncrementalBenchmarkConfigBuilder(), + new RelASTBenchmarkConfigBuilder(), + new RelASTIncrementalBenchmarkConfigBuilder(), + new ManualRelastBenchmarkConfigBuilder(), + new ManualRelastIncrementalBenchmarkConfigBuilder(), + new TinkerGraphBenchmarkConfigBuilder(), + new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.INCREMENTAL), + new ViatraBenchmarkConfigBuilder().setBackend(ViatraBackend.LOCAL_SEARCH) + ); + } + + /** + * Get all builders with the given names of tools. The tool name in the config every builder creates must match one + * of the given tool names. + * + * @param toolNames names of tools + * @return a list of matching benchmark config builders + */ + public static List<BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> + getBuilders(String... toolNames) { + Map<String, BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>>> availableTools = getAvailableTools(); + return Arrays.stream(toolNames).map(name -> { + BenchmarkConfigBuilder<? extends BenchmarkConfig, ? extends BenchmarkConfigBuilder<?, ?>> builder = availableTools.get(name); + if (builder == null) { + throw new IllegalArgumentException("Could not find tool " + name + ", available tools are: " + availableTools.keySet()); + } + return builder; + }).collect(Collectors.toList()); + } +} diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java new file mode 100644 index 000000000..9d8f60f9d --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsBasics.java @@ -0,0 +1,147 @@ +package de.tudresden.inf.st.train.scripts; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSetter; + +import java.util.Arrays; +import java.util.List; + +/** + * Basic settings bean of a benchmark shared throughout all variants. + * Created by rschoene on 10/12/17. + */ +public class BenchmarkSettingsBasics { + + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + private Integer minSize = null; + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + private Integer maxSize = null; + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + private Long timeout = null; + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + private Integer runs = null; + @JsonInclude(JsonInclude.Include.NON_DEFAULT) + private Boolean dryRun = null; + private String[] tools; + private String[] formats; + private List<JVMSetting> jvmSettings; + + /** + * Minimum model size + */ + public Integer getMinSize() { + return minSize; + } + + public void setMinSize(int minSize) { + this.minSize = minSize; + } + + /** + * Maximum model size + */ + public Integer getMaxSize() { + return maxSize; + } + + public void setMaxSize(int maxSize) { + this.maxSize = maxSize; + } + + /** + * Timeout in seconds for each single run. + */ + public Long getTimeout() { + return timeout; + } + + public void setTimeout(long timeout) { + this.timeout = timeout; + } + + /** + * Number of runs per tool-workload combination. + */ + public Integer getRuns() { + return runs; + } + + public void setRuns(int runs) { + this.runs = runs; + } + + /** + * Don't run any Java processes. + */ + public Boolean isDryRun() { + return dryRun; + } + + @JsonSetter("dry-run") + public void setDryRun(boolean dryRun) { + this.dryRun = dryRun; + } + + /** + * List of tool names to use + */ + public String[] getTools() { + return tools; + } + + public void setTools(String[] tools) { + this.tools = tools; + } + + /** + * List of format names to use + */ + public String[] getFormats() { + return formats; + } + + public void setFormats(String[] formats) { + this.formats = formats; + } + + public List<JVMSetting> getJvmSettings() { + return jvmSettings; + } + + public void setJvmSettings(List<JVMSetting> jvmSettings) { + this.jvmSettings = jvmSettings; + } + + @Override + public String toString() { + return "BenchmarkSettingsBasics{" + + "minSize=" + minSize + + ", maxSize=" + maxSize + + ", timeout=" + timeout + + ", runs=" + runs + + ", dryRun=" + dryRun + + ", tools=" + Arrays.toString(tools) + + '}'; + } + + static class JVMSetting { + private List<String> applyTo; + private String args; + + public List<String> getApplyTo() { + return applyTo; + } + + public void setApplyTo(List<String> applyTo) { + this.applyTo = applyTo; + } + + public String getArgs() { + return args; + } + + public void setArgs(String args) { + this.args = args; + } + } +} diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java new file mode 100644 index 000000000..03a527002 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsVariantWorkloads.java @@ -0,0 +1,19 @@ +package de.tudresden.inf.st.train.scripts; + +import java.util.List; + +/** + * List of all workload settings by variant. + * Created by rschoene on 10/12/17. + */ +public class BenchmarkSettingsVariantWorkloads { + private List<BenchmarkSettingsWorkloads> variants; + + public List<BenchmarkSettingsWorkloads> getVariants() { + return variants; + } + + public void setVariants(List<BenchmarkSettingsWorkloads> variants) { + this.variants = variants; + } +} diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java new file mode 100644 index 000000000..54f3d2009 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkload.java @@ -0,0 +1,81 @@ +package de.tudresden.inf.st.train.scripts; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import hu.bme.mit.trainbenchmark.benchmark.config.TransformationChangeSetStrategy; +import hu.bme.mit.trainbenchmark.constants.RailwayOperation; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * Benchmark setting workload bean. + * Created by rschoene on 10/12/17. + */ +public class BenchmarkSettingsWorkload { + private String workloadName; + private String modelVariant; + private List<RailwayOperation> operations; + private TransformationChangeSetStrategy strategy; + // private String strategy; + private int constant; + private int queryTransformationCount; + @JsonIgnore + private Map<String, RailwayOperation> railwayOps; + + public BenchmarkSettingsWorkload() { + railwayOps = Arrays.stream(RailwayOperation.values()).collect(Collectors.toMap( + RailwayOperation::toString, Function.identity() + )); + } + + public String getWorkloadName() { + return workloadName; + } + + public void setWorkloadName(String workloadName) { + this.workloadName = workloadName; + } + + public String getModelVariant() { + return modelVariant; + } + + public void setModelVariant(String modelVariant) { + this.modelVariant = modelVariant; + } + + public List<RailwayOperation> getOperations() { + return operations; + } + + public void setOperations(List<String> operations) { + this.operations = operations.stream().map(op -> railwayOps.get(op)).collect(Collectors.toList()); + } + + public TransformationChangeSetStrategy getStrategy() { + return strategy; + } + + public void setStrategy(TransformationChangeSetStrategy strategy) { + this.strategy = strategy; + } + + public int getConstant() { + return constant; + } + + public void setConstant(int constant) { + this.constant = constant; + } + + public int getQueryTransformationCount() { + return queryTransformationCount; + } + + public void setQueryTransformationCount(int queryTransformationCount) { + this.queryTransformationCount = queryTransformationCount; + } +} diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java new file mode 100644 index 000000000..984c997b2 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkSettingsWorkloads.java @@ -0,0 +1,28 @@ +package de.tudresden.inf.st.train.scripts; + +import java.util.List; + +/** + * Workload settings bean. + * Created by rschoene on 10/12/17. + */ +public class BenchmarkSettingsWorkloads { + private String name; + private List<BenchmarkSettingsWorkload> workloads; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List<BenchmarkSettingsWorkload> getWorkloads() { + return workloads; + } + + public void setWorkloads(List<BenchmarkSettingsWorkload> workloads) { + this.workloads = workloads; + } +} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkVariant.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkVariant.java similarity index 67% rename from trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkVariant.java rename to trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkVariant.java index d6f04f118..6d18ede25 100644 --- a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkVariant.java +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/BenchmarkVariant.java @@ -5,8 +5,8 @@ package de.tudresden.inf.st.train.scripts; * Created by rschoene on 10/12/17. */ public enum BenchmarkVariant { - COMBINED, - INDIVIDUAL_INJECT, - INDIVIDUAL_REPAIR, - INDIVIDUAL_INCREMENTAL + COMBINED, + INDIVIDUAL_INJECT, + INDIVIDUAL_REPAIR, + INDIVIDUAL_INCREMENTAL } diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java new file mode 100644 index 000000000..cd1acff55 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/GenerateMain.java @@ -0,0 +1,134 @@ +package de.tudresden.inf.st.train.scripts; + +import com.fasterxml.jackson.databind.ObjectMapper; +import hu.bme.mit.trainbenchmark.config.ExecutionConfig; +import hu.bme.mit.trainbenchmark.generator.config.*; +import hu.bme.mit.trainbenchmark.generator.runner.GeneratorRunner; + +import java.io.IOException; +import java.util.List; + +/** + * Main entry point to generate models. + * Created by rschoene on 10/13/17. + */ +public class GenerateMain { + public static void main(String[] args) throws Exception { + // read basic settings (min, maxsize, etc.) + ObjectMapper mapper = Utils.getMapper(); + BenchmarkSettingsBasics bbs = Utils.readFromResource(mapper, "basic-settings.json", + BenchmarkSettingsBasics.class); + try { + BenchmarkSettingsBasics loca_bbs = Utils.readFromResource(mapper, "local-basic-settings.json", + BenchmarkSettingsBasics.class); + Utils.updateBasicsWithLocal(bbs, loca_bbs); + } catch (IOException e) { + System.out.println("No file 'local-basic-settings.json' found. Using default!"); + } + + // import formats to use + List<GeneratorConfigBuilder<? extends GeneratorConfig, ? extends GeneratorConfigBuilder<?, ?>>> builders = + BenchmarkSettingsAvailableFormats.getBuilders(bbs.getFormats()); + System.out.println(builders); + ExecutionConfig ec = new ExecutionConfig(4000, 8000, bbs.isDryRun()); + + // generating the MINIMAL scenario + for (ModelType modelType : ModelType.values()) { + builders.forEach(generatorConfigBuilder -> { + try { + System.out.println("Scenario: " + Scenario.MINIMAL + ", type: " + modelType); + GeneratorConfigBase configBase = new GeneratorConfigBaseBuilder() + .setSize(0).setModelType(modelType).setScenario(Scenario.MINIMAL).createGeneratorConfigBase(); + GeneratorConfig config = generatorConfigBuilder.setConfigBase(configBase).createConfig(); + int exitValue = GeneratorRunner.run(config, ec); + if (exitValue != 0) { + System.out.println("Timeout or error occurred. Error code: " + exitValue); + } + } catch (Exception e) { + System.out.println("Exception occurred during execution."); + } + }); + } + + // generating the other scenarios + for (Scenario scenario : new Scenario[]{Scenario.BATCH, Scenario.INJECT, Scenario.REPAIR}) { + builders.forEach(generatorConfigBuilder -> { + try { + + for (int size = bbs.getMinSize(); size <= bbs.getMaxSize(); size *= 2) { + System.out.println("Scenario: " + scenario + ", size: " + size); + + GeneratorConfigBase configBase = new GeneratorConfigBaseBuilder() + .setSize(size).setScenario(scenario) + .createGeneratorConfigBase(); + GeneratorConfig config = generatorConfigBuilder.setConfigBase(configBase).createConfig(); + + int exitValue = GeneratorRunner.run(config, ec); + if (exitValue != 0) { + System.out.println("Timeout or error occurred, skipping models for larger sizes. Error code: " + + exitValue); + break; + } + } + } catch (Exception e) { + System.out.println("Exception occurred during execution."); + } + }); + } + + + } + +} + +/* +import de.tudresden.inf.st.trainbenchmark.generator.json4ag.config.ManualGeneratorConfigBuilder +import de.tudresden.inf.st.trainbenchmark.generator.json4agref.config.JastAddManualRefGeneratorConfigBuilder +import hu.bme.mit.trainbenchmark.config.ExecutionConfig +import hu.bme.mit.trainbenchmark.generator.config.GeneratorConfigBase +import hu.bme.mit.trainbenchmark.generator.config.Scenario +import hu.bme.mit.trainbenchmark.generator.emf.config.EmfGeneratorConfigBuilder +import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphFormat +import hu.bme.mit.trainbenchmark.generator.graph.tinkerpop.config.TinkerGraphGeneratorConfigBuilder +import hu.bme.mit.trainbenchmark.generator.runner.GeneratorRunner + +def ec = new ExecutionConfig(4000, 6000) +def minSize = 1 +/* def maxSize = 2048 * +def maxSize = 256 + + def scenarios = [ + Scenario.BATCH, + Scenario.INJECT, + Scenario.REPAIR, + ] + + def formats = [ + new EmfGeneratorConfigBuilder(), + new TinkerGraphGeneratorConfigBuilder().setGraphFormat(TinkerGraphFormat.GRAPHML), + new ManualGeneratorConfigBuilder(), + new JastAddManualRefGeneratorConfigBuilder() + ] + + for (scenario in scenarios) { + formats.each { generatorConfigBuilder -> + try { + for (def size = minSize; size <= maxSize; size *= 2) { + println("Scenario: ${scenario}, size: ${size}") + + def configBase = new GeneratorConfigBase(scenario, size) + def config = generatorConfigBuilder.setConfigBase(configBase).createConfig() + + def exitValue = GeneratorRunner.run(config, ec) + if (exitValue != 0) { + println "Timeout or error occured, skipping models for larger sizes. Error code: ${exitValue}" + break + } + } + } catch (all) { + println "Exception occured during execution." + } + } + } + + */ diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java new file mode 100644 index 000000000..46aee771e --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/java/de/tudresden/inf/st/train/scripts/Utils.java @@ -0,0 +1,99 @@ +package de.tudresden.inf.st.train.scripts; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.ObjectMapper; + +import java.io.File; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.net.URL; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Utility methods for the main entry points. + * Created by rschoene on 10/13/17. + */ +public class Utils { + static Map<String, String> createJvmSettingsMap(BenchmarkSettingsBasics bbs) { + Map<String, String> result = new HashMap<>(); + for (BenchmarkSettingsBasics.JVMSetting setting : bbs.getJvmSettings()) { + for (String toolName : setting.getApplyTo()) { + result.put(toolName, setting.getArgs()); + } + } + return result; + } + + private static File readFromResource(String filename) throws IOException { + URL basicSettingsURL = BenchmarkMain.class.getClassLoader().getResource(filename); + if (basicSettingsURL == null) { + System.err.println(); + throw new IOException("Could not access " + filename + ". Exiting."); + } + return new File(basicSettingsURL.getFile()); + } + + static <T> T readFromResource(ObjectMapper mapper, String filename, Class<T> clazz) throws IOException { + File basicSettingsFile = readFromResource(filename); + T result = null; + try { + result = mapper.readValue(basicSettingsFile, clazz); + } catch (Exception e) { + System.err.println("Could not load '" + filename + "'. Exiting."); + e.printStackTrace(); + System.exit(2); + } + return result; + } + + static void updateBasicsWithLocal(BenchmarkSettingsBasics base, BenchmarkSettingsBasics local) + throws IllegalStateException { + List<Method> setter = Arrays.stream(BenchmarkSettingsBasics.class.getMethods()) + .filter(m -> m.getName().startsWith("set")) + .collect(Collectors.toList()); + for (Method method : BenchmarkSettingsBasics.class.getMethods()) { + final String name = method.getName().startsWith("get") ? + method.getName().substring(3) : + (method.getName().startsWith("is") ? method.getName().substring(2) : null); + if (name == null) { + continue; + } + try { + Object result = method.invoke(local); + if (result != null) { + Optional<Method> matchingSetter = setter.stream() + .filter(m -> m.getName().endsWith(name)) + .findFirst(); + if (matchingSetter.isPresent()) { + matchingSetter.get().invoke(base, result); + } + } + // now do sanity check if set in updated base + result = method.invoke(base); + if (result == null) { + throw new IllegalStateException("Basic setting for " + name + " is not given."); + } + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + } + } + + static ObjectMapper getMapper() { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true); + return mapper; + } + + static Optional<Object> maybeCreateNewInstance(final String className) { + try { + return Optional.of(Class.forName(className).newInstance()); + } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { + System.err.println("Could not find builder class '" + className + "'"); + e.printStackTrace(); + return Optional.empty(); + } + } +} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/.gitignore b/trainbenchmark/trainbenchmark-scripts/src/main/resources/.gitignore similarity index 100% rename from trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/.gitignore rename to trainbenchmark/trainbenchmark-scripts/src/main/resources/.gitignore diff --git a/trainbenchmark/trainbenchmark-scripts/src/main/resources/basic-settings.json b/trainbenchmark/trainbenchmark-scripts/src/main/resources/basic-settings.json new file mode 100644 index 000000000..8d4694694 --- /dev/null +++ b/trainbenchmark/trainbenchmark-scripts/src/main/resources/basic-settings.json @@ -0,0 +1,35 @@ +{ + "minSize": 1, + "maxSize": 8, + "timeout": 900, + "runs": 1, + "dry-run": false, + "tools": [ + "Name Lookup", + "Name Lookup (Incremental)", + "Intrinsic References", + "Intrinsic References (Incremental)", + "Grammar Extension with Serializer", + "Grammar Extension with Serializer (Incremental)", + "Grammar Extension (Manual Serialization)", + "Grammar Extension (Manual Serialization, Incremental)", + "TinkerGraph", + "VIATRA (Incremental)", + "VIATRA (Local Search)" + ], + "formats": [ + "emf", + "jastadd-manual", + "jastadd-manual-intrinsic", + "jastadd-relast", + "graph-tinkerpop" + ], + "jvmSettings": [ + { + "applyTo": [ + "*" + ], + "args": "-Xms%(Xms) -Xmx%(Xmx) -server -Xverify:none" + } + ] +} diff --git a/trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/workloads.json b/trainbenchmark/trainbenchmark-scripts/src/main/resources/workloads.json similarity index 100% rename from trainbenchmark/trainbenchmark-alternate-scripts/src/main/resources/workloads.json rename to trainbenchmark/trainbenchmark-scripts/src/main/resources/workloads.json diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java index f725f0bd2..903911a76 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-base/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddAbstractBenchmarkScenario.java @@ -11,6 +11,7 @@ import hu.bme.mit.trainbenchmark.constants.RailwayOperation; import hu.bme.mit.trainbenchmark.benchmark.driver.Driver; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; import de.tudresden.inf.st.train.jastadd.config.JastaddAbstractBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.result.ResultHelper; import java.io.File; import java.io.FileOutputStream; @@ -30,7 +31,7 @@ public abstract class JastaddAbstractBenchmarkScenario<TBenchmarkConfigWrapper e public void printTraces() { try { - String fileName = "../results/recent/tracing-" + this.bc.getToolName() + "-" + this.bc.getConfigBase().getWorkload() + "-" + this.bc.getConfigBase().getModelFilename() + "-.csv"; + String fileName = ResultHelper.getResultDirectory(this.bc.getProjectName(), bc.getConfigBase().getBenchmarkId()) + "/tracing-" + this.bc.getToolName() + "-" + this.bc.getConfigBase().getWorkload() + "-" + this.bc.getConfigBase().getModelFilename() + "-.csv"; File file = new File(fileName); FileOutputStream fos = new FileOutputStream(file, false); diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/.editorconfig b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/.editorconfig similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/.editorconfig rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/.editorconfig diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/build.gradle similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/build.gradle rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/build.gradle diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/Helpers.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/Helpers.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/Helpers.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/Helpers.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/References.jadd b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/References.jadd similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/References.jadd rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/References.jadd diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/TreeNavigation.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/TreeNavigation.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/TreeNavigation.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/TreeNavigation.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/PosLength.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/PosLength.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/PosLength.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/PosLength.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/RouteSensorMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/RouteSensorMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/RouteSensorMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/RouteSensorMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/SwitchSetMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/SwitchSetMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/queries/SwitchSetMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/queries/SwitchSetMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/train.ast b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/train.ast similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/train.ast rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/train.ast diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java similarity index 97% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index 47e998c7c..ee595c277 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -55,7 +55,7 @@ public class JastaddDriver extends Driver { @Override public String getPostfix() { - return "-ag.json"; + return "-jastadd-manual.json"; } public void flushCache() { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/.editorconfig b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/.editorconfig similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/.editorconfig rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/.editorconfig diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/.gitignore b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/.gitignore similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/.gitignore rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/.gitignore diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/build.gradle similarity index 84% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/build.gradle rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/build.gradle index 6aadf620c..7c317073e 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'idea' idea { module { + generatedSourceDirs += file('src/main/java-gen') generatedSourceDirs += file('src/main/java-include') } } @@ -12,13 +13,13 @@ task copyFromBase(type: Copy) { group = 'build' description = 'Copy Java sources from base project' from '../trainbenchmark-tool-jastadd-base/src/main/java' - from '../trainbenchmark-tool-jastadd-optimized-base/src/main/java' + from '../trainbenchmark-tool-jastadd-intrinsic-base/src/main/java' into 'src/main/java-include' } shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.IntrinsicIncrementalBenchmarkMain' } } task jastadd(type: JavaExec) { @@ -33,13 +34,13 @@ task jastadd(type: JavaExec) { "--package=de.tudresden.inf.st.train.jastadd.ast", "--o=src/main/java-gen", "--tracing=api", - ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/") + ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/") doFirst { delete fileTree('src/main/java-gen') mkdir 'src/main/java-gen' } - inputs.files fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/") + inputs.files fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/") outputs.files file("src/main/java-gen") } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkMain.java new file mode 100644 index 000000000..bd9e5482b --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.IntrinsicIncrementalBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class IntrinsicIncrementalBenchmarkMain { + public static void main(final String[] args) throws Exception { + final IntrinsicIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], IntrinsicIncrementalBenchmarkConfig.class); + final IntrinsicIncrementalBenchmarkScenario scenario = new IntrinsicIncrementalBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkScenario.java new file mode 100644 index 000000000..2e0356748 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicIncrementalBenchmarkScenario.java @@ -0,0 +1,12 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.IntrinsicIncrementalBenchmarkConfig; + +public class IntrinsicIncrementalBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<IntrinsicIncrementalBenchmarkConfig> { + + public IntrinsicIncrementalBenchmarkScenario(final IntrinsicIncrementalBenchmarkConfig bc) throws Exception { + super(bc, false); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfig.java similarity index 53% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfig.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfig.java index c4aac5a4a..676919f5e 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfig.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfig.java @@ -3,20 +3,20 @@ package de.tudresden.inf.st.train.jastadd.config; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -public class JastaddOptimizedIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { +public class IntrinsicIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - protected JastaddOptimizedIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { + protected IntrinsicIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { super(configBase); } @Override public String getToolName() { - return "Jastadd (Optimized Incremental)"; + return "Intrinsic References (Incremental)"; } @Override public String getProjectName() { - return "jastadd-optimized-incremental"; + return "jastadd-intrinsic-incremental"; } } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfigBuilder.java new file mode 100644 index 000000000..4ec294bb7 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicIncrementalBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class IntrinsicIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<IntrinsicIncrementalBenchmarkConfig, IntrinsicIncrementalBenchmarkConfigBuilder> { + + @Override + public IntrinsicIncrementalBenchmarkConfig createConfig() { + checkNotNulls(); + return new IntrinsicIncrementalBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java new file mode 100644 index 000000000..789e744bf --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java @@ -0,0 +1,20 @@ +package de.tudresden.inf.st.train.jastadd.test; + +import de.tudresden.inf.st.train.jastadd.IntrinsicIncrementalBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.IntrinsicIncrementalBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.IntrinsicIncrementalBenchmarkConfigBuilder; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; +import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; +import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; + +public class JastaddRefTest extends TrainBenchmarkTest { + + @Override + protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { + final IntrinsicIncrementalBenchmarkConfig bc = new IntrinsicIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final IntrinsicIncrementalBenchmarkScenario scenario = new IntrinsicIncrementalBenchmarkScenario(bc); + final BenchmarkResult result = scenario.performBenchmark(); + return result; + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/.editorconfig b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/.editorconfig similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized/.editorconfig rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/.editorconfig diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/.gitignore b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/.gitignore similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized/.gitignore rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/.gitignore diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/build.gradle similarity index 84% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized/build.gradle rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/build.gradle index f06dce97f..f5019a2ad 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'idea' idea { module { + generatedSourceDirs += file('src/main/java-gen') generatedSourceDirs += file('src/main/java-include') } } @@ -12,13 +13,13 @@ task copyFromBase(type: Copy) { group = 'build' description = 'Copy Java sources from base project' from '../trainbenchmark-tool-jastadd-base/src/main/java' - from '../trainbenchmark-tool-jastadd-optimized-base/src/main/java' + from '../trainbenchmark-tool-jastadd-intrinsic-base/src/main/java' into 'src/main/java-include' } shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.IntrinsicBenchmarkMain' } } task jastadd(type: JavaExec) { @@ -31,13 +32,13 @@ task jastadd(type: JavaExec) { "--package=de.tudresden.inf.st.train.jastadd.ast", "--o=src/main/java-gen", "--tracing=api", - ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/") + ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/") doFirst { delete fileTree('src/main/java-gen') mkdir 'src/main/java-gen' } - inputs.files fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-optimized-base/src/main/jastadd/") + inputs.files fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-intrinsic-base/src/main/jastadd/") outputs.files file("src/main/java-gen") } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkMain.java new file mode 100644 index 000000000..2bc2e8f4c --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.IntrinsicBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class IntrinsicBenchmarkMain { + public static void main(final String[] args) throws Exception { + final IntrinsicBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], IntrinsicBenchmarkConfig.class); + final IntrinsicBenchmarkScenario scenario = new IntrinsicBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkScenario.java new file mode 100644 index 000000000..d5832e679 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/IntrinsicBenchmarkScenario.java @@ -0,0 +1,12 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.IntrinsicBenchmarkConfig; + +public class IntrinsicBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<IntrinsicBenchmarkConfig> { + + public IntrinsicBenchmarkScenario(final IntrinsicBenchmarkConfig bc) throws Exception { + super(bc, true); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfig.java similarity index 57% rename from trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfig.java rename to trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfig.java index 50852555d..ca67a43d3 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfig.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfig.java @@ -3,20 +3,20 @@ package de.tudresden.inf.st.train.jastadd.config; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -public class JastaddOptimizedBenchmarkConfig extends JastaddAbstractBenchmarkConfig { +public class IntrinsicBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - protected JastaddOptimizedBenchmarkConfig(final BenchmarkConfigBase configBase) { + protected IntrinsicBenchmarkConfig(final BenchmarkConfigBase configBase) { super(configBase); } @Override public String getToolName() { - return "Jastadd (Optimized)"; + return "Intrinsic References"; } @Override public String getProjectName() { - return "jastadd-optimized"; + return "jastadd-intrinsic"; } } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfigBuilder.java new file mode 100644 index 000000000..042369b1f --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/main/java/de/tudresden/inf/st/train/jastadd/config/IntrinsicBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class IntrinsicBenchmarkConfigBuilder extends BenchmarkConfigBuilder<IntrinsicBenchmarkConfig, IntrinsicBenchmarkConfigBuilder> { + + @Override + public IntrinsicBenchmarkConfig createConfig() { + checkNotNulls(); + return new IntrinsicBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/test/java/de/tudresden/inf/st/train/jastadd/test/IntrinsicTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/test/java/de/tudresden/inf/st/train/jastadd/test/IntrinsicTest.java new file mode 100644 index 000000000..4ad1de06f --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-intrinsic/src/test/java/de/tudresden/inf/st/train/jastadd/test/IntrinsicTest.java @@ -0,0 +1,20 @@ +package de.tudresden.inf.st.train.jastadd.test; + +import de.tudresden.inf.st.train.jastadd.IntrinsicBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.IntrinsicBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.IntrinsicBenchmarkConfigBuilder; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; +import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; +import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; + +public class IntrinsicTest extends TrainBenchmarkTest { + + @Override + protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { + final IntrinsicBenchmarkConfig bc = new IntrinsicBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final IntrinsicBenchmarkScenario scenario = new IntrinsicBenchmarkScenario(bc); + final BenchmarkResult result = scenario.performBenchmark(); + return result; + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/.editorconfig b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/.editorconfig similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/.editorconfig rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/.editorconfig diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/.gitignore b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/.gitignore similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/.gitignore rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/.gitignore diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/build.gradle similarity index 84% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/build.gradle rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/build.gradle index 17a4bdda9..96cf69b65 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/build.gradle @@ -13,13 +13,13 @@ task copyFromBase(type: Copy) { group = 'build' description = 'Copy Java sources from base project' from '../trainbenchmark-tool-jastadd-base/src/main/java' - from '../trainbenchmark-tool-jastadd-specialized-base/src/main/java' + from '../trainbenchmark-tool-jastadd-relast-base/src/main/java' into 'src/main/java-include' } shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.ManualRelastIncrementalBenchmarkMain' } } task preprocess(type: JavaExec) { @@ -31,13 +31,13 @@ task preprocess(type: JavaExec) { main = "-jar" args = [ "../trainbenchmark-tool-jastadd-base/libs/relast-compiler.jar", - "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast", + "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast", "--listClass=RefList", "--grammarName=src/main/jastadd-gen/Train", "--file" ] - inputs.files "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast" + inputs.files "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast" outputs.files "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd" @@ -62,7 +62,7 @@ task jastadd(type: JavaExec) { "--tracing=api", "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd" - ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/").matching {exclude "*.relast"} + ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/").matching {exclude "*.relast"} doLast { ant.replaceregexp(match:'RefList extends List', replace:'RefList<T extends ASTNode> extends List<T>', flags:'g', byline:true) { @@ -73,7 +73,7 @@ task jastadd(type: JavaExec) { inputs.files "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd", fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/"), - fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/") outputs.files "src/main/java-gen" } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkMain.java new file mode 100644 index 000000000..78a2ffbeb --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.ManualRelastIncrementalBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class ManualRelastIncrementalBenchmarkMain { + public static void main(final String[] args) throws Exception { + final ManualRelastIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], ManualRelastIncrementalBenchmarkConfig.class); + final ManualRelastIncrementalBenchmarkScenario scenario = new ManualRelastIncrementalBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkScenario.java new file mode 100644 index 000000000..638372a07 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastIncrementalBenchmarkScenario.java @@ -0,0 +1,12 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.ManualRelastIncrementalBenchmarkConfig; + +public class ManualRelastIncrementalBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<ManualRelastIncrementalBenchmarkConfig> { + + public ManualRelastIncrementalBenchmarkScenario(final ManualRelastIncrementalBenchmarkConfig bc) throws Exception { + super(bc, false); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfig.java new file mode 100644 index 000000000..33a1abfaf --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfig.java @@ -0,0 +1,21 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; + +public class ManualRelastIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { + + protected ManualRelastIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { + super(configBase); + } + + @Override + public String getToolName() { + return "Grammar Extension (Manual Serialization, Incremental)"; + } + + @Override + public String getProjectName() { + return "jastadd-manual-relast-incremental"; + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfigBuilder.java new file mode 100644 index 000000000..49d86d3b4 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastIncrementalBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class ManualRelastIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<ManualRelastIncrementalBenchmarkConfig, ManualRelastIncrementalBenchmarkConfigBuilder> { + + @Override + public ManualRelastIncrementalBenchmarkConfig createConfig() { + checkNotNulls(); + return new ManualRelastIncrementalBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java similarity index 97% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index 902fc1ab2..302490b8f 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -52,7 +52,7 @@ public class JastaddDriver extends Driver { @Override public String getPostfix() { - return "-ag-special.json"; + return "-jastadd-manual-intrinsic.json"; } public void flushCache() { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java new file mode 100644 index 000000000..1473f7d20 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java @@ -0,0 +1,20 @@ +package de.tudresden.inf.st.train.jastadd.test; + +import de.tudresden.inf.st.train.jastadd.ManualRelastIncrementalBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.ManualRelastIncrementalBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.ManualRelastIncrementalBenchmarkConfigBuilder; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; +import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; +import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; + +public class RelASTIncrementalTest extends TrainBenchmarkTest { + + @Override + protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { + final ManualRelastIncrementalBenchmarkConfig bc = new ManualRelastIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final ManualRelastIncrementalBenchmarkScenario scenario = new ManualRelastIncrementalBenchmarkScenario(bc); + final BenchmarkResult result = scenario.performBenchmark(); + return result; + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/.editorconfig b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/.editorconfig similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/.editorconfig rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/.editorconfig diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/.gitignore b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/.gitignore similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized/.gitignore rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/.gitignore diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/build.gradle similarity index 84% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized/build.gradle rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/build.gradle index 10f04a664..a52f2efaf 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/build.gradle @@ -13,13 +13,13 @@ task copyFromBase(type: Copy) { group = 'build' description = 'Copy Java sources from base project' from '../trainbenchmark-tool-jastadd-base/src/main/java' - from '../trainbenchmark-tool-jastadd-specialized-base/src/main/java' + from '../trainbenchmark-tool-jastadd-relast-base/src/main/java' into 'src/main/java-include' } shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.ManualRelastBenchmarkMain' } } task preprocess(type: JavaExec) { @@ -31,13 +31,13 @@ task preprocess(type: JavaExec) { main = "-jar" args = [ "../trainbenchmark-tool-jastadd-base/libs/relast-compiler.jar", - "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast", + "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast", "--listClass=RefList", "--grammarName=src/main/jastadd-gen/Train", "--file" ] - inputs.files "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast" + inputs.files "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast" outputs.files "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd" @@ -60,7 +60,7 @@ task jastadd(type: JavaExec) { "--tracing=api", "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd" - ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/").matching {exclude "*.relast"} + ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/").matching {exclude "*.relast"} doLast { ant.replaceregexp(match:'RefList extends List', replace:'RefList<T extends ASTNode> extends List<T>', flags:'g', byline:true) { @@ -71,7 +71,7 @@ task jastadd(type: JavaExec) { inputs.files "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd", fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/"), - fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/") outputs.files "src/main/java-gen" } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkMain.java new file mode 100644 index 000000000..4aaca2f18 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.ManualRelastBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class ManualRelastBenchmarkMain { + public static void main(final String[] args) throws Exception { + final ManualRelastBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], ManualRelastBenchmarkConfig.class); + final ManualRelastBenchmarkScenario scenario = new ManualRelastBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkScenario.java new file mode 100644 index 000000000..5dbac1cb6 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/ManualRelastBenchmarkScenario.java @@ -0,0 +1,12 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.ManualRelastBenchmarkConfig; + +public class ManualRelastBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<ManualRelastBenchmarkConfig> { + + public ManualRelastBenchmarkScenario(final ManualRelastBenchmarkConfig bc) throws Exception { + super(bc, true); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfig.java similarity index 56% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfig.java rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfig.java index 8bc3e7b21..7b3bd1508 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfig.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfig.java @@ -3,20 +3,20 @@ package de.tudresden.inf.st.train.jastadd.config; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -public class JastaddSpecializedBenchmarkConfig extends JastaddAbstractBenchmarkConfig { +public class ManualRelastBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - protected JastaddSpecializedBenchmarkConfig(final BenchmarkConfigBase configBase) { + protected ManualRelastBenchmarkConfig(final BenchmarkConfigBase configBase) { super(configBase); } @Override public String getToolName() { - return "Jastadd (Specialized)"; + return "Grammar Extension (Manual Serialization)"; } @Override public String getProjectName() { - return "jastadd-specialized"; + return "jastadd-manual-relast"; } } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfigBuilder.java new file mode 100644 index 000000000..692b621a8 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/ManualRelastBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class ManualRelastBenchmarkConfigBuilder extends BenchmarkConfigBuilder<ManualRelastBenchmarkConfig, ManualRelastBenchmarkConfigBuilder> { + + @Override + public ManualRelastBenchmarkConfig createConfig() { + checkNotNulls(); + return new ManualRelastBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java similarity index 97% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index 902fc1ab2..302490b8f 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -52,7 +52,7 @@ public class JastaddDriver extends Driver { @Override public String getPostfix() { - return "-ag-special.json"; + return "-jastadd-manual-intrinsic.json"; } public void flushCache() { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/deserializer/ASTNodeDeserializer.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTTest.java similarity index 51% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTTest.java rename to trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTTest.java index da6837604..958721503 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTTest.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-manual-relast/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTTest.java @@ -1,8 +1,8 @@ package de.tudresden.inf.st.train.jastadd.test; -import de.tudresden.inf.st.train.jastadd.JastaddSpecializedBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfigBuilder; +import de.tudresden.inf.st.train.jastadd.ManualRelastBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.ManualRelastBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.ManualRelastBenchmarkConfigBuilder; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; @@ -11,8 +11,8 @@ public class RelASTTest extends TrainBenchmarkTest { @Override protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddSpecializedBenchmarkConfig bc = new JastaddSpecializedBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddSpecializedBenchmarkScenario scenario = new JastaddSpecializedBenchmarkScenario(bc); + final ManualRelastBenchmarkConfig bc = new ManualRelastBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final ManualRelastBenchmarkScenario scenario = new ManualRelastBenchmarkScenario(bc); final BenchmarkResult result = scenario.performBenchmark(); return result; } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index 47e998c7c..ee595c277 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-base/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -55,7 +55,7 @@ public class JastaddDriver extends Driver { @Override public String getPostfix() { - return "-ag.json"; + return "-jastadd-manual.json"; } public void flushCache() { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle index c91ada167..ad7dacdb9 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'idea' idea { module { + generatedSourceDirs += file('src/main/java-gen') generatedSourceDirs += file('src/main/java-include') } } @@ -18,7 +19,7 @@ task copyFromBase(type: Copy) { shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.NameLookupIncrementalBenchmarkMain' } } task jastadd(type: JavaExec) { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index 5488e7655..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddNameLookupIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddNameLookupIncrementalBenchmarkConfig.class); - final JastaddNameLookupIncrementalBenchmarkScenario scenario = new JastaddNameLookupIncrementalBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupIncrementalBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupIncrementalBenchmarkScenario.java deleted file mode 100644 index 573b0093a..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupIncrementalBenchmarkScenario.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfig; - -public class JastaddNameLookupIncrementalBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddNameLookupIncrementalBenchmarkConfig> { - - public JastaddNameLookupIncrementalBenchmarkScenario(final JastaddNameLookupIncrementalBenchmarkConfig bc) throws Exception { - super(bc, false); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkMain.java new file mode 100644 index 000000000..13e45e10e --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.NameLookupIncrementalBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class NameLookupIncrementalBenchmarkMain { + public static void main(final String[] args) throws Exception { + final NameLookupIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], NameLookupIncrementalBenchmarkConfig.class); + final NameLookupIncrementalBenchmarkScenario scenario = new NameLookupIncrementalBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkScenario.java new file mode 100644 index 000000000..5406269e5 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupIncrementalBenchmarkScenario.java @@ -0,0 +1,12 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.NameLookupIncrementalBenchmarkConfig; + +public class NameLookupIncrementalBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<NameLookupIncrementalBenchmarkConfig> { + + public NameLookupIncrementalBenchmarkScenario(final NameLookupIncrementalBenchmarkConfig bc) throws Exception { + super(bc, false); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupIncrementalBenchmarkConfigBuilder.java deleted file mode 100644 index 59709840e..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupIncrementalBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddNameLookupIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddNameLookupIncrementalBenchmarkConfig, JastaddNameLookupIncrementalBenchmarkConfigBuilder> { - - @Override - public JastaddNameLookupIncrementalBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddNameLookupIncrementalBenchmarkConfig(configBase); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupIncrementalBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupIncrementalBenchmarkConfig.java similarity index 55% rename from trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupIncrementalBenchmarkConfig.java rename to trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupIncrementalBenchmarkConfig.java index 838f8e845..a8bc5899f 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupIncrementalBenchmarkConfig.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupIncrementalBenchmarkConfig.java @@ -2,15 +2,15 @@ package de.tudresden.inf.st.train.jastadd.config; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -public class JastaddNameLookupIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { +public class NameLookupIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - protected JastaddNameLookupIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { + protected NameLookupIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { super(configBase); } @Override public String getToolName() { - return "Jastadd (Incremental Name Lookup)"; + return "Name Lookup (Incremental)"; } @Override diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupIncrementalBenchmarkConfigBuilder.java new file mode 100644 index 000000000..c14a437cd --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupIncrementalBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class NameLookupIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<NameLookupIncrementalBenchmarkConfig, NameLookupIncrementalBenchmarkConfigBuilder> { + + @Override + public NameLookupIncrementalBenchmarkConfig createConfig() { + checkNotNulls(); + return new NameLookupIncrementalBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddIncrementalTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddIncrementalTest.java index 677a78b10..d8c66cce2 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddIncrementalTest.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddIncrementalTest.java @@ -1,8 +1,8 @@ package de.tudresden.inf.st.train.jastadd.test; -import de.tudresden.inf.st.train.jastadd.JastaddNameLookupIncrementalBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupIncrementalBenchmarkConfigBuilder; +import de.tudresden.inf.st.train.jastadd.NameLookupIncrementalBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.NameLookupIncrementalBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.NameLookupIncrementalBenchmarkConfigBuilder; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; @@ -11,8 +11,8 @@ public class JastaddIncrementalTest extends TrainBenchmarkTest { @Override protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddNameLookupIncrementalBenchmarkConfig bc = new JastaddNameLookupIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddNameLookupIncrementalBenchmarkScenario scenario = new JastaddNameLookupIncrementalBenchmarkScenario(bc); + final NameLookupIncrementalBenchmarkConfig bc = new NameLookupIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final NameLookupIncrementalBenchmarkScenario scenario = new NameLookupIncrementalBenchmarkScenario(bc); final BenchmarkResult result = scenario.performBenchmark(); return result; } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/build.gradle index 6f827ccb5..7f002d7d3 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/build.gradle @@ -4,6 +4,7 @@ apply plugin: 'idea' idea { module { + generatedSourceDirs += file('src/main/java-gen') generatedSourceDirs += file('src/main/java-include') } } @@ -18,7 +19,7 @@ task copyFromBase(type: Copy) { shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.NameLookupBenchmarkMain' } } task jastadd(type: JavaExec) { @@ -33,14 +34,6 @@ task jastadd(type: JavaExec) { "--tracing=api", ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-namelookup-base/src/main/jastadd/") doFirst { - print([ - "../trainbenchmark-tool-jastadd-base/libs/jastadd2.jar", - "--cache=all", - "--flush=full", - "--package=de.tudresden.inf.st.train.jastadd.ast", - "--o=src/main/java-gen", - "--tracing=api", - ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-namelookup-base/src/main/jastadd/")) delete fileTree('src/main/java-gen') mkdir 'src/main/java-gen' } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index 3734d422c..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddNameLookupBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddNameLookupBenchmarkConfig.class); - final JastaddNameLookupBenchmarkScenario scenario = new JastaddNameLookupBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupBenchmarkScenario.java deleted file mode 100644 index 7d715f953..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddNameLookupBenchmarkScenario.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfig; - -public class JastaddNameLookupBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddNameLookupBenchmarkConfig> { - - public JastaddNameLookupBenchmarkScenario(final JastaddNameLookupBenchmarkConfig bc) throws Exception { - super(bc, true); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkMain.java new file mode 100644 index 000000000..923cfc8cf --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.NameLookupBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class NameLookupBenchmarkMain { + public static void main(final String[] args) throws Exception { + final NameLookupBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], NameLookupBenchmarkConfig.class); + final NameLookupBenchmarkScenario scenario = new NameLookupBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkScenario.java new file mode 100644 index 000000000..8ce7a96ca --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/NameLookupBenchmarkScenario.java @@ -0,0 +1,11 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.NameLookupBenchmarkConfig; + +public class NameLookupBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<NameLookupBenchmarkConfig> { + + public NameLookupBenchmarkScenario(final NameLookupBenchmarkConfig bc) throws Exception { + super(bc, true); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupBenchmarkConfigBuilder.java deleted file mode 100644 index 7ca5984d1..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddNameLookupBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddNameLookupBenchmarkConfig, JastaddNameLookupBenchmarkConfigBuilder> { - - @Override - public JastaddNameLookupBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddNameLookupBenchmarkConfig(configBase); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupBenchmarkConfig.java similarity index 58% rename from trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupBenchmarkConfig.java rename to trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupBenchmarkConfig.java index 566c73870..627ba3d0a 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddNameLookupBenchmarkConfig.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupBenchmarkConfig.java @@ -2,15 +2,15 @@ package de.tudresden.inf.st.train.jastadd.config; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -public class JastaddNameLookupBenchmarkConfig extends JastaddAbstractBenchmarkConfig { +public class NameLookupBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - protected JastaddNameLookupBenchmarkConfig(final BenchmarkConfigBase configBase) { + protected NameLookupBenchmarkConfig(final BenchmarkConfigBase configBase) { super(configBase); } @Override public String getToolName() { - return "Jastadd (Name Lookup)"; + return "Name Lookup"; } @Override diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupBenchmarkConfigBuilder.java new file mode 100644 index 000000000..66f01a994 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/main/java/de/tudresden/inf/st/train/jastadd/config/NameLookupBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class NameLookupBenchmarkConfigBuilder extends BenchmarkConfigBuilder<NameLookupBenchmarkConfig, NameLookupBenchmarkConfigBuilder> { + + @Override + public NameLookupBenchmarkConfig createConfig() { + checkNotNulls(); + return new NameLookupBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddTest.java index cc1b986aa..56917b6ee 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddTest.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-namelookup/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddTest.java @@ -1,8 +1,8 @@ package de.tudresden.inf.st.train.jastadd.test; -import de.tudresden.inf.st.train.jastadd.JastaddNameLookupBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddNameLookupBenchmarkConfigBuilder; +import de.tudresden.inf.st.train.jastadd.NameLookupBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.NameLookupBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.NameLookupBenchmarkConfigBuilder; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; @@ -11,8 +11,8 @@ public class JastaddTest extends TrainBenchmarkTest { @Override protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddNameLookupBenchmarkConfig bc = new JastaddNameLookupBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddNameLookupBenchmarkScenario scenario = new JastaddNameLookupBenchmarkScenario(bc); + final NameLookupBenchmarkConfig bc = new NameLookupBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final NameLookupBenchmarkScenario scenario = new NameLookupBenchmarkScenario(bc); final BenchmarkResult result = scenario.performBenchmark(); return result; } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index 02fb70b55..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddOptimizedIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddOptimizedIncrementalBenchmarkConfig.class); - final JastaddOptimizedIncrementalBenchmarkScenario scenario = new JastaddOptimizedIncrementalBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedIncrementalBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedIncrementalBenchmarkScenario.java deleted file mode 100644 index 2196ce7b7..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedIncrementalBenchmarkScenario.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfig; - -public class JastaddOptimizedIncrementalBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddOptimizedIncrementalBenchmarkConfig> { - - public JastaddOptimizedIncrementalBenchmarkScenario(final JastaddOptimizedIncrementalBenchmarkConfig bc) throws Exception { - super(bc, false); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfigBuilder.java deleted file mode 100644 index 71dae6a39..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedIncrementalBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddOptimizedIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddOptimizedIncrementalBenchmarkConfig, JastaddOptimizedIncrementalBenchmarkConfigBuilder> { - - @Override - public JastaddOptimizedIncrementalBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddOptimizedIncrementalBenchmarkConfig(configBase); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java deleted file mode 100644 index f8c1a7e06..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddRefTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.test; - -import de.tudresden.inf.st.train.jastadd.JastaddOptimizedIncrementalBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedIncrementalBenchmarkConfigBuilder; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; -import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; - -public class JastaddRefTest extends TrainBenchmarkTest { - - @Override - protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddOptimizedIncrementalBenchmarkConfig bc = new JastaddOptimizedIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddOptimizedIncrementalBenchmarkScenario scenario = new JastaddOptimizedIncrementalBenchmarkScenario(bc); - final BenchmarkResult result = scenario.performBenchmark(); - return result; - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index 1db553c30..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddOptimizedBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddOptimizedBenchmarkConfig.class); - final JastaddOptimizedBenchmarkScenario scenario = new JastaddOptimizedBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedBenchmarkScenario.java deleted file mode 100644 index a925cfbbb..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddOptimizedBenchmarkScenario.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfig; - -public class JastaddOptimizedBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddOptimizedBenchmarkConfig> { - - public JastaddOptimizedBenchmarkScenario(final JastaddOptimizedBenchmarkConfig bc) throws Exception { - super(bc, true); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfigBuilder.java deleted file mode 100644 index 8f7f90af1..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddOptimizedBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddOptimizedBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddOptimizedBenchmarkConfig, JastaddOptimizedBenchmarkConfigBuilder> { - - @Override - public JastaddOptimizedBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddOptimizedBenchmarkConfig(configBase); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddOptimizedTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddOptimizedTest.java deleted file mode 100644 index b0fc3d65a..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-optimized/src/test/java/de/tudresden/inf/st/train/jastadd/test/JastaddOptimizedTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.test; - -import de.tudresden.inf.st.train.jastadd.JastaddOptimizedBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddOptimizedBenchmarkConfigBuilder; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; -import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; - -public class JastaddOptimizedTest extends TrainBenchmarkTest { - - @Override - protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddOptimizedBenchmarkConfig bc = new JastaddOptimizedBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddOptimizedBenchmarkScenario scenario = new JastaddOptimizedBenchmarkScenario(bc); - final BenchmarkResult result = scenario.performBenchmark(); - return result; - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/.editorconfig b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/.editorconfig similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized/.editorconfig rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/.editorconfig diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/build.gradle similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/build.gradle rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/build.gradle diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/.gitignore b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/.gitignore similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/.gitignore rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/.gitignore diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/ASTPrinting.jadd b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/ASTPrinting.jadd similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/ASTPrinting.jadd rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/ASTPrinting.jadd diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/RefList.jadd b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/RefList.jadd similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/RefList.jadd rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/RefList.jadd diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/TreeNavigation.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/TreeNavigation.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/TreeNavigation.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/TreeNavigation.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/ConnectedSegmentsMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/PosLength.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/PosLength.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/PosLength.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/PosLength.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/RouteSensorMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/RouteSensorMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/RouteSensorMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/RouteSensorMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/SemaphoreNeighbors.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/SwitchMonitoredMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/SwitchSetMatch.jrag b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/SwitchSetMatch.jrag similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/queries/SwitchSetMatch.jrag rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/queries/SwitchSetMatch.jrag diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectConnectedSegments.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectPosLength.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectRouteSensor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSemaphoreNeighbor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchMonitored.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/inject/JastaddTransformationInjectSwitchSet.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairConnectedSegments.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairPosLength.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairRouteSensor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSemaphoreNeighbor.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchMonitored.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java similarity index 100% rename from trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast-base/src/main/java/de/tudresden/inf/st/train/jastadd/transformations/repair/JastaddTransformationRepairSwitchSet.java diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/build.gradle index dc24bb0ed..7bb113181 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/build.gradle @@ -13,13 +13,13 @@ task copyFromBase(type: Copy) { group = 'build' description = 'Copy Java sources from base project' from '../trainbenchmark-tool-jastadd-base/src/main/java' - from '../trainbenchmark-tool-jastadd-specialized-base/src/main/java' + from '../trainbenchmark-tool-jastadd-relast-base/src/main/java' into 'src/main/java-include' } shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.RelASTIncrementalBenchmarkMain' } } task preprocess(type: JavaExec) { @@ -31,14 +31,14 @@ task preprocess(type: JavaExec) { main = "-jar" args = [ "../trainbenchmark-tool-jastadd-base/libs/relast-compiler.jar", - "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast", + "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast", "--listClass=RefList", "--serializer=jackson", "--grammarName=src/main/jastadd-gen/Train", "--file" ] - inputs.files "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast" + inputs.files "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast" outputs.files "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd", "src/main/jastadd-gen/TrainRefResolver.jadd", @@ -69,7 +69,7 @@ task jastadd(type: JavaExec) { "src/main/jastadd-gen/TrainRefResolver.jadd", "src/main/jastadd-gen/TrainResolverStubs.jrag", "src/main/jastadd-gen/TrainSerializer.jadd" - ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/").matching {exclude "*.relast"} + ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/").matching {exclude "*.relast"} doLast { ant.replaceregexp(match:'RefList extends List', replace:'RefList<T extends ASTNode> extends List<T>', flags:'g', byline:true) { @@ -83,7 +83,7 @@ task jastadd(type: JavaExec) { "src/main/jastadd-gen/TrainResolverStubs.jrag", "src/main/jastadd-gen/TrainSerializer.jadd", fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/"), - fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/") outputs.files "src/main/java-gen" } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index 98249d03b..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTIncrementalBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddRelASTIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddRelASTIncrementalBenchmarkConfig.class); - final JastaddRelASTBenchmarkScenario scenario = new JastaddRelASTBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java deleted file mode 100644 index dc0ff5548..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTIncrementalBenchmarkConfig; - -public class JastaddRelASTBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddRelASTIncrementalBenchmarkConfig> { - - public JastaddRelASTBenchmarkScenario(final JastaddRelASTIncrementalBenchmarkConfig bc) throws Exception { - super(bc, true); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkMain.java new file mode 100644 index 000000000..321b7d097 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.RelASTIncrementalBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class RelASTIncrementalBenchmarkMain { + public static void main(final String[] args) throws Exception { + final RelASTIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], RelASTIncrementalBenchmarkConfig.class); + final RelASTIncrementalBenchmarkScenario scenario = new RelASTIncrementalBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkScenario.java new file mode 100644 index 000000000..b7535405f --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTIncrementalBenchmarkScenario.java @@ -0,0 +1,12 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.RelASTIncrementalBenchmarkConfig; + +public class RelASTIncrementalBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<RelASTIncrementalBenchmarkConfig> { + + public RelASTIncrementalBenchmarkScenario(final RelASTIncrementalBenchmarkConfig bc) throws Exception { + super(bc, true); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfig.java deleted file mode 100644 index 54eb70344..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfig.java +++ /dev/null @@ -1,21 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; - -public class JastaddRelASTIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - - protected JastaddRelASTIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { - super(configBase); - } - - @Override - public String getToolName() { - return "Grammar Extension with Serialiser (Incremental)"; - } - - @Override - public String getProjectName() { - return "jastadd-relast"; - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfigBuilder.java deleted file mode 100644 index c588bd5f0..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTIncrementalBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddRelASTIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddRelASTIncrementalBenchmarkConfig, JastaddRelASTIncrementalBenchmarkConfigBuilder> { - - @Override - public JastaddRelASTIncrementalBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddRelASTIncrementalBenchmarkConfig(configBase); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfig.java new file mode 100644 index 000000000..77a332a4b --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfig.java @@ -0,0 +1,21 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; + +public class RelASTIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { + + protected RelASTIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { + super(configBase); + } + + @Override + public String getToolName() { + return "Grammar Extension with Serializer (Incremental)"; + } + + @Override + public String getProjectName() { + return "jastadd-relast-incremental"; + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfigBuilder.java new file mode 100644 index 000000000..3790680c2 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTIncrementalBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class RelASTIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<RelASTIncrementalBenchmarkConfig, RelASTIncrementalBenchmarkConfigBuilder> { + + @Override + public RelASTIncrementalBenchmarkConfig createConfig() { + checkNotNulls(); + return new RelASTIncrementalBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index b4e137457..be5cc1de5 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -62,7 +62,7 @@ public class JastaddDriver extends Driver { @Override public String getPostfix() { - return "-relast.json"; + return "-jastadd-relast.json"; } public void flushCache() { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerIncrementalTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerIncrementalTest.java index 2b789c6f7..975b569df 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerIncrementalTest.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerIncrementalTest.java @@ -1,8 +1,8 @@ package de.tudresden.inf.st.train.jastadd.test; -import de.tudresden.inf.st.train.jastadd.JastaddRelASTBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTIncrementalBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTIncrementalBenchmarkConfigBuilder; +import de.tudresden.inf.st.train.jastadd.RelASTIncrementalBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.RelASTIncrementalBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.RelASTIncrementalBenchmarkConfigBuilder; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; @@ -11,8 +11,8 @@ public class RelASTSerializerIncrementalTest extends TrainBenchmarkTest { @Override protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddRelASTIncrementalBenchmarkConfig bc = new JastaddRelASTIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddRelASTBenchmarkScenario scenario = new JastaddRelASTBenchmarkScenario(bc); + final RelASTIncrementalBenchmarkConfig bc = new RelASTIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final RelASTIncrementalBenchmarkScenario scenario = new RelASTIncrementalBenchmarkScenario(bc); final BenchmarkResult result = scenario.performBenchmark(); return result; } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/build.gradle b/trainbenchmark/trainbenchmark-tool-jastadd-relast/build.gradle index b03d29c1b..9658e0679 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast/build.gradle +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast/build.gradle @@ -13,13 +13,13 @@ task copyFromBase(type: Copy) { group = 'build' description = 'Copy Java sources from base project' from '../trainbenchmark-tool-jastadd-base/src/main/java' - from '../trainbenchmark-tool-jastadd-specialized-base/src/main/java' + from '../trainbenchmark-tool-jastadd-relast-base/src/main/java' into 'src/main/java-include' } shadowJar { classifier = 'fat' - manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.JastaddBenchmarkMain' } + manifest { attributes 'Main-Class': 'de.tudresden.inf.st.train.jastadd.RelASTBenchmarkMain' } } task preprocess(type: JavaExec) { @@ -31,14 +31,14 @@ task preprocess(type: JavaExec) { main = "-jar" args = [ "../trainbenchmark-tool-jastadd-base/libs/relast-compiler.jar", - "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast", + "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast", "--listClass=RefList", "--serializer=jackson", "--grammarName=src/main/jastadd-gen/Train", "--file" ] - inputs.files "../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/Train.relast" + inputs.files "../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/Train.relast" outputs.files "src/main/jastadd-gen/Train.ast", "src/main/jastadd-gen/Train.jadd", "src/main/jastadd-gen/TrainRefResolver.jadd", @@ -67,7 +67,7 @@ task jastadd(type: JavaExec) { "src/main/jastadd-gen/TrainRefResolver.jadd", "src/main/jastadd-gen/TrainResolverStubs.jrag", "src/main/jastadd-gen/TrainSerializer.jadd" - ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/").matching {exclude "*.relast"} + ] + fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/").matching {exclude "*.relast"} doLast { ant.replaceregexp(match:'RefList extends List', replace:'RefList<T extends ASTNode> extends List<T>', flags:'g', byline:true) { @@ -81,7 +81,7 @@ task jastadd(type: JavaExec) { "src/main/jastadd-gen/TrainResolverStubs.jrag", "src/main/jastadd-gen/TrainSerializer.jadd", fileTree("../trainbenchmark-tool-jastadd-base/src/main/jastadd/"), - fileTree("../trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/") + fileTree("../trainbenchmark-tool-jastadd-relast-base/src/main/jastadd/") outputs.files "src/main/java-gen" } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index c17cbc9a4..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddRelASTBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddRelASTBenchmarkConfig.class); - final JastaddRelASTBenchmarkScenario scenario = new JastaddRelASTBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java deleted file mode 100644 index 0fc13c828..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddRelASTBenchmarkScenario.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTBenchmarkConfig; - -public class JastaddRelASTBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddRelASTBenchmarkConfig> { - - public JastaddRelASTBenchmarkScenario(final JastaddRelASTBenchmarkConfig bc) throws Exception { - super(bc, true); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkMain.java new file mode 100644 index 000000000..ecab6df45 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkMain.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.RelASTBenchmarkConfig; +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; + +public class RelASTBenchmarkMain { + public static void main(final String[] args) throws Exception { + final RelASTBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], RelASTBenchmarkConfig.class); + final RelASTBenchmarkScenario scenario = new RelASTBenchmarkScenario(bc); + scenario.performBenchmark(); + scenario.printTraces(); + } +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkScenario.java new file mode 100644 index 000000000..184bfe93a --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/RelASTBenchmarkScenario.java @@ -0,0 +1,12 @@ +package de.tudresden.inf.st.train.jastadd; + +import de.tudresden.inf.st.train.jastadd.config.RelASTBenchmarkConfig; + +public class RelASTBenchmarkScenario extends + JastaddAbstractBenchmarkScenario<RelASTBenchmarkConfig> { + + public RelASTBenchmarkScenario(final RelASTBenchmarkConfig bc) throws Exception { + super(bc, true); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTBenchmarkConfigBuilder.java deleted file mode 100644 index 6880451ce..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddRelASTBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddRelASTBenchmarkConfig, JastaddRelASTBenchmarkConfigBuilder> { - - @Override - public JastaddRelASTBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddRelASTBenchmarkConfig(configBase); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTBenchmarkConfig.java similarity index 57% rename from trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTBenchmarkConfig.java rename to trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTBenchmarkConfig.java index f1f89ec2d..b28d50ebd 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddRelASTBenchmarkConfig.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTBenchmarkConfig.java @@ -2,15 +2,15 @@ package de.tudresden.inf.st.train.jastadd.config; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -public class JastaddRelASTBenchmarkConfig extends JastaddAbstractBenchmarkConfig { +public class RelASTBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - protected JastaddRelASTBenchmarkConfig(final BenchmarkConfigBase configBase) { + protected RelASTBenchmarkConfig(final BenchmarkConfigBase configBase) { super(configBase); } @Override public String getToolName() { - return "Grammar Extension with Serialiser"; + return "Grammar Extension with Serializer"; } @Override diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTBenchmarkConfigBuilder.java new file mode 100644 index 000000000..0682584c4 --- /dev/null +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/config/RelASTBenchmarkConfigBuilder.java @@ -0,0 +1,13 @@ +package de.tudresden.inf.st.train.jastadd.config; + +import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; + +public class RelASTBenchmarkConfigBuilder extends BenchmarkConfigBuilder<RelASTBenchmarkConfig, RelASTBenchmarkConfigBuilder> { + + @Override + public RelASTBenchmarkConfig createConfig() { + checkNotNulls(); + return new RelASTBenchmarkConfig(configBase); + } + +} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java index b4e137457..be5cc1de5 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/main/java/de/tudresden/inf/st/train/jastadd/driver/JastaddDriver.java @@ -62,7 +62,7 @@ public class JastaddDriver extends Driver { @Override public String getPostfix() { - return "-relast.json"; + return "-jastadd-relast.json"; } public void flushCache() { diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerTest.java index 057b12f84..dead3cd41 100644 --- a/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerTest.java +++ b/trainbenchmark/trainbenchmark-tool-jastadd-relast/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTSerializerTest.java @@ -1,8 +1,8 @@ package de.tudresden.inf.st.train.jastadd.test; -import de.tudresden.inf.st.train.jastadd.JastaddRelASTBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddRelASTBenchmarkConfigBuilder; +import de.tudresden.inf.st.train.jastadd.RelASTBenchmarkScenario; +import de.tudresden.inf.st.train.jastadd.config.RelASTBenchmarkConfig; +import de.tudresden.inf.st.train.jastadd.config.RelASTBenchmarkConfigBuilder; import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; @@ -11,8 +11,8 @@ public class RelASTSerializerTest extends TrainBenchmarkTest { @Override protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddRelASTBenchmarkConfig bc = new JastaddRelASTBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddRelASTBenchmarkScenario scenario = new JastaddRelASTBenchmarkScenario(bc); + final RelASTBenchmarkConfig bc = new RelASTBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); + final RelASTBenchmarkScenario scenario = new RelASTBenchmarkScenario(bc); final BenchmarkResult result = scenario.performBenchmark(); return result; } diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index c33670736..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddSpecializedIncrementalBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddSpecializedIncrementalBenchmarkConfig.class); - final JastaddSpecializedIncrementalBenchmarkScenario scenario = new JastaddSpecializedIncrementalBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedIncrementalBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedIncrementalBenchmarkScenario.java deleted file mode 100644 index 4d6ec97b5..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedIncrementalBenchmarkScenario.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfig; - -public class JastaddSpecializedIncrementalBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddSpecializedIncrementalBenchmarkConfig> { - - public JastaddSpecializedIncrementalBenchmarkScenario(final JastaddSpecializedIncrementalBenchmarkConfig bc) throws Exception { - super(bc, false); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfig.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfig.java deleted file mode 100644 index f1db89861..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; - -public class JastaddSpecializedIncrementalBenchmarkConfig extends JastaddAbstractBenchmarkConfig { - - protected JastaddSpecializedIncrementalBenchmarkConfig(final BenchmarkConfigBase configBase) { - super(configBase); - } - - @Override - public String getToolName() { - return "Jastadd (Specialized Incremental)"; - } - - @Override - public String getProjectName() { - return "jastadd-specialized-incremental"; - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfigBuilder.java deleted file mode 100644 index 3359af651..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedIncrementalBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddSpecializedIncrementalBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddSpecializedIncrementalBenchmarkConfig, JastaddSpecializedIncrementalBenchmarkConfigBuilder> { - - @Override - public JastaddSpecializedIncrementalBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddSpecializedIncrementalBenchmarkConfig(configBase); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java deleted file mode 100644 index 0de660941..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized-incremental/src/test/java/de/tudresden/inf/st/train/jastadd/test/RelASTIncrementalTest.java +++ /dev/null @@ -1,20 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.test; - -import de.tudresden.inf.st.train.jastadd.JastaddSpecializedIncrementalBenchmarkScenario; -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfig; -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedIncrementalBenchmarkConfigBuilder; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBase; -import hu.bme.mit.trainbenchmark.benchmark.runcomponents.BenchmarkResult; -import hu.bme.mit.trainbenchmark.benchmark.test.TrainBenchmarkTest; - -public class RelASTIncrementalTest extends TrainBenchmarkTest { - - @Override - protected BenchmarkResult runTest(final BenchmarkConfigBase bcb) throws Exception { - final JastaddSpecializedIncrementalBenchmarkConfig bc = new JastaddSpecializedIncrementalBenchmarkConfigBuilder().setConfigBase(bcb).createConfig(); - final JastaddSpecializedIncrementalBenchmarkScenario scenario = new JastaddSpecializedIncrementalBenchmarkScenario(bc); - final BenchmarkResult result = scenario.performBenchmark(); - return result; - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java deleted file mode 100644 index 81ee0ab29..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddBenchmarkMain.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfig; -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfig; - -public class JastaddBenchmarkMain { - public static void main(final String[] args) throws Exception { - final JastaddSpecializedBenchmarkConfig bc = BenchmarkConfig.fromFile(args[0], JastaddSpecializedBenchmarkConfig.class); - final JastaddSpecializedBenchmarkScenario scenario = new JastaddSpecializedBenchmarkScenario(bc); - scenario.performBenchmark(); - scenario.printTraces(); - } -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedBenchmarkScenario.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedBenchmarkScenario.java deleted file mode 100644 index 5e8b8484f..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/JastaddSpecializedBenchmarkScenario.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.tudresden.inf.st.train.jastadd; - -import de.tudresden.inf.st.train.jastadd.config.JastaddSpecializedBenchmarkConfig; - -public class JastaddSpecializedBenchmarkScenario extends - JastaddAbstractBenchmarkScenario<JastaddSpecializedBenchmarkConfig> { - - public JastaddSpecializedBenchmarkScenario(final JastaddSpecializedBenchmarkConfig bc) throws Exception { - super(bc, true); - } - -} diff --git a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfigBuilder.java b/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfigBuilder.java deleted file mode 100644 index f714f0638..000000000 --- a/trainbenchmark/trainbenchmark-tool-jastadd-specialized/src/main/java/de/tudresden/inf/st/train/jastadd/config/JastaddSpecializedBenchmarkConfigBuilder.java +++ /dev/null @@ -1,13 +0,0 @@ -package de.tudresden.inf.st.train.jastadd.config; - -import hu.bme.mit.trainbenchmark.benchmark.config.BenchmarkConfigBuilder; - -public class JastaddSpecializedBenchmarkConfigBuilder extends BenchmarkConfigBuilder<JastaddSpecializedBenchmarkConfig, JastaddSpecializedBenchmarkConfigBuilder> { - - @Override - public JastaddSpecializedBenchmarkConfig createConfig() { - checkNotNulls(); - return new JastaddSpecializedBenchmarkConfig(configBase); - } - -} -- GitLab