CTG: A connectivity trace generator for testing the performance of opportunistic mobile systems

   page       BibTeX_logo.png   
Roberta Calegari, Mirco Musolesi, Franco Raimondi, Cecilia Mascolo
6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, ESEC/FSE 2007, pages 415-424
September 2007

The testing of the performance of opportunistic communication protocols and applications is usually done through simulation as i) deployments are expensive and should be left to the final stage of the development process, and ii) the number of varying parameters in thesesystems is so high that it would be very hard to conduct thorough testing of all the functionality within a single deployment. Therefore, protocols and applications are often plugged into mobility simulators to test their performance; however, until recently, most of the testing has been conducted with random mobility models which do not mirror reality. Furthermore, despite disconnections playing a veryprominent role in the performance of any opportunistic mobile system, most models do not really account for it. A different approach to testing is the use of real traces of movement collected in specific domains as test cases. These cases, however, do not allow for flexible performance testing, as they are specific for a given scenario withfixed connectivity properties. In this paper we propose the Connectivity Trace Generator (CTG), a tool for the automatic generation of connectivity traces, which takes as input real mobility traces and is able to output a set of traces with similar connectivity properties, which can be used as test cases. This allows developers to investigate the impact of the variation of connectivity patterns, number of hosts, and other parameters on the protocol or application under investigation. We use a real case study (the Dartmouth campus connectivity traces) to show how CTG allows protocol developers to play with some connectivity and density parameters so to best conduct performance testing of different aspects of protocols and applications.