FlockLab is designed in a 3-tier-architecture. The lowest tier is the system layer which consists of sensor nodes, the actual wireless sensor network which shall be tested. These nodes build a communication network as they would in a real deployment. To each sensor node, a second, more powerful node is attached, the observer node. The observer nodes are based on a small computer which runs Linux (see the [#Hardware hardware specifications] for more details) and communicate over LAN or WLAN. They build the second tier (observation layer) which provides all services and efficient means for out-of-band extraction of data avoiding interference with the system layer.
The third and final tier is a dedicated server to which all observer nodes connect. The server is responsible for the distribution of configurations to the nodes, starting and stopping test runs and collecting, analyzing and displaying test data to the tester. Furthermore, the server acts as a local time synchronization server to which all observer nodes synchronize their local time.
FlockLab's approach with a 3-tier-architecture allows for increased flexibility and independence of all tiers. Each tier is designed to be independent of the others and to introduce as low interference as possible to the wireless sensor network under test.
The connection between sensor nodes and observer nodes is accomplished over an attached interface board. Apart from standard functionalities for logging over a UART or programming, this interface provides access to GPIO pins and means for voltage control and power measurements.
FlockLab provides several services on the observer for using these interfaces for testing. These services include timed actuation and/or tracing of GPIO pins, controlling the serial port e.g., via the TinyOS or Contiki serial forwarder, and profiling power measurements. GPIO pin tracing and actuation provide distributed logic analyzer capabilities. In particular, these services are accurately synchronized within tens of microseconds across all nodes. Distributed voltage control and power profiling enable elaborate power consumption analysis under differing operating conditions.
An observer which is built of a Gumstix Linux computer and an interface board can host up to 4 different wireless sensor nodes over a generic hardware interface. The hardware can be seen in the picture on the right with attached sensor nodes on 2 out of 4 slots.
Here is a list of currently mounted sensor node types. Note that the quantity of available nodes and the layout in FlockLab might differ depending on the node platform.
TinyNode184 from Shockfish SA. The key features of these nodes are: