Variability Modules for Java-like Languages (Artifact)
- 1. University of Torino
- 2. Technische Universität Darmstadt
- 3. University of Oslo
- 4. ONERA
Description
Virtual machine for the SPLC 2021 publication "Variability Modules for Java-like Languages", which will be available under https://doi.org/10.1145/3461001.3471143 . For full details, we refer to that article, the following are instructions to execute its case studies inside the VM. A preprint of the SPLC publication is saved on the Desktop of the VM, as well as an extended readme file. The readme file is also available at https://github.com/Edkamb/splc2021_artifact
To start the virtual machine, download the .ova file and load it in VirtualBox (https://www.virtualbox.org/wiki/Downloads).
Relation to ABS and Code Availability.
The artifact is a virtual machine with a pre-installed version of the ABS compiler, extended with
the variability module system, as well as several examples to reproduce the case studies
in Section 8 of the main article. The extension is available online under the following URL (note that
the code is in the variable_mod branch, not the master branch).
https://github.com/Edkamb/abstools/tree/variable_mod
Variability modules will soon be merged into the main branch of the ABS compiler once an ongoing
refactoring phase in the main branch will be completed. The documentation of the pull request is
located at
https://github.com/abstools/abstools/pull/279
ABS Language documentation can be found at https://abs-models.org/manual/
Access
The password for the virtual machine is variable , the user is abs . To run the code, open the
compiler/abstools directory in the desktop of the VM and run the commands described below.
Examples
To compile the running example (Sec. 2), run
java -jar frontend/build/libs/absfrontend.jar --prettyprint examples/VM/Rails.abs
To compile the AISCO portal (Sec. 8.2.1), run
java -jar frontend/build/libs/absfrontend.jar --prettyprint examples/VM/Total.abs
To compile the FormbaR model refactoring (Sec. 8.2.2), run
java -jar frontend/build/libs/absfrontend.jar --prettyprint examples/VM/formbar/POSTVM/*abs
The pre-refactoring model is in examples/VM/formbar/PREVM
To compile the Memory model (Sec. 8.2.3), run
java -jar frontend/build/libs/absfrontend.jar --prettyprint examples/Memory/Mem_VM.abs
The model without VMs is in examples/Memory/Mem_no_VM.abs
Compilation
To recompile run
make
from the compiler/abstools directory (containing MAKEFILE). The resulting jar file is generated in frontend/build/libs/ . Observe that the name of the generated
.jar file includes a suffix depending on the current version, for example,
absfrontend-variable_mod-old-parser-sunset-1767-g61560577f.jar
To clone the whole repository, run
git clone https://github.com/Edkamb/abstools.git .
git checkout variable:mod
Language documentation can be found under https://abs-models.org/manual/ , the ticketing
system under https://github.com/abstools/abstools/issues
To set up the VM, generate a new virtual machine running a fresh install of Xubuntu 21.04 and run
the following to install the dependencies.
sudo apt install git openjdk-8-jdk erlang make
Files
Files
(3.9 GB)
Name | Size | Download all |
---|---|---|
md5:69c017b143970e4c74d5d96177039e17
|
3.9 GB | Download |