-
Notifications
You must be signed in to change notification settings - Fork 1
Setup ~ VM
In this section we describe the steps required to run the ildl-plugin
demo virtual machine.
The following minimum specs are necessary for the virtual machine:
- 10 GB hard-drive space (compressed VM has 3GB, decompressed 6GB)
- 8 GB of RAM (the VM requires 4GB of RAM, if you can't afford that much, it will also work with 3GB, but you need to adjust it in the VMware Player: from the menu bar, choose Virtual Machine, then Virtual Machine Settings and Memory)
We strongly recommend replicating the benchmarks directly on the host machine. We tried to replicate the benchmarks in the virtual machine and were unable to, most likely due to the 32-bit system architecture and the overhead of virtualization.
The uploaded virtual machine is available using these two alternative links:
- https://www.dropbox.com/s/p3wldw737y01bc6/iLDL-VM-v1.1.tar.gz?dl=0
- http://chara.epfl.ch/~ureche/iLDL-VM-v1.1.tar.gz
The hash code for the vm archive is:
md5sum 5a80dad200d5efdc0bf2805f221eb6d9
sha1sum e99936c9e7be7d3c0a3f25d36004f9175f2c800a
After downloading and checking the hash, please expand the .tar.gz archive.
To start the virtual machine you need the VMware’s VM Player. It is free and can be downloaded from VMware’s website. The installation should be self-explanatory.
Once VMware Player is installed, you should be able to Open
and Play
the virtual machine.
In the virtual machine, open the Tutorial
directory and double-click the Step by step guide
. This is a wiki page that will guide you through exploring the artifact source code, the benchmarks and the transformation. You will be able to explore the artifact in the ScalaIDE, allowing you to navigate easily.
In the Links
directory, you will find three links:
- a link to the workspace, with the following projects:
- ildl-plugin (main artifact)
- scala-streams (external benchmark)
- optimistic-respecialization (external benchmark)
- miniboxing plugin (used by the external benchmarks)
- a link to the
ScalaIDE
with all the projects set up - a link to a
Terminal
, where you can run theildl-scalac
andildl-scala
scripts (you will use them throughout the project exploration)
The README
file on the desktop contains some more information about the setup.
Please note that the virtual machine does require an Internet connection to access maven repositories.
To make sure everything runs as expected, open a Terminal
window and type cd Workspace/ildl-plugin/
and sbt test
:
$ cd Workspace/ildl-plugin/
$ sbt test
...
Compiling benchmark-lazylist.scala ... [ OK ]
Compiling bridges-1-repr.scala ... [ OK ]
Compiling bridges-2-reprs.scala ... [ OK ]
Compiling coerce-complex-1.scala ... [ OK ]
Compiling coerce-complex-2.scala ... [ OK ]
Compiling coerce-simple.scala ... [ OK ]
Compiling constructors.scala ... [ OK ]
Compiling error-high-1.scala ... [ OK ]
Compiling error-high-2.scala ... [ OK ]
Compiling error-high-3.scala ... [ OK ]
Compiling extensions-basic-implicit.scala ... [ OK ]
Compiling extensions-basic.scala ... [ OK ]
Compiling extensions-generic-implicit.scala ... [ OK ]
Compiling extensions-generic.scala ... [ OK ]
Compiling feature-high.scala ... [ OK ]
Compiling freestyle-1.scala ... [ OK ]
Compiling freestyle-2.scala ... [ OK ]
Compiling freestyle-3.scala ... [ OK ]
Compiling hamming-issue.scala ... [ OK ]
Compiling inject-accessors-2.scala ... [ OK ]
Compiling inject-accessors.scala ... [ OK ]
Compiling scopes-collaborating-2.scala ... [ OK ]
Compiling scopes-collaborating.scala ... [ OK ]
Compiling scopes-conflicting-cascade.scala ... [ OK ]
Compiling scopes-conflicting-repr.scala ... [ OK ]
Compiling scopes-conflicting-same-high.scala ... [ OK ]
Compiling scopes-nested.scala ... [ OK ]
Compiling scopes-pickling.scala ... [ OK ]
28 tests ran, all good :)
Congratulations, you just ran the ildl-plugin
test suite!
- now that the VM is up and running, check out the Step by Step Guide
- or jump to using a local installation
- return to the home page
**Return to the main page** or **return to the OOPSLA Step by Step Guide**