Live Monitoring and Remote Control of OMNeT++ Simulations
Using event-based simulations is an excellent method for demonstrating and learning the functionality of computer networks. OMNeT++ provides many features for building and analyzing networks and is widely used in research and teaching. It is, however, dif
- PDF / 790,805 Bytes
- 16 Pages / 439.36 x 666.15 pts Page_size
- 84 Downloads / 177 Views
Live Monitoring and Remote Control of OMNeT++ Simulations Janina Hellwege, Maximilian Köstler, and Florian Kauer
9.1 Introduction The conventional approach for performing an OMNeT++ evaluation is based on a three-phase process. First, the network is set up by adjusting parameters and, if necessary, writing C++ source code. Second, the simulation is started and will run for a predefined time span or until another predefined condition is fulfilled. During the simulation, measurement data is recorded in vector and scalar files. Finally, these files are analyzed to reach a conclusion. While being suitable for many applications, this approach has some weaknesses, because influencing a running simulation cannot be easily achieved. Especially for demonstrations and for teaching, qualitative statements about the dynamic behavior are often of high interest as well as the possibility to get immediate feedback, while in-depth quantitative analysis is of secondary importance. Furthermore, the predefinition of termination conditions is difficult in many scenarios. This is most relevant when running large simulation campaigns on remote clusters where human monitoring and intervention can shorten the simulation time significantly. Conventionally, the various modules that build up an OMNeT++ simulation read their parameters from configuration files during the initialization phase after starting the simulation. This also enables the use of the same module implementation for instances with different parameters. When the simulation is running, parameters can be changed by using the method handleParameterChange that has to be implemented by the respective modules and can be used for all modules inheriting cSimpleModule. If a parameter changes but this change is not processed in a handleParameterChange method, the change will not affect the simulation.
J. Hellwege · M. Köstler · F. Kauer () Institute of Telematics, Hamburg University of Technology, Hamburg, Germany e-mail: [email protected]; [email protected]; [email protected] © Springer Nature Switzerland AG 2019 A. Virdis, M. Kirsche (eds.), Recent Advances in Network Simulation, EAI/Springer Innovations in Communication and Computing, https://doi.org/10.1007/978-3-030-12842-5_9
301
302
J. Hellwege et al.
This procedure is already implemented in OMNeT++, but issuing a parameter change in the Qtenv is not convenient, especially when changing multiple modules at once. This motivates the proposed implementation of a remote interface based on web technologies that was first presented in [3]. It extends the existing possibilities to change parameters at runtime and allows for a convenient monitoring of live events. The communication takes place via the Web Application Messaging Protocol (WAMP) [4], which allows for flexible interfacing, including the possibility to build a Graphical User Interface (GUI) as a web front-end with HTML and JavaScript. This approach also allows to connect multiple simulations running on the same or different machines to a common us
Data Loading...