SpaceEx State Space Explorer

Installing the SpaceEx VM Server

The SpaceEx Virtual Machine (VM) allows you to run the SpaceEx platform locally, in a protected and safe environment. The virtual machine runs as if it was a separate computer, connected to the host system only via a shared internet connection.

You control the execution of the SpaceEx core application via a web-browser interface, which also lets you set parameters such as the initial states of the system, output variables and various other options. All settings can be saved in configuration files.

The server comes with a set of ready-to-play examples, which illustrate some of the capabilities of SpaceEx. The web interface also lets you start the SpaceEx Model Editor to create your own system models.

Reachable set of a four dimensional oscillatorOverapproximation of the reachable states of a four dimensional oscillator with octagonal template polyhedra

Running the VM server with VMware

  • If you don't yet have a player for virtual machines install VMware Player (PC, Linux), VMware fusion (Mac). Note that for installing these players you require administrator priviliges. If you don't have these, try one of the alternatives below.
  • Download the image spaceex-virtual-machine-server-XXX.7z in VMX format and extract the VM image using 7zip (the .7z is less than half the size of .tar.gz). It will be located in the directory spaceex-virtual-machine-server.
  • Run VMware player and open the downloaded image (sspaceex_server.vmx).
  • If prompted whether the image was moved or copied, select "moved". The VM should boot up.
  • After the boot, a terminal window should open and display an IP, e.g., 192.168.226.132. If the IP is 127.0.0.1,  there is a network problem.
  • Open a web browser like Firefox and type that IP in the address bar. Note that SpaceEx does not work with Internet Explorer.
  • The SpaceEx web interface should start, showing a webpage with further instructions.

Running the VM server with Virtualbox

  • Install VirtualBox (PC, Mac OS X, Linux, Solaris). Other players might work as well.
  • Download the image spaceex-virtual-machine-server-XXX-ovf.7z in OVF format and extract the VM image using 7zip.
  • Run VirtualBox and open the downloaded image (sspaceex_server.ovf). The VM should boot up.
  • After the boot, a terminal window should open and display an IP, e.g., 192.168.226.132. If the IP is 127.0.0.1,  there is a network problem.
  • Open a web browser like Firefox and type that IP in the address bar. Note that SpaceEx does not work with Internet Explorer.
  • The SpaceEx web interface should start, showing a webpage with further instructions.

Running the VM server with QEMU

  • This solution works even if you don't have administrator priviliges. First, install QEMU. However, note that QEMU runs about 50 times slower than a regular machine. You can speed it up using the KQEMU extension, but the installation of this extension requires administrator priviliges.
  • Run QEMU using
    • qemu -redir tcp:8080:10.0.2.15:80 sspaceex-server.vmdk
  • You should see a message like
    • VNC server running on `127.0.0.1:5900'
  • Open a web browser like Firefox type localhost:8080 in the address bar.
  • The SpaceEx web interface should start, showing a webpage with further instructions.
  • In case you need to maintain the VM server, you can open a console with
    • vncviewer 127.0.0.1:5900

Running the VM server with other Players

  • If the .vmx format does not work for you, you can convert it.

Stopping the VM server

  • Closing the server window will suspend the virtual machine. If you re-open it later it will resume and most likely work just fine. If you have trouble connecting after resuming, power off the virtual machine and restart it.
  • To power off the virtual machine, use the VM Player menu, or type "sudo shutdown -h now" in the terminal.

Troubleshooting

  • Note that you need to push the button “open” after choosing a model file. If you modify the file on disk, you need to push that button again to update the file on the server.
  • You can manually configure the virtual machine, it's a standard Ubuntu 9.10 release (user "notroot" with password "thoughtpolice"). 
  • To update to the latest version of the server, type “sudo spaceex-update”. The current installation is automatically backed up in case you need to revert.
  • If you haven't yet installed a VM player like VMWare and VirtualBox, you will need administrator rights to install them. If you don't have administrator rights, try QEMU.
  • In case of problems with Virtualbox, check the following:
    • use the vmdk file as an IDE drive (not SATA)
    • use Host-only networking, see here
    • put 'nameserver 192.168.1.1' in /etc/resolv.conf for DNS server, see here
  • In case the terminal window displays the IP of 127.0.0.1, 10.0.2.15, or similar, you should change the virtual networking (network adapter).  
    • This option can be found in VirtualBox by right-clicking on the virtual machine and selecting "Settings". Then, you should select "Network" from the list on the left, go to tab "Adapter 1" and change the option "Attached to".  
    • On home computers, the problem can be solved by choosing the option "Bridged Adapter", pressing okay and restarting the virtual machine. 

    • On public, work or University computers (where the administrator rights are limited) the option "Host-only Adapter" should be selected. By rebooting the virtual machine, the problem would be solved. If there is no host only adapter (i.e. no name appears or invalid settings are detected), you should create a new host only network. For the case of Virtual Box, you should select the option "File" on the top left of the Virtual Box Manager. Then, opt "Preferences" and "Network" respectively. On the "Host-only Networks" tab, you should press "Insert" (small green button on the right). A new host only network will be created under the name "vboxnet0"It should be noted that the latest versions of VirtualBox do not automatically configure the DHCP Server. As such, you should press the "edit" button (third on the right), navigate to the tab of DHCP Server, tick the option "Enable Server" and add the following values in the blanks. Server Address: 192.168.56.100, Server Mask: 255.255.255.0, Lower Address Bound: 192.168.56.101, Upper Address Bound: 192.168.56.254. In case the problem is not resolved, alter the Lower Address by setting the value 192.168.56.102. 

Other Virtual Machine Formats

  • If the .vmx format does not work for you, you can convert it using the OVF tool. Once the OVF tool is installed, open a terminal and go to the directory where you unpacked SpaceEx, then type:
    ovftool sspaceex-server.vmx sspaceex-server.ovf
  • The virtual machine in OVF format can be run on VirtualBox.

Acknowledgements

We thank the following people for their help with the VM server:

  • Colas Le Guernic for his help with the OVF format and QEMU.
  • Ian Mitchell for testing and many helpful suggestions.