Variability Modules for Java-like Languages (Artifact)
Main Authors: | Ferruccio Damiani, Reiner Hähnle, Eduard Kamburjan, Michael Lienhardt, Luca Paolini |
---|---|
Format: | info software Journal |
Terbitan: |
, 2021
|
Online Access: |
https://zenodo.org/record/5042218 |
Daftar Isi:
- 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