<h1id="artifacts-for-continuous-model-validation-using-reference-attribute-grammars">Artifacts for "Continuous Model Validation Using Reference Attribute Grammars"</h1>
<h1id="artifacts-for-continuous-model-validation-using-reference-attribute-grammars">Artifacts for "Continuous Model Validation Using Reference Attribute Grammars"</h1>
<p>The paper discusses the utilization of reference attribute grammars (RAGs) for model validation and presents two specific contributions. First, the differences between models and trees specified by reference attribute grammars, specifically non-containment references, are discussed and a manual, yet optimised method to efficiently overcome these differences is presented. Secondly, an extension of RAG grammar specifications is proposed to model noncontainment references automatically. The proposed modelling techniques are compared to state-of-the-art modelling tools utilizing a benchmarking framwork for continuous model validation, the <em>Train Benchmark</em>.</p>
<p>The paper discusses the utilization of reference attribute grammars (RAGs) for model validation and presents two specific contributions. First, the differences between models and trees specified by reference attribute grammars, specifically non-containment references, are discussed and a manual, yet optimised method to efficiently overcome these differences is presented. Secondly, an extension of RAG grammar specifications is proposed to model noncontainment references automatically. The proposed modelling techniques are compared to state-of-the-art modelling tools utilizing a benchmarking framwork for continuous model validation, the <em>Train Benchmark</em>.</p>
<h3id="structure-of-the-supplementary-artifacts">Structure of the Supplementary Artifacts</h3>
<h3id="structure-of-the-supplementary-artifacts">Structure of the Supplementary Artifacts</h3>
<p>To transform the grammar extension we provide a preprocessor for JastAdd This preprocessor including its source code is provided in the <code>preprocessor</code> subdirectory.</p>
<p>To transform the grammar extension we provide a preprocessor for JastAdd This preprocessor including its source code is provided in the <code>preprocessor</code> subdirectory.</p>
<p>Its usage is: - Running the preprocessor <code>java -jar relast-compiler.jar</code> Run preprocessor on train benchmark (output written to standard output):</p>
<p>Its usage is: - Run preprocessor on train benchmark (output written to standard output):<br/>
@@ -155,8 +164,7 @@ However, since there are some software requirements imposed by the benchmark, pa
...
@@ -155,8 +164,7 @@ However, since there are some software requirements imposed by the benchmark, pa
##### Running the Docker Image
##### Running the Docker Image
-`docker run -it trainbenchmark`
-`docker run -it trainbenchmark`
To make the results available outside the container, run
- To make the results available outside the container, run `docker run -it -v "$PWD"/docker-results:/trainbenchmark/results:Z -v "$PWD"/docker-diagrams:/trainbenchmark/diagrams:Z trainbenchmark`
`docker run -it -v "$PWD"/docker-results:/trainbenchmark/results:Z -v "$PWD"/docker-diagrams:/trainbenchmark/diagrams:Z trainbenchmark`
- A command prompt is opened and some information is displayed
- A command prompt is opened and some information is displayed
- Follow the instructions below
- Follow the instructions below
...
@@ -171,7 +179,7 @@ However, since there are some software requirements imposed by the benchmark, pa
...
@@ -171,7 +179,7 @@ However, since there are some software requirements imposed by the benchmark, pa
- run `./gradlew build shadowJar -x test`
- run `./gradlew build shadowJar -x test`
- run `./gradlew initScripts`
- run `./gradlew initScripts`
- configure the scripts either by running `./scripts/configure.sh 1 <MAXSIZE> <TIMEOUT in s> <REPETITIONS>`
- configure the scripts either by running `./scripts/configure.sh 1 <MAXSIZE> <TIMEOUT in s> <REPETITIONS>`
Where MAXSIZE is one of 2,4,8,16,32,64,128,256,512,1024. The larger sizes use **a lot of** disk space!
-Where MAXSIZE is one of 2,4,8,16,32,64,128,256,512,1024. The larger sizes use **a lot of** disk space!