
Friday March 2, 2012 -- 16h30 CET
Public PhD defence Christophe Huygens -- promotor: prof. dr. ir. Wouter Joosen
Celestijnenlaan 200A
Ground floor auditorium 00.225
Supporting heterogeneity of stakeholders in low-resource networked systems.
Abstract
Wireless sensor and actuator networks (WSANs) are seeing
increased acceptance in the real world because of their potential to
increase productivity. These wireless but limited systems can be
applied in a wide range of problems ranging from logistics to e-health,
due to their moderate cost which promotes redundancy and close
observation of phenomena as well as network-level self-organisation
which promotes mobility and eliminates the need for infrastructural
engineering. Yet, this class of systems is not without its challenges:
energy as well as resources are limited, the individual node is
unreliable and the total number of nodes is high. Mentioned limitations
are traditionally mitigated by careful engineering of the single
application using the WSAN. Existing research has focused on providing
optimal support for this monolithic usage mode. Real-world application
however are generally not monolithic - driven by cost-effectiveness, a
single sensor (network) must support multiple applications of diverse
users and nodes of networks owned by different parties must work
together to achieve users' goals. The WSAN ecosystem is shared since
users are competing for the scarce resources, as well as federated
since finishing a task will often require cooperation spanning logical
network boundaries. Improving support for shared and federated
operation of WSANs is the overall goal of this dissertation.
The envisioned federated setting with multiple owners and users of
networks raises additional requirements that are mainly
security-centric from a runtime perspective. Fine-grained control of
resource consumption is needed, next to provisions for modularity and
dynamic reconfiguration that were already established through
multi-application but single-owner usage scenarios. Trust established
between the owners needs to be translated into the federated network so
that services and applications on nodes can cooperate. The runtime
perspective however only offers a partial view to the federated
problem. The multiple applications of users are competing, but also
asynchronously coexisting. Applications come and go at a different
pace. This is not different from traditional multi-user systems where
this problem is tackled by managing the lifecycle of each application
independently culminating in resource-expensive virtualisation - now
basically replicating a full host OS for each application. In the
low-resource WSAN, communality must be embraced and abandoning these
lifecycle silos implies that the traditional individual sequences of
develop > deploy > manage cannot be maintained. Instead a
system-software continuum is proposed wherein all stakeholders submit
application or system goals. Optimally translating (from a resource
perspective) these goals to low-level artifacts and the enactment of
the latter is a prime responsibility of "enhanced" WSAN middleware.
This middleware enhancement is also a suitable place for autonomicity
to address the impact of mobility and node failure.
The contributions of this dissertation can be summarised as follows.
The federated ecosystem is characterised and its requirements
identified. To address these requirements from a runtime perspective, a
middleware is proposed combining a component model and a policy-driven
paradigm, with specific extensions for secure cooperation. This
runtime middleware provides a modular, reconfigurable, and shareable
execution environment for our target platform. Next, focus moves to the
development support that is needed in the middleware from the
continuum-lifecycle perspective. Suitable abstractions are proposed for
the stakeholders of the federated ecosystem and the gap between those
abstractions and the runtime execution environment is explored and
addressed through a high-level description of the enhanced middleware.
Finally, a subset of the enhanced middleware is presented in detail and
validated. The latter demonstrates the optimisation potential of the
continuum approach.
The language of the defence will be English.
If you intend to attend defence and/or reception please register here.
Getting there.
Printed copies of the text will be available on request only -- the text will be here for download.
Informally, I believe Moore's law
has tricked us into a situation where we don't really care about
resources anymore for most practical computing purposes. Because
resources are plentiful and available, and most problems can be
contained by isolating the applications from each other, we just give
each application its own environment and throw resources at the
problem. We have been doing this increasingly over the last 20 years
and have become very good at it - so we never complain about too much
memory or CPU. When confronted with a situation where resources are
scarce, like in sensors where every byte or joule counts, our focus
needs to shift from isolation to reuse - with all associated risks and
inconveniences. I'd like to present you my thoughts on how I believe we
can build and operate these systems, whilst still keeping the mentioned
issues under control.
Security is one of the key benefits of isolation. Reorganising the
system with less isolation means introducing security controls at other
places. To achieve resource control or controlled interaction, we
propose to use mini-firewalls acting on the data being exchanged
between or on the sensor nodes. Walled garden activities in the
resource-rich tier will be useful as well. In a real setting,
these sensor
nodes may belong to different members of a federation, so merging the
nodes into a unified infrastructure needs to be tackled as well. These
are all functions of the runtime middleware.
Even with the rich set of functions offered by the runtime middleware,
a significant gap remains between the platform functions and the
high-level, business-centric goals of users or owners. Here, we see an
enhanced role for middleware - the middleware must collect all these
goals and translate to a configuration (or allocation of modules to the
nodes) that can be executed by the runtime middleware. Reuse,
optimisation and self-management can also be accomodated in this
enhanced middleware.