Low-power wireless technology enables numerous applications in areas from environmental monitoring and smart cities, to healthcare and recycling. But resource-constraints and the distributed nature of applications make low-power wireless networks difficult to develop and understand, resulting in increased development time, poor performance, software bugs, or even network failures. Network simulators offer full non-intrusive visibility and control, and are indispensible tools during development. But simulators do not always adequately represent the real world, limiting their applicability.
In this thesis I argue that high simulation timing accuracy is important when developing high-performance low-power wireless protocols. Unlike in generic wireless network simulation, timing becomes important since low-power wireless networks use extremely timing-sensitive software techniques such as radio duty-cycling. I develop the simulation environment Cooja that can simulate low-power wireless networks with high timing accuracy.
Using timing-accurate simulation, I design and develop a set of new low-power wireless protocols that improve on throughput, latency, and energy-efficiency. The problems that motivate these protocols were revealed by timing-accurate simulation. Timing-accurate software execution exposed performance bottlenecks that I address with a new communication primitive called Conditional Immediate Transmission (CIT). I show that CIT can improve on throughput in bulk transfer scenarios, and lower latency in many-to-one convergecast networks. Timing-accurate communication exposed that the hidden terminal problem is aggravated in duty-cycled networks that experience traffic bursts. I propose the Strawman mechanism that makes a radio duty-cycled network robust against traffic bursts by efficiently coping with hidden terminals.
The Cooja simulation environment is available for use by others and is the default simulator in the Contiki operating system since 2006.