LiveOppServation - An Interactive Remote Frontend for OMNeT++ #
LiveOppServation is a Dash-based interactive remote frontend for OMNeT++ simulations.
Disclaimer: I actively use LiveOppServation, leading to constant updates and frequent changes. This website is a work in progress and will be updated regularly.
Key Features #
-
Runtime Evaluation: Continuous observation of vector data with timestamps, allowing users to inspect values as they evolve during simulation. LiveOppServation also provides metadata to individual vectors, including type and last query time.
-
Live Plotting: Automatic visualization generation from collected data, supporting real-time analysis and post-hoc inspection. Line plots with time on the x-axis and selected vectors on the y-axis are generated by default. Plotly enables interactive and easily modifiable visualizations.
-
Conditional Breakpoints: Trigger debug trap in the simulations based on observed data criteria, enabling targeted investigation of critical events. This allows debugging modules without modifying C++ code for conditional breakpoints.
Screenshots of LiveOppServation connected to a simulation at localhost:13151. Vectors 1 and 5 are selected for updates.
System Architecture #
LiveOppServation consists of a frontend (dashboard) and backend (simulation) connected via gRPC with protobuf serialization. Multiple simulations can connect to one frontend for aggregated results, and multiple frontends can connect to one simulation for parallel evaluation.
System architecture showing many-to-many mapping in the logic and statistics module.