Skip to content

Installation

Eugenio Gianniti edited this page Oct 20, 2016 · 8 revisions

This page provides installation instruction for the D-SPACE4Cloud back end.

Downloading the Binary

In order to download a D-SPACE4Cloud front end pre-built binary, look for the latest release in the Releases page. There you will find a relocatable jar file ready for download.

Installing the Third Party Solvers

In order to perform its optimisation procedures, the D-SPACE4Cloud back end relies on the third party solvers listed under Runtime Dependencies. Refer to the respective documentation for installation instructions. Also note that you can use either JMT or GreatSPN (or both), but you need to satisfy all the other runtime dependencies.

Configuration

Below you can find an example configuration file. You should provide your settings based on this example in a file named application.properties, saving it in the same directory where you run the back end.

You should bear in mind that the solver paths ({minlp,SPN,QN}.solver_path) in the configuration file should be either command names available in the remote system PATH or absolute paths to the solver executables. The remote working directory ({minlp,SPN,QN}.remote_work_dir) must be a path where the remote use has full permissions. Moreover, the connection with solvers and simulators is established via SSH, hence you should provide an address ({minlp,SPN,QN}.address) and port ({minlp,SPN,QN}.port) where the remote SSH daemon listens, the path to your local known_hosts ({minlp,SPN,QN}.known_hosts) file, the remote user name ({minlp,SPN,QN}.username), and the path to an authorised private key file ({minlp,SPN,QN}.private_key_file). The accuracy and significance properties can be used to tune the stopping criteria observed by the solvers. JMT allows to set a timeout for simulations, hence you can enforce a maximum simulation time in seconds via the QN.max-duration property. The solver.type property allows to choose the default simulator between JMT (QNSolver) and GreatSPN (SPNSolver). Depending on this choice, you might leave out the configuration of the unused simulator or even avoid installing it outright.

spring.profiles.active = test
solver.type = QNSolver
server.port = 8081

minlp.address = your.minlp.server.org
minlp.username = username
minlp.port = 22
minlp.remote-work-dir = /home/username/AMPL
minlp.ampl-directory = ampl
minlp.solver-path = knitroampl
minlp.known-hosts = ${HOME}/.ssh/known_hosts
minlp.private-key-file = ${HOME}/.ssh/id_rsa
minlp.force-clean = false

SPN.address = your.greatspn.server.org
SPN.username = username
SPN.port = 22
SPN.solver-path = swn_ord_sim
SPN.remote-work-dir = /home/username/GreatSPN
SPN.accuracy = 10
SPN.known-hosts = ${HOME}/.ssh/known_hosts
SPN.private-key-file = ${HOME}/.ssh/id_rsa
SPN.force-clean = false

QN.address = your.jmt.server.org
QN.username = username
QN.port = 22
QN.model = class-switch
QN.solver-path = /home/username/JavaModellingTools/JMT.jar
QN.remote-work-dir = /home/username/JMT
QN.accuracy = 10
QN.significance = 0.05
QN.known-hosts = ${HOME}/.ssh/known_hosts
QN.private-key-file = ${HOME}/.ssh/id_rsa
QN.force-clean = false
QN.max-duration = 7200

s4c.parallel = true

logging.file = log.txt

Running the Back End

Create a folder to host the web service, copy over the relocatable jar file you downloaded, and add a property file, as explained in Configuration. As soon as your configuration file is in place, you can launch the back end with java -jar <filename.jar>. Most likely, you should consider using nohup, GNU Screen, or similar software, in order to have the web service survive your session.

Related projects:

Clone this wiki locally