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
larson@cfar.umd.edu