Image Processing Reference
In-Depth Information
Applications
Services
Middleware
Operating systems and protocols
Hardware abstraction layer
Hardware
FIGURE .
Layered software model.
sensor network dynamically through new injected programs or capsules. he task assigned to a node
with its deployment is not fixed until the end of its life cycle. Depending on, for instance, location,
energy level, or neighborhood of a sensor node, a task change can become advantageous or even
necessary.
12.2.2 Middleware and Services for Sensor Networks
In sensor networks, design and development of solutions for higher-level middleware functionality
and creation of service architectures are an open research issue. Middleware for sensor networks has
two primary goals:
Support of acceptable middleware application programming interfaces (APIs), which
abstract and simplify low-level APIs to ease application software development and to
increase portability
Distributed resource management and allocation
Besides the native network functions, such as routing and packet forwarding, future software archi-
tectures are required to enable location and utilization of services. A service is a program that can be
accessed through standardized functions over a network. Services allow a cascading without previous
knowledge of each other, and thus enable the solution of complex tasks. A typical service used during
the initialization of a node is the localization of a data sink for sensor data. Gateways or neighboring
nodes can provide this service. To find services, nodes use a service discovery protocol.
12.2.3 Programming Aspect vs. Behavioral Aspect
Wireless sensor networks do not have to consist of homogeneous nodes. In reality, a network com-
posed of several groups of different sensor nodes is imaginable. This fact changes the software
development approach and points out new challenges as they are well known from the distributed
systems domain. In an inhomogeneous wireless sensor network, nodes contain different low-level
system APIs however with similar functions. From a developer's point of view it is hard to create
programs, since APIs are mostly incompatible. To overcome the mentioned problems in heterogene-
ity and complexity, new software programming techniques are required. One attempt to accomplish
this aspect is the definition of an additional API or an additional class library on top of each system
API. But they are all limited by some means or other, for example, platform independency, flexibility,
 
Search WWH ::




Custom Search