|
Félix INGRAND
Incremental Construction and Verification of Robotic System using
a Component-Based approach
A central idea in systems engineering is that complex systems
are built by assembling components (building blocks). Components
are systems characterised by an abstraction that is adequate for
composition and re-use. It is possible to obtain large
components by composing simpler ones. Component-based design
confers many advantages such as reuse of solutions, modular
analysis and validation, reconfigurability, controllability etc.
Autonoumous robots are complex systems that require the
interaction/cooperation of numerous heterogeneous software
components. They are critical systems as they must meet safety
properties including in particular, temporal and real-time
constraints. Component-based design relies on the separation
between coordination and computation. Systems are built from
units processing sequential code insulated from concurrent
execution issues. The isolation of coordination mechanisms
allows a global treatment and analysis. One of the main
limitations of the current state-of-the-art is the lack of a
unified paradigm for describing and analysing the information
flow between components. Such a paradigm would allow system
designers and implementers to formulate their solutions in terms
of tangible, well-founded and organised concepts instead of
using dispersed coordination mechanisms such as semaphores,
monitors, message passing, remote call, protocols etc. It would
allow in particular, a comparison of otherwise unrelated
architectural solutions and could be a basis for evaluating them
and deriving implementations in terms of specific coordination
mechanisms. The designers of complex systems such as autonomous
robots need scalable analysis techniques to guaranteeing
essential properties such as the one mentionned above. To cope
with complexity, these techniques are applied to component-based
descriptions of the system. Global properties are enforced by
construction or can be inferred from component properties.
Furthemore, componentized descriptions provide a basis for
reconfiguration and evolutivity. We present an incremental
componentization methodology and technique for an already
existing autonomous robot software developed at LAAS. The
methodology considers that the global system architecture can be
obtained as the hierarchical composition of larger components
from a small set of classes of atomic components. Atomic
components are units processing sequential code that offer
interactions through their interface. The technique is based on
the use of the Behavior-Interaction-Priority (BIP) component
framework which encompasses incremental composition of
heterogeneous real-time components. We first present, the
preexisting modules software organization (based on GenoM) of
the autonomous robots software at LAAS. From this, we identify
the "components" which will modeled in the BIP framework. We
then present a methodology on how we build the BIP model of an
existing GenoM functional module and how we integrate the model
with the rest of the software. Controller synthesis results as
well as "safety" properties analysis are also presented. The
main contributions of the paper include: (1) a methodology for
componentizing and architecturing autonomous robot systems, (2)
composition techniques for organizing and enforcing complex
event-based interaction using the BIP framework and (3)
validation techniques for checking essential properties,
including scalable compositional techniques relying on the
analysis of the interactions between components.
|