Federating OMNeT++ Simulations with Testbed Environments

We are in the process of developing a system architecture for opportunistic and information centric communications. This architecture (called Keetchi), meant for the Internet of Things (IoT) is focussed on enabling applications to perform distributed and decentralised communications among smart devices. To realise and evaluate this architecture, we follow a 3-step approach. Our first approach of evaluation is the development of a testbed with smart devices (mainly smart phones and tablets) deployed with this architecture including the applications. The second step is where the architecture is evaluated in large scale scenarios with the OMNeT++ simulation environment. The third step is where the OMNeT++ simulation environment is fed with traces of data collected from experiments done using the testbed. In realising these environments, we develop the functionality of this architecture as a common code base that is able to operate in the OMNeT++ environment as well as in the smart devices of the testbed (e.g., Android, iOS, Contiki, etc.). This paper presents the details of the "Write once, compile anywhere" (WOCA) code base architecture of Keetchi.