Skip to content

cpswarm/SimulationOrchestrator

Repository files navigation

CPSwarm Simulation and Optimization Orchestrator

This is the project for the Simulation and Optimization Orchestrator (SOO). This component orchestrates the simulation and optimization process. It is the only interface between the Simulation and Optimization Environment and the rest of the workbench. The SOO is the centralized component connected, from one side to the Launcher and from the other side to the Optimization Tool (OT) and the distributed Simulation Managers (SM)s using the eXtensible Messaging and Presence Protocol (XMPP) protocol

Getting Started

  • Documentation: wiki

Deployment

Packages are built continuously with Bamboo.

Compile from source

Within the root of the repository:

mvn install

The software contains some tests, which require a setup, if you want to avoid them

mvn install -DskipTests 

Development

Run tests

This is the command to be used to launch tests

mvn test -Dtest_server_ip=123.123.123.123 -Dtest_server_name=pippo.pluto.it -Dtest_server_username=orchestrator_bamboo -Dtest_server_password=orchestrator -Dtest_orchestrator_output_data_folder= -Dtest_manager_data_folder= -Doptimization_user=optimization_bamboo -Dot_data_folder= -Dros_folder=   -Dtask_id=emergency_exit  -Dparameters="" -Dgui=false -Ddimensions="Any" -Dmax_agents=3 -Dlocal_optimzation=false -Dstarting_timeout=5000 -Djavax.xml.accessExternalDTD=all

And here with the explanation of the parameters:

  -Dtest_server_ip=123.123.123.123 (IP of the XMPP server) 
  -Dtest_server_name=pippo.pluto.it (name of the XMPP server)
  -Dtest_server_username=orchestrator_bamboo (username to be used by the SOO to authenticate in the XMPP server)
  -Dtest_server_password=orchestrator (Password to be used by the SOO to authenticate in the XMPP server - temporary solution)
  -Dtest_orchestrator_input_data_folder=/home/cpswarm/Desktop/cpswarm/ (folder containing the input files) - optional - it can be empty for test
  -Dtest_orchestrator_output_data_folder=/home/cpswarm/Desktop/cpswarm-out (folder where the output files will be inserted) - optional - it can be empty for test
  -Dtest_manager_data_folder=/home/cpswarm/Desktop/output/ (data folder used by the simulation manager) - optional - it can be empty for test
  -Doptimization_user=optimization_bamboo (User of the Optimization Tool)
  -Dot_data_folder=/home/cpswarm/Desktop/ot/  (folder used by the Optimization Tool, if run by the SOO) - optional - it can be empty for test
  -Dros_folder=/home/cpswarm/Desktop/test/src/emergency_exit/src/ (Folder used for the ROS package to start the first simulation) - optional - it can be empty for test
  -Dgui=false (indicates if the GUI has to be used during the simulations)
  -Dparameters="" (indicates the parameters to be used in the simulations)
  -Ddimensions = "2D" (indicates the number of dimensions required for the simulation)
  -Dmax_agents="8" (indicates the maximum number of agents required for the simulation)
  -Dconfiguration_folder=/home/cpswarm/Desktop/conf/ (folder with the configuration files)
  -Dlocal_optimzation=false (Indicates if the Optimization Tool has to be launched by the SOO)
  -Doptimization_tool_path=/home/Desktop/frevo.xmpp-0.0.1-SNAPSHOT-jar-with-dependencies.jar (path of the Optimization Tool, used if local_optimization = true)
  -Doptimization_tool_password = blah (password to be used to launch the optimization tool from the SOO, if local_optimization = true)
  -Dstarting_timeout=5000 (time to wait for the subscription of new Simulation Managers)
  -Djavax.xml.accessExternalDTD=all (configuration for xml parsing)

Dependencies

Contributing

Contributions are welcome.

Please fork, make your changes, and submit a pull request. For major changes, please open an issue first and discuss it with the other authors.

Affiliation

CPSwarm
This work is supported by the European Commission through the CPSwarm H2020 project under grant no. 731946.

About

CPSwarm Simulation and Optimization Orchestrator (mirror, do not commit)

Resources

License

Stars

Watchers

Forks

Packages

No packages published