The PerLa Middleware is a collection of software units designed to support the
execution of PerLa queries. Its design revolves around the Functionality Proxy
Component (FPC), a proxy object which acts as a decoupling element between
sensing nodes and middleware users. Essentially, the PerLa middleware constitutes
the software environment needed to manage the lifecycle of a set of FPCs.
Functionality Proxy Components are dynamically created by a Factory module, which assembles new FPC objects from a formal description of the
node being registered into the middleware. The most prominent trait of the FPC is its hardware-agnostic interface, a
uniform API that provides a consistent method of interaction with all the heterogeneous devices found in a (wireless) sensing network. Viewed through the
abstraction provided by an FPC, each device is a collection of attributes whose values can be queried or altered using two primitive operations.
The usage of these two basic commands neither requires knowledge of the sensing network, nor of the device that will ultimately perform them.
Attribute values are produced or consumed by a computing node. Inside the PerLa middleware, attributes are characterized by a name and a data type; this
meta-information enables PerLa users to correctly address a single specific piece of information.
The FpcFactory is responsible for the instantiation and assembly of all the constituent part of an FPC.
The starting point for the creation of a new FPC is the Device Descriptor, an XML document which contains a machine parseable description of any single
device (physical or virtual) of the network. Device Descriptors are organized in different sections; each section defines the behaviour of a specific aspect of the
FPC being created. The XML file contains a full description of a device in terms of:
measures that can be sampled
communication protocol between the device and its logical
object (e.g. structure of exchanged packets).
The integration with SensorML, an XML based standard for the description of sensing devices developed by the Open Geospatial Consortium, is an ongoing development aimed at
expanding the compatibility of PerLa. Supporting SensorML would allow all devices already described using this standard to be immediately compatible with the PerLa Middleware.
Download the full middleware executive summary