Published July 13, 2022 | Version v5
Software Open

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  and the article "Variability Modules", which is under review. For full details, we refer to those articles, 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 full documentation is available at https://github.com/Edkamb/splc2021_artifact . This page is an excerpt.

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.


Experiments for "Variability Modules" Article

To reproduce the experiments in that article, follow the instructions under  compiler/examples/readme.txt

Examples for SPLC 2021 Publication
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 (4.0 GB)

Name Size Download all
md5:e81fe91c97b820f83f1605aec9e87d93
4.0 GB Download