Skip to content
Snippets Groups Projects
Commit ed381ed3 authored by René Schöne's avatar René Schöne
Browse files

Fix docker creation

parent 9cfee7fe
No related branches found
No related tags found
No related merge requests found
......@@ -39,8 +39,7 @@ RUN ./gradlew --no-daemon preprocess \
&& ./gradlew --no-daemon build shadowJar -x test \
&& ./scripts/configure.sh 1 1 900 10 \
&& ./gradlew --no-daemon generate \
&& ./scripts/configure.sh 1 1024 900 10 \
&& ./gradlew --no-daemon initScripts
&& ./scripts/configure.sh 1 1024 900 10
# USER root
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>README</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
<style type="text/css">
table {
border-spacing: 0;
......@@ -33,7 +41,7 @@
</style>
</head>
<body>
<h1 id="artifacts-for-continuous-model-validation-using-reference-attribute-grammars">Artifacts for &quot;Continuous Model Validation Using Reference Attribute Grammars&quot;</h1>
<h1 id="artifacts-for-continuous-model-validation-using-reference-attribute-grammars">Artifacts for Continuous Model Validation Using Reference Attribute Grammars</h1>
<p><em>Note: There is a variant of this submission including a docker image (provided as a link) and one without it (uploaded in HotCRP). We encourage using the one including the image, since building the image takes a long time.</em></p>
<h3 id="authors">Authors</h3>
<ul>
......@@ -110,7 +118,7 @@
<h2 id="the-train-benchmark">The Train Benchmark</h2>
<h3 id="structure-of-the-train-benchmark">Structure of the Train Benchmark</h3>
<p>The benchmark is able to measure different scenarios specified by configurations with several kinds of parameters:</p>
<ol style="list-style-type: decimal">
<ol type="1">
<li><strong>Input Data:</strong> There are two types of input data used in the benchmark, the <code>inject</code> and the <code>repair</code> data set. The former contains <em>valid</em> models, i.e., models, which do not contain any of the faults that are supposed to be found by the presented queries. The latter, <code>repair</code>, contains models already containing faults.</li>
<li><strong>Queries:</strong> The queries are used to find the aforementioned faults. For each fault, there are two queries: <em>repair</em>, to find the fault, and <em>inject</em>, to find places where a fault can be injected.</li>
<li><strong>Transformations:</strong> The transformations performed by the benchmark are, again, two sets: <em>inject</em> and <em>repair</em> transformations.</li>
......@@ -236,12 +244,10 @@
<ul>
<li>run <code>./gradlew preprocess</code> to generate the grammar from the extended grammar specification</li>
<li>run <code>./gradlew build shadowJar -x test</code></li>
<li>run <code>./gradlew initScripts</code></li>
<li>configure the scripts by running <code>./scripts/configure.sh 1 &lt;MAXSIZE&gt; &lt;TIMEOUT in s&gt; &lt;REPETITIONS&gt;</code>
<ul>
<li>Where MAXSIZE is one of 2, 4, 8, 16, 32, 64, 128, 256, 512, or, 1024. The larger sizes use <strong>a lot of</strong> disk space!</li>
</ul></li>
<li>run <code>./gradlew initScripts</code></li>
<li>run <code>./gradlew generate</code></li>
<li>run the benchmark
<ul>
......
......@@ -181,10 +181,8 @@ However, since there are some software requirements imposed by the benchmark, pa
- For running a custom run,
- run `./gradlew preprocess` to generate the grammar from the extended grammar specification
- run `./gradlew build shadowJar -x test`
- run `./gradlew initScripts`
- configure the scripts 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, or, 1024. The larger sizes use **a lot of** disk space!
- run `./gradlew initScripts`
- run `./gradlew generate`
- run the benchmark
- run `./gradlew individualInjectBenchmark` for the *inject* scenarios
......
......@@ -181,10 +181,8 @@ However, since there are some software requirements imposed by the benchmark, pa
- For running a custom run,
- run `./gradlew preprocess` to generate the grammar from the extended grammar specification
- run `./gradlew build shadowJar -x test`
- run `./gradlew initScripts`
- configure the scripts 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, or, 1024. The larger sizes use **a lot of** disk space!
- run `./gradlew initScripts`
- run `./gradlew generate`
- run the benchmark
- run `./gradlew individualInjectBenchmark` for the *inject* scenarios
......
......@@ -21,4 +21,4 @@ rm -rf ModelValidationWithRAGs/trainbenchmark/*/src/main/java-gen/*
rm -f ModelValidationWithRAGs/trainbenchmark/trainbenchmark-tool-jastadd-specialized-base/src/main/jastadd/TrainGen.*
rm ModelValidationWithRAGs/preprocessor/.gitignore
echo "Now please run 'sudo docker save --output ModelValidationWithRAGs/trainbenchmark-docker.tar trainbenchmark && sudo chown $(whoami):$(whoami) ModelValidationWithRAGs/trainbenchmark-docker.tar'"
echo "Now please run '( cd ModelValidationWithRAGs/ && docker build -t trainbenchmark . ) && docker save --output ModelValidationWithRAGs/trainbenchmark-docker.tar trainbenchmark && chown $(whoami):$(whoami) ModelValidationWithRAGs/trainbenchmark-docker.tar'"
......@@ -20,7 +20,7 @@ subprojects {
maven { url "https://repo.eclipse.org/content/groups/viatra2" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
maven { url "https://dl.bintray.com/ftsrg/maven" }
maven { url "http://repo1.maven.org/maven2/" }
maven { url "https://repo1.maven.org/maven2/" }
}
}
......
......@@ -8,7 +8,6 @@ echo -e "\033[1;91mGeneration of test-models"
echo -e "\033[0mFor example to change the maxSize option. Can be configured inside:"
echo -e "* trainbenchmark-scripts/src-template/GeneratorScript.groovy"
echo -e "When you are finished, run:"
echo -e "* ./gradlew initScripts"
echo -e "* ./gradlew generate"
echo -e ""
echo -e "\033[1;91mBenchmarking"
......@@ -16,6 +15,5 @@ echo -e "\033[0mCan be configured inside:"
echo -e "* trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy"
echo -e "* trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy"
echo -e "When you are finished, run:"
echo -e "* ./gradlew initScripts"
echo -e "* ./gradlew individualInjectBenchmark"
echo -e "* ./gradlew individualRepairBenchmark"
......@@ -8,15 +8,12 @@ The benchmark requires a 64-bit operating system. We recommend Ubuntu-based Linu
### Setup
* Initialization
* [`install-jdk.sh`](scripts/install-jdk.sh): installs [Oracle JDK 8](https://github.com/FTSRG/cheat-sheets/wiki/Linux-packages#oracle-jdk)
* [`./gradlew initScripts`](trainbenchmark-scripts/build.gradle): intializes the Groovy scripts for the [generate](trainbenchmark-scripts/src-template/GeneratorScript.groovy) and the [benchmark](trainbenchmark-scripts/src-template/BenchmarkScript.groovy) goals.
* [`install-jdk.sh`](scripts/install-jdk.sh): installs [Oracle JDK 8](https://github.com/FTSRG/cheat-sheets/wiki/Linux-packages#oracle-jdk)
Provided that you start with a fresh Ubuntu server installation, you can run the provided install scripts like this:
```bash
scripts/install-jdk.sh && \
./gradlew initScripts
scripts/install-jdk.sh
```
#### Optional dependencies
......
./scripts/configure.sh 1 512 900 10
./gradlew initScripts --offline
./gradlew generate --offline
./gradlew individualInjectBenchmark --offline
./gradlew plotIndividual --offline
......
./scripts/configure.sh 1 64 600 5
./gradlew initScripts --offline
./gradlew generate --offline
./gradlew individualInjectBenchmark --offline
./gradlew plotIndividual --offline
......
./scripts/configure.sh 1 32 60 1
./gradlew initScripts --offline
./gradlew generate --offline
./gradlew individualInjectBenchmark --offline
./gradlew plotIndividual --offline
......
......@@ -28,14 +28,12 @@ echo -e "\\033[1;91mBenchmark:"
echo -e "\\033[0m ./gradlew individualInjectBenchmark"
echo " ./gradlew individualRepairBenchmark"
sed -i "s/^def minSize =.*/def minSize = $MINSIZE/" ./trainbenchmark-scripts/src-template/GeneratorScript.groovy
sed -i "s/^def maxSize =.*/def maxSize = $MAXSIZE/" ./trainbenchmark-scripts/src-template/GeneratorScript.groovy
sed -i "s/^def minSize =.*/def minSize = $MINSIZE/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy
sed -i "s/^def maxSize =.*/def maxSize = $MAXSIZE/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy
sed -i "s/^def timeout =.*/def timeout = $TIMEOUT/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy
sed -i "s/^def runs =.*/def runs = $RUNS/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkInjectScript.groovy
sed -i "s/^def minSize =.*/def minSize = $MINSIZE/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy
sed -i "s/^def maxSize =.*/def maxSize = $MAXSIZE/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy
sed -i "s/^def timeout =.*/def timeout = $TIMEOUT/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy
sed -i "s/^def runs =.*/def runs = $RUNS/" ./trainbenchmark-scripts/src-template/IndividualBenchmarkRepairScript.groovy
./gradlew --no-daemon initScripts
cat <<EOF > ./trainbenchmark-scripts/src/main/resources/local-basic-settings.json
{
"minSize": $MINSIZE,
"maxSize": $MAXSIZE,
"timeout": $TIMEOUT,
"runs": $RUNS,
"dry-run": false
}
EOF
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment