Félix INGRAND

CV
CNRS researcher.

ABSTRACT

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.