Project Structure

This page provides an overview over the structure of the Simonstrator platform and its individual projects. The platform consists of the core simonstrator-api against which the simonstrator-overlays project is built. Through the simonstrator-api, custom overlays can be executed on a number of runtime environments.

Your own code mostly lives in the overlays project, depending only on the simonstrator-api and plain old Java.

For a more detailed description of the platform and the reasoning behind it, the interested reader is referred to the original Simonstrator paper.

Simonstrator-API

Logo of Overlays within the Simonstrator

Coming soon.

Repository: api.git

Overlays

Logo of Overlays within the Simonstrator

Coming soon.

Repository: overlays.git

Runtime Environments

To deploy and evaluate your custom code within the overlays-project, you need to include a runtime environment. Currently, there exist runtime environments for event-based simulation utilizing an extended version of PeerfactSim.KOM and for the deployment on Android and other Java-based platforms.

PeerfactSim.KOM

Logo of PeerfactSim.KOM within the Simonstrator Within the Simonstrator Platform, PeerfactSim.KOM is continuously being extended and updated to specifically address the needs of networked mobile applications. As researchers write their code solely against the simonstrator-api using pure Java, their models are not locked in to a specific simulation engine or execution platform. Instead, using our Java Standalone environment, the resulting models can be deployed on all platforms that support Java, including testbed environments and commodity PCs.

The PeerfactSim.KOM runtime consists of two projects: PeerfactSim.KOM itself, and the SimRunner-project acting as a wrapper. This is to separate application-specific code for workloads and analyzing (in the SimRunner) from the simulation framework and its models (in PeerfactSim.KOM). The SimRunner loads the required version of PeerfactSim.KOM via Maven, including full source code and JavaDocs for your convenience.

Repositories: peerfactsim.git simrunner.git

You can learn more on how to setup and run simulations and batched simulations in the section run simulations of this documentation.

Android

The Android runtime environment enables overlays and services to be executed directly on Android-powered devices. It includes simonstrator-util for network stack implementations and serialization and some basic utility functions.

The runtime environment for Android has not yet been updated for version 3.0 of the Simonstrator. Updated sources and maven repositories will be posted sooon.

Java Standalone

A simple runtime for standalone execution of overlays and applications. This is especially handy if code is to be deployed to distributed testbeds or as the server counterpart for Android-deployed applications.

The runtime environment for standalone Java has not yet been updated for version 3.0 of the Simonstrator. Updated sources and maven repositories will be posted sooon.

Updated: