Regain Control of Growing Dependencies in OMNeT++ Simulations
This work addresses a specific build automation problem for researchers and developers using OMNeT++ for network simulation, but it is incremental as it adapts an existing tool (CMake) to a particular domain.
The paper tackles the challenge of managing dependencies and build processes when combining multiple existing simulation models with custom sources in OMNeT++ simulations, resulting in a new toolchain using CMake that conveniently handles dependencies without requiring changes to upstream projects.
When designing simulation models, it is favourable to reuse existing models as far as possible to reduce the effort from the first idea to simulation results. Thanks to the OMNeT++ community, there are several toolboxes available covering a wide range of network communication protocols. However, it can be quite a daunting task to handle the build process when multiple existing simulation models need to be combined with custom sources. Project references provided by the OMNeT++ Integrated Development Environment (IDE) are just partly up to the task because it can be barely automated. For this reason, a new approach is presented to build complex simulation models with the help of CMake, which is a wide-spread build tool for C and C++ projects. The resulting toolchain allows to handle dependencies conveniently without need for any changes in upstream projects and also takes special care of OMNeT++-specific aspects.