At a Glance
OMNeT++ at a Glance
IDE The Simulation IDE is where you create and evaluate your simulations (but you can develop, build and run simulations from the command line as well.) The IDE is based on Eclipse, so you can install your own extensions into it alongside the tools provided by OMNeT++. |
|
C++ Models are written in C++. They make use of the simulation kernel, an efficient and feature-rich C++ runtime library. The IDE has your codebase fully indexed, and offers code completion, go to definition, call hierarchy, find references, and other features that make C++ programming a joy. |
|
NED Model components are described and assembled in a high-level domain-specific language called NED. NED can be edited both graphically and in source mode. The NED source editor also boasts intelligent navigation and code manipulation features similar to the C++ editor. |
|
Msg Protocol headers and other messages are represented in the code with C++ classes, but the simulation framework spares you the tedium of writing the C++ code manually by providing a domain-specific language that the code can be generated from, alongside with serialization and reflection code. |
|
Ini In OMNeT++, model parameters can be assigned or given default value already in NED, but real parameterization takes place in ini files that also carry configuration options for the simulator. Ini files also let you describe multiple configurations (~experiments) and parameter studies (simulation campaigns) to be carried out on your model. Ini file details can be hidden behind a GUI for non-expert users of your model. |
|
Tools Many additional command line and IDE tools help your work. Simulations can be run under a GUI that lets you inspect, animate and debug your model. Simulations can record a detailed event log that can be visualized as an interactive sequence chart for debugging, demo or documentation. Simulation results can be plotted in the IDE's analysis tool that also lets you post-process data, and store reproducible "recipes." Command-line tools let you build the model, run batches, process event log and result files, and do other tasks. |