atemu - Sensor Network Emulator / Simulator / Debugger

Atemu is a software emulator for AVR processor based systems. Along with support for the AVR processor, it also includes support for other peripheral devices on the MICA2 sensor node platform such as the radio. Atemu can be used to perform high fidelity large scale sensor network emulation studies in a controlled environment. In addition, the atemu package can also be used in an educational environment to facilitate experimentation with sensor networks, without requiring the purchase of expensive sensor node hardware. It also offers a solution around the logistical difficulties of conducting experiments with large numbers of physical devices. Atemu can be directly used by developers of TinyOS related software as it is binary compatible with the MICA2 hardware. Though the current release only includes support for MICA2 hardware, it can be easily extended to include other sensor node platforms. It allows for the use of heterogeneous sensor nodes in the same sensor network. The atemu distribution consists of two components: the atemu emulator core, and the xatdb graphical debugger.

The atemu emulator core can simulate arbitrary numbers of nodes and can model their execution and interactions between them, such as radio communications in extremely fine detail. It offers nearly complete emulation of the MICA2 hardware platform and as a result provides results that are closer to real life operation of a distributed sensor network. The only difference between running an actual network of the MICA2 sensor nodes and emulating it in atemu is the operation of the "air". Currently only d^2 propagation is modelled, however this will be improved with future releases. Atemu uses the same binary that is loaded onto the MICA2 node and uses its AVR processor emulation engine to very accurately model the execution of the code on each sensor node. Therefore, as very few details of the actual operation of a sensor node are abstracted out, it provides an excellent platform to perform unbiased comparisions of various sensor networking protocols and the results are significantly more realistic than other simulators.

Included in the atemu distribution is xatdb, Xatdb is a graphical gdb-like frontend to the atemu sensor network emulator. Xatdb provides users a complete system for debugging and monitoring the execution of their code. Using xatdb, users can run code built for the MICA2 platform, and debug efficiently using the ability to set breakpoints, watchpoints, as well the ability to single step through either assembly or nesC code. Xatdb is particularly powerful in its ability to provide a debugging interface to multiple nodes in a sensor network.

Major Features

Other Resources