xatdb - A User's Guide

Running Multiple Applications

Running a single chip is fine, but the real power comes in debugging multiple applications running on multiple processors at the same time. This feature was the Mica2 mote in mind. Running multiple sensor nodes communicating over the radio allows for complex situations and complex errors. This is what xatdb was written for.

The run File

In order to load multiple applications at the same time, we have created a "Run" file describing the multiple node setup. Briefly, the run file specifies the hardware configuration, software executable, and physical location for each node.

Example:

<?xml version="1.0" encoding="utf-8" ?>
<motelist
                title="Minimal example of run file operation"
                xmlns="http://www.cshcn.umd.edu/research/atemu/">
        <mote id="rfmcounter" model="mica2">
                <flash href="apps/CntToRfm/main.exe" />
                <param name="position" value="0,0,0" />
        </mote>
        <mote id="rfmblinker" model="mica2">
                <flash href="apps/RfmToLeds/main.exe" />
                <param name="position" value="5,0,0" />
        </mote>
</motelist>

The syntax of a run file is relatively simple. After the xml header line, the file must contain a motelist tag. This element will contain the list of motes to be run (as the name suggests). It takes several options. The important ones are:

The list then contains several mote elements. Each of these must contain:

The mote element may take a few sub-elements. Some important ones are:

Some Pitfalls to Be Aware of

Debugging multiple nodes is a powerful feature and can provide you with lots of information about your application(s). Digesting and making sense of all of this information is not an easy task. These reminders are an effort to make it easier.