Chapter 4
Data Structures for Sensor Computing*
Understanding the fundementals of data structures is essential to writing efficient code.
—S. S. Iyengar
Sensor computing consists simply in manipulation of sensor data in a suitably chosen data structure for event/data-driven sensor computing applications [5]. It can also refer to the design and analysis of sensor data abstractions. An in-depth understanding of the structural properties of certain data structures will yield very efficient algorithms for several important classes of problem. Because of the crucial importance of sensor data organization, this chapter deals with various data structures used in the design and analysis of sensor-based algorithms.
One of the basic facts that we need to understand is that sensor programming is different from traditional programming. The high-level coding in sensor programming is typical for any active object-oriented framework. Furthermore, the design is layered with a tiny operating system, the foundation for preemptive and roundrobin kernel, and other basic services such as event-driven and CPU pools. Figure 4.1 is essentially a design-based schematic diagram of program flow. Figure 4.1a is a schematic flowchart of a quickstart application, while Fig. 4.1b is a flowchart of an event-driven sensor application running on top of a cooperative vanilla kernel. At the highest level, the flowcharts are similar in that they both consist of a main loop surrounding various programming constructs. ...