21
A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community Summit 2017 September 8 th , 2017 TUHH TUHH Institute of Telematics Institute of Telematics Hamburg University of Technology Hamburg University of Technology

A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Embed Size (px)

Citation preview

Page 1: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

A Remote Interface for Live Interactionwith OMNeT++ Simulations

Maximilian Köstler and Florian Kauer

OMNeT++ Community Summit 2017

September 8th, 2017

TUHHTUHHInstitute of TelematicsInstitute of TelematicsHamburg University of TechnologyHamburg University of Technology

Page 2: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

MotivationMotivation

Motivation - IEEE 802.15.4 DSMEbeacon

superframe

beacon interval

CAP CFP

beacon ...

multi-superframe multi-superframe

beacon

chan

nel

DSME promises wireless multi-hop communication without collisions.

M. Köstler, F. Kauer, T. Lübkert, V. Turau, Towards an Open SourceImplementation of the IEEE 802.15.4 DSME Link Layer.Proceedings of the 15. GI/ITG KuVS Fachgespräch Sensornetze, 2016F. Kauer, M. Köstler, T. Lübkert, V. Turau, openDSME - A Portable Framework forReliable Wireless Sensor and Actuator Networks.Demonstration at the International Conference on Networked Systems, 2017

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 22

Page 3: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

MotivationMotivation

Motivation - IEEE 802.15.4 DSMEbeacon

superframe

beacon interval

CAP CFP

beacon ...

multi-superframe multi-superframe

beacon

chan

nel

DSME promises wireless multi-hop communication without collisions.

M. Köstler, F. Kauer, T. Lübkert, V. Turau, Towards an Open SourceImplementation of the IEEE 802.15.4 DSME Link Layer.Proceedings of the 15. GI/ITG KuVS Fachgespräch Sensornetze, 2016F. Kauer, M. Köstler, T. Lübkert, V. Turau, openDSME - A Portable Framework forReliable Wireless Sensor and Actuator Networks.Demonstration at the International Conference on Networked Systems, 2017

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 22

Page 4: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

MotivationMotivation

An Interactive Demonstration

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 33

Page 5: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Situation and RequirementsSituation and Requirements

An Interactive Demonstration

� Very detailed information

� Deep menu trees

� Attached to a single simulation

⇒ Not designed for demonstrations

⇒ Can not aggregate live data from multiple sources

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 44

Page 6: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Situation and RequirementsSituation and Requirements

An Interactive Demonstration

The OMNeT++ GUI is made for developing and not for presenting.

� Very detailed information

� Deep menu trees

� Attached to a single simulation

⇒ Not designed for demonstrations

⇒ Can not aggregate live data from multiple sources

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 44

Page 7: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Situation and RequirementsSituation and Requirements

An Interactive Demonstration

The OMNeT++ GUI is made for developing and not for presenting.

� Very detailed information

� Deep menu trees

� Attached to a single simulation

⇒ Not designed for demonstrations

⇒ Can not aggregate live data from multiple sources

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 44

Page 8: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Situation and RequirementsSituation and Requirements

An Interactive Demonstration

The OMNeT++ GUI is made for developing and not for presenting.

� Very detailed information

� Deep menu trees

� Attached to a single simulation

⇒ Not designed for demonstrations

⇒ Can not aggregate live data from multiple sources

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 44

Page 9: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Situation and RequirementsSituation and Requirements

An Interactive Demonstration

The OMNeT++ GUI is made for developing and not for presenting.

� Very detailed information

� Deep menu trees

� Attached to a single simulation

⇒ Not designed for demonstrations

⇒ Can not aggregate live data from multiple sources

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 44

Page 10: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Situation and RequirementsSituation and Requirements

Requirements

Remote Interaction / Visualisation for DemonstrationsRemote Interaction / Visualisation for Demonstrations

View Events / Results

View / Manipulate Topology

Change Parameters

Select Presented Data

Prepare Topologies

Choose Parametersvisitor owner

� Merge data from multiple simulations

� Move interface to different (possibly mobile) device

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 55

Page 11: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Situation and RequirementsSituation and Requirements

Requirements

Remote Interaction / Visualisation for DemonstrationsRemote Interaction / Visualisation for Demonstrations

View Events / Results

View / Manipulate Topology

Change Parameters

Select Presented Data

Prepare Topologies

Choose Parametersvisitor owner

� Merge data from multiple simulations

� Move interface to different (possibly mobile) device

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 55

Page 12: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Software ArchitectureSoftware Architecture

Software Architecture

OMNeT++ Simulation

WAMPServer

LiveRecorder

TrafficModule

MobilityModule

OMNeT++ Simulation

TrafficModule

MobilityModule

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 66

Page 13: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Software ArchitectureSoftware Architecture

Software Architecture

OMNeT++ Simulation

WAMPServer

LiveRecorder

TrafficModule

MobilityModule

OMNeT++ Simulation

WAMPServer

LiveRecorder

TrafficModule

MobilityModule

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 66

Page 14: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Software ArchitectureSoftware Architecture

Software Architecture

OMNeT++ Simulation

WAMPServer

LiveRecorder

TrafficModule

MobilityModule

OMNeT++ Simulation

WAMPServer

LiveRecorder

TrafficModule

MobilityModule

RPC

Pub/Sub

RPC

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 66

Page 15: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

User InterfaceUser Interface

Simple and Modular User Interface

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 77

Page 16: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Contribution and Future WorkContribution and Future Work

Contribution

� Framework for exchanging data between OMNeT++ simulationsand front ends

� Uses existing protocols (WAMP)

� Enables modular GUI based on web technology

� Repositories at https://github.com/openDSME/� opplive� inet-dsme

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 88

Page 17: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Contribution and Future WorkContribution and Future Work

Discussion

� Could be done the same way for any other simulator

� Goal: Move functionality into OMNeT++

� Introduce generic result recording and parameter manipulation

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 99

Page 18: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Contribution and Future WorkContribution and Future Work

Discussion

� Could be done the same way for any other simulator

� Goal: Move functionality into OMNeT++

� Introduce generic result recording and parameter manipulation

OMNeT++

front end

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 99

Page 19: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

Contribution and Future WorkContribution and Future Work

Discussion

� Could be done the same way for any other simulator

� Goal: Move functionality into OMNeT++

� Introduce generic result recording and parameter manipulation

OMNeT++ OMNeT++

front end

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 99

Page 20: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

A Remote Interface for Live Interactionwith OMNeT++ Simulations

Maximilian Köstler and Florian Kauer

OMNeT++ Community Summit 2017

September 8th, 2017

TUHHTUHHInstitute of TelematicsInstitute of TelematicsHamburg University of TechnologyHamburg University of Technology

Page 21: A Remote Interface for Live Interaction with OMNeT++ ... · A Remote Interface for Live Interaction with OMNeT++ Simulations Maximilian Köstler and Florian Kauer OMNeT++ Community

<div id=" power_char t_conta iner " class=" draggable ui−widget−content "><div class=" handle "><h2>To ta l Power Consumption [mW] < / h2>< / div>

< / div>

<scr ip t>var dsme_wsuri = "ws : / / l o c a l h o s t :9002 " ;var csma_wsuri = "ws : / / l o c a l h o s t :9003 " ;

var p o w e r _ s t a t i s t i c s = new PowerStat is t icsModule (" power_char t_conta iner " ,[ dsme_wsuri , csma_wsuri ] ,[ "DSME" , "CSMA" ] ) ;

< / scr ip t>

M. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ SimulationsM. Köstler, F. Kauer A Remote Interface for Live Interaction with OMNeT++ Simulations 1111