Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Enabling Real-time Simulation Updates with ICEUpdater

Revision as of 10:49, 7 March 2015 by Paul.roubekas.org (Talk | contribs) (Building ICEUpdater)

(Please note that the ICEUpdater library and this article are currently under development)

ICEUpdater is a library written in C++ which enables users of ICE to transmit real-time updates of an ongoing simulation to the ICECore and monitor these updates via the ICE Client. By integrating the library into their simulation codes, ICE users can utilize the ICEUpdater's API to transmit custom text messages, monitor convergence and progress status and be notified when files are created, modified and deleted. This article details how to build, test, package and utilize the ICEUpdater library. It assumes that all of the steps listed in the Getting ICE wiki article have been completed successfully. These steps include downloading all of the ICE source from the ICE Repository.

Building ICEUpdater

In order to build the ICEUpdater, your system must:

  • Have a C++ compiler available
  • Be able to resolve the following dependencies: cURL, Boost 1.4, and CMake 2.8
  • In addition, the ICEUpdater tests require:
    • QtTest
    • A web server equipped with PHP 5.2 or greater.

ICEUpdater uses the CMake build system to compile and install a static library, a shared library and the header files to a local directory. The CMake system also sets up the ICEUpdater tests, generates the ICEUpdater API documentation, and uses CPack to create binary distributions. The first step in building ICEUpdater is to execute the cmake_build_script shell script found in the top level directory in gov.ornl.nice.niceupdater. You may wish to modify the INSTALL_PREFIX path variable prior to executing this script. The ICEUpdater libraries and header files will be installed in the lib and include subdirectories of this path. Its value is set to your home directory by default. When you execute the script, a new directory gov.ornl.nice.niceupdater.build will be created alongside the gov.ornl.nice.niceupdater directory. Although an Eclipse environment is not required to build the ICEUpdater and execute its tests, this script will generate an Eclipse project in gov.ornl.nice.niceupdater.build.

To import this project, open Eclipse and select File > Import > General > Existing Projects into Workspace then choose the gov.ornl.nice.niceupdater.build directory.

In order to compile the ICEUpdater library from command line, simply change directory to the gov.ornl.nice.niceupdater.build directory and execute the command make all

From Eclipse, you must first import the gov.ornl.nice.niceupdater.build project into your workspace, as instructed earlier in this section. Then open the Make Target view by going to Window > Show View > Other and selecting Make > Make Target. From the Make Target view, open the gov.ornl.nice.niceupdater.build tree node and double-click on all target.

Installing the ICEUpdater Libraries and Headers

Using ICEUpdater to Post Simulation Updates

Configuring and Executing the ICEUpdater Tests

Generating ICEUpdater API Documentation

Packaging ICEUpdater for Distribution

Back to the top