Image Processing Reference
In-Depth Information
The generalized component interface consists of the following basic concepts:
Identification means : he entity needs to be uniquely identifiable from the user perspec-
tive. A tuple of parameters containing the node identifier, the entity identifier, and the
sensor instance identifier is proposed as a solution.
Functionality access : The user will interact with the entity by calling a function (even-
tually receiving the result returned by the function). The entity will provide two sets of
functions: a fixed set (generic functions available in every entity as configuration func-
tions, service description, standard access functions, etc.) and a user-specific set (with no
restrictions applied to it).
Standardized parameters : he functions provided by the entity need to accept parameters
of various types and sizes. We propose to use one standard data structure containing two
ields:thesizeoftheuserdataandtheactualpayloadoftheuserdataforthatfunction.
Because the user calls a specific function, it knows what parameters it needs to send and
can transform them in a byte array (a “void *” pointer in the C language) of a known
length. he function in the entity will cast this array of bytes to the structure it expects as
input as the first operation and then perform as any regular function. he return parame-
tersarepassedbasedonthesamephilosophy.Becauseboththeuserandthefunctionhave
a clear understanding of the data structure for a given function, no additional description
needstobesentinclear.
When building the generalized interface as an application block we can built it out of three small
layers:
Physical layer : Any physical interface existing in the node. Examples include the radio
interface, the serial port, the digital I/O lines, etc. No specific software needs to be devel-
oped here except the hardware abstraction layer (hardware driver) usually provided by
the system sotware.
Data-link layer : This layer is a small extension of the data-link layer existent already on
top of the chosen physical layer. The addition consists in specifying the payload to be
sent/receivedbythislayerintheformoftwoields:thesizeofthebytearrayandthebyte
array itself. his is a straight forward extension on most data-link layers.
Standard interface layer : This layer needs to be developed once for every entity. As we
already mentioned, this layer needs to provide a unique mean of identification, a set of
predefined functions, and a set of user defined functions. Additional mechanisms (as
reporting an error when an nonexistent function was called or when the data struc-
ture sent to a function cannot be cast to the needed data structure) need to be set in
place.
The main advantage of this approach is the large flexibility offered. At the physical level, it does
not really matter though which interface the data arrived to the entity (via the serial port, via
theradio,etc.).hedata-linklayerstaysbasicallyunchanged.hestandardinterfacelayerallows
users/applications to call any function as long as they supply the correct input parameters.
4.3.5 Concluding Remarks
In this chapter we introduced the concept of a flexible data-centric architecture that gathers its
strength from combining the concepts of architecture and operating system in one single notion.
Additional strength is gained by offering a unified approach in calling functionality across all the
entities on all devices in the network.
 
Search WWH ::




Custom Search