CTL
5 March 2010 - 13h30
Design and Implementation of Component Based Systems. Towards a Unification of the Software Engineering and the System Paradigms. (Phd Defense)
by Marc Poulhiès from VERIMAG - DCS
Abstract: This PhD thesis was co-supervised by the MAPS/AMS laboratory of France Telecom R&D
(now MAPS/SHINE) and the VERIMAG laboratory.
Software development for embedded systems has many challenges. In this thesis,
we address those related to the interactions between the three following phases
of the software development process: the design phase (developers build a model
of a system based on its specifications, using a design language i.e. a
programming language), the implementation phase (the model previously built is
compiled into an executable of the system which is then deployed on the target
platforms) and the validation phase (a set of techniques are used to verify that
the system implementation is correct with respect to the specifications).
To achieve this goal, we study the design language characteristics and
compilation techniques. In our approach, they allow the creation of both an
implementation of the system and a model for this implementation. Provided that
this model faithfully corresponds to the implementation, the analysis of the
model can validate the implemented system.
We propose a process for building a language based on predefined software
components for which the dynamic behavior is supposed to be given. We illustrate
this process with a prototype language, called Buzz, inspired by the actors
programming model. Buzz uses Think components enriched with their operational
behavioral model in the form of BIP components.
We developed a compiler for Buzz by extending the current Think compiler
(Nuptse). It generates both an architecture of Think components for the
implementation and a BIP model for the analysis. We evaluate Buzz through two
experiments.
The first experiment details the end-to-end software development for an
academical example on which we show the soundness of our technical choices. In
particular, Think provides implementation support (compilation, optimization,
deployment) and BIP allows us to verify the system's dynamic properties.
The second experiment focuses on porting to Buzz an application conventionally
developed for a sensor network radio protocol. This experiment underlines the
efficiency of our proposal both in terms of programming language (the result is
more structured and simpler than the original code) and in terms of compilation
tools and verifications.
Jury:
Président: STEFANI Jean-Bernard (INRIA)
Rapporteur: SEINTURIER Lionel (Univ. Lilles)
Rapporteur: MULLER Gilles (INRIA)
Directeur de thèse: SIFAKIS Joseph (VERIMAG)
Examinateur: PULOU Jacques (Orange Labs)
Examinateur: LE PAPE-GARDEUX Claude (Scheider Electrics)