## 6 Simulations and Testbed Experiments
### Testbed Experiments  
A series of experiments are carried out to evaluate the performance of the CDSAs on a WSN testbed. The testbed consists of 15 IRIS mote modules [27] in a room where many students and computers are working. The IRIS mote modules uses the Atmel 1281 MCU with program memory 128 KB and SRAM 8 KB. The radio chip of IRIS is IEEE 802.15.4 compliant RF230 radio chip with 2.4G Hz band and 250 kbps data rate. Another 512 KB external serial flash is equipped on the mote for data log. The CDSAs have been implemented in TinyOS 1.x for the motes by Moteworks 2.0, which is a development environment produced by Crossbow. We adopt a static routing structure, as is shown in Figure 14. The CDSAs can also be used in a dynamic routing structure between each routing update process. The base station is located in the center of this room. The CDSAs program occupies about 52,650 bytes in ROM, and 3,878 bytes in RAM. The 3,878 bytes contain 1,100 bytes for queue. The external serial flash is not used in our experiment tests. Three groups of experiments, similar to the simulation experiments, are carried out. In each group, we perform five independent experiments separately. In each of our experiments, each node originated 200 data packets in total. Each node originates a data packet every 10 seconds with a data payload of 20 bytes and the total packet length 27 bytes. The scheduling update is set every 50 seconds. The battery voltage of each mote node is referred as an indicator of the energy consumption. The voltage is measured by each mote program and transmitted to the sink node as one of the data payload. The experimental results in Table 5 are the statistical values of the five independent experiments. It is noted  
Figure 14: Topology for the WSN testbed experiments. that the packet delay of each node is not measured in the testbed experiments. Because many more nodes work as both a data packet originator and a router, it should be in an atomic statement to set data structure of a data packet for concurrent events. But nesC program language in Moteworks does not allow the programmer to do calling commands or signaling events inside atomic statements. Unfortunately getting time value function is put as a command function in Moteworks. As is shown in Table 5, the results are similar to those of the simulation experiments. The voltage drops for Non-scheduling is the quickest, the O-CDSA is second to the Non-scheduling, and the voltage drop for T-CDSA is the slowest among these three approaches. The results prove that the CDSAs can save much more energy than the Non-scheduling. With regard to the stability of scheduling approach, T-CDSA is better than O-CDSA. The results also show that the CDSAs can work well in the testbed experiments. We compare the voltage drop of node 12 from the three approaches in Figure 15. The data are randomly selected from one experiment test in each group. As Figure 15 shows, the voltage of the Non-scheduling approach drops the quickest among the three approaches. For O-CDSA, the voltage drops quicker than the Non-scheduling approach for part of the initial time, but then drops slower than that of Non-scheduling approach. The voltage of T-CDSA drops the slowest among these three approaches. Because the battery is characterized by the recovery capacity effect, the CDSAs can not only make the voltage drop slow, but also increase the voltage sometime after the node goes to sleep. This feature is very interesting and could not be revealed in the simulation results.