Distributed Sensor Networks

Consider a large number of sensors dispersed in some location (building, area, town, etc.) and connected through a high-speed network. The goal for this network of sensors is to create models of its environment (space and action) that can be used to answer questions/perform tasks. The network consists of two types of agents, sensor agents which integrate information over space and time, and dispatcher agents that dispatch surveillance requests to the sensor agents and monitor the sensor network activity. Besides the tremendous number of applications, we see in this work the potential to gain insights into the evolution of programming techniques over the next several years. The evolution of programming has experienced three revolutions over the years. Early computers used assembly language programming techniques, where individual machine dependent instructions were coded with no intervening computing abstraction. The next class of programming involved the use of high-level programming languages such as C, C++ and JAVA where users programmed in high-level languages, and compilers and interpreters converted these high level specifications into machine assembly code. Finally, there are now graphical environments and interfaces such as IBM's Aglets and Mitsubishi's Concordia system that a user may interact with to generate code in high-level programming languages such as Java. These developments remove algorithmic programming to an even higher level of abstraction, making the development and maintenance of large code bases much easier than it was before. Today's extant sensor programming languages are most similar to a low-level, assembly language. While the nodes of the network might come equipped with low-level, assembly like routines that perform detection, classification and tracking tasks, there is no higher level abstraction that allows users of the network to conveniently task it at an appropriate level of abstraction. One can develop a suite of agents processing perceptual data and constructing physical/functional models of space, as well as detecting and classifying activities. This is like the assembly language of the sensor network with a rich collection of atomic actions that can be combined into larger programs of action by higher level processing. Then, one can develop a declarative agent tasking language through which it should be possible to express complex tasks to be performed by one or more sensors. The compilation of these tasks into the atomic capabilities of the sensor network nodes corresponds to the high level language of the system.

Return to the front page

Revised 1999/04/15
Send questions about these Web pages to