Sourcecodes of the Java SDK library
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
src
.gitignore Multithreaded image builder extended Aug 24, 2018
LICENSE
Makefile Bug fixes + profiles for package/install Sep 25, 2018
README.md
pom.xml

README.md

HOBBIT Java SDK

Summarizing the experience of the successful co-organization of the DEBS Grand Challenge 2017 on the HOBBIT platform, we made one step towards a more lightweight and productive design-development of HOBBIT-related software components. We are happy to announce a standalone software library called the HOBBIT Java SDK.

The proposed SDK was is targeted to make the design and development of HOBBIT-compatible components easier and to execute them locally without having a running HOBBIT-platform instance. More details about the HOBBIT platform and the HOBBIT project can be found here.

The SDK helps platform users with the following tasks:

  • Design systems for benchmarking and debug them within a particular benchmark
  • Design a benchmark and debug the interactions between its components
  • Upload results (docker images of your components) to the online platform

Technically the SDK is focused on the orchestration of docker images/containers for all the required components. Basic implementations of hobbit-related components (described here) are also included into SDK to demonstrate how the local debugging process may be organized.

As a result users may execute and debug their systems/benchmarks either “as is” (and hit the breakpoints in the code) or being packed into docker containers (the same manner as components will be operated by the online platform). The SDK provides users with internal log messages from the containers, which make the debugging process more effective and less error-prone.

Usage

Any examples have been placed to the standalone repository, which you can clone for every new benchmark/system project. Here is the detailed manuals of the development process:

  1. Test/Debug the components as java code
  2. Build images and test/debug your components as docker containers
  3. Upload images to the online platform

Support & Feedback

Feel free to ask your questions and suggestions under the Issues tab. Also feel free to put feedback about benchmarks and systems, for which SDK have been helpful.

News/Changelog

  • Revision 1: RabbitMQ dynamic host problem resolved. Reusable DockerBuilders for components added.
  • Revision 2: Namespaces changed. LocalEvalStorage, EvaluationModule (from examples) refactored. Full-managed hooks-listening mechanism implemented. Any SDK-specifics removed from example components. Wiki pages updated. Released as v1.0.
  • Revision 3: DockerBuilders refactored to support build-based and pull-based dockerizers. ExampleSystemTest added (demonstates how to run your system under third-party benchmark containers). SDK starting kit announced and placed to a standalone repository. Released as v1.1.