Workshop on ns-3

Research Article

Analysis of Programming Language Overhead in DCE

  • @INPROCEEDINGS{10.1145/2915371.2915383,
        author={Jared S. Ivey and George F. Riley},
        title={Analysis of Programming Language Overhead in DCE},
        proceedings={Workshop on ns-3},
        keywords={Network Simulation ns-3 Direct Code Execution Programming Languages C/C++ Java Python},
  • Jared S. Ivey
    George F. Riley
    Year: 2016
    Analysis of Programming Language Overhead in DCE
    DOI: 10.1145/2915371.2915383
Jared S. Ivey1, George F. Riley1
  • 1: School of Electrical and Computer Engineering, Georgia Institute of Technology, Atlanta, GA, USA


In the context of network simulation, directly executing the code for new protocols and applications can add a sense of realism to the simulation while saving time that would have been required for development and validation of sufficiently representative models. Direct Code Execution (DCE) in ns-3 provides this functionality for debugging and analyzing new network applications directly in simulation. However, DCE currently requires that these applications are executed as native code that has been compiled from source code written in C or C++. This work exploits the fact that languages such as Python and Java launch their applications through native code that ultimately translates their source code into instructions that the underlying system understands. The efforts of this study provide a framework for allowing applications written in Python or Java to be executed within the simulated environment similarly to how DCE currently allows applications written in C or C++ to be introduced into simulation. This framework is tested on multiple simulated topologies for a variety of applications, and its overhead is examined in the context of memory usage and wallclock execution time.