Développement des systèmes logiciels par transformation de modèles : application aux systèmes embarqués et à la robotique

par Valéry Marcial Monthe Djiadeu

Thèse de doctorat en Informatique

Sous la direction de Laurent Nana Tchamnda et de Claude Tangha.


  • Résumé

    Avec la construction des robots de plus en plus complexes, la croissance des architectures logicielles robotiques et l’explosion de la diversité toujours plus grande des applications et misions des robots, la conception, le développement et l’intégration des entités logicielles des systèmes robotiques, constituent une problématique majeure de la communauté robotique. En effet, les architectures logicielles robotiques et les plateformes de développement logiciel pour la robotique sont nombreuses, et sont dépendantes du type de robot (robot de service, collaboratif, agricole, médical, etc.) et de son mode d'utilisation (en cage, d’extérieur, en milieu occupé, etc.). L’effort de maintenance de ces plateformes et leur coût de développement sont donc considérables.Les roboticiens se posent donc une question fondamentale : comment réduire les coûts de développement des systèmes logiciels robotiques, tout en augmentant leur qualité et en préservant la spécificité et l’indépendance de chaque système robotique? Cette question induit plusieurs autres : d’une part, comment décrire et encapsuler les diverses fonctions que doit assurer le robot, sous la forme d’un ensemble d’entités logicielles en interaction? Et d’autre part, comment conférer à ces entités logicielles, des propriétés de modularité, portabilité, réutilisabilité, interopérabilité, etc.?A notre avis, l’une des solutions les plus probables et prometteuses à cette question consiste à élever le niveau d’abstraction dans la définition des entités logicielles qui composent les systèmes robotiques. Pour ce faire, nous nous tournons vers l’ingénierie dirigée par les modèles, et plus particulièrement la conception des DSML (Domain Specific Modeling Language).Dans cette thèse, nous réalisons dans un premier temps, une étude comparative des langages de modélisation et de méthodes utilisés dans le développement des systèmes embarqués temps réel en général. L’objectif de ce premier travail étant de voir s’il en existe qui puissent permettre de répondre aux questions susmentionnées des roboticiens. Cette étude, non seulement nous montre que ces approches ne sont pas adaptées à la définition des architectures logicielles robotiques, mais elle aboutit surtout à unFramework, que nous proposons et qui aide à choisir la (les) méthode(s) et/ou le(s) langage(s) de modélisation le(s) plus adapté(s) aux besoins du concepteur. Par la suite, nous proposons un DSML baptisé RsaML (Robotic Software Architecture Modeling Language), pour la définition des architectures logicielles robotiques avec prise en compte de propriétés temps réel. Pour ce faire, un méta-modèle est proposé à partir des concepts que les roboticiens ont l’habitude d’utiliser pour la définition de leurs applications. Il constitue la syntaxe abstraite du langage. Les propriétés temps réel sont identifiées à leur tour et incluses dans les concepts concernés. Des règles sémantiques du domaine de la robotique sont ensuite définies sous forme de contraintes OCL, puis intégrées au méta-modèle, pour permettre que des vérifications de propriétés non fonctionnelles et temps réel soient effectuées sur les modèles construits. Le Framework de modélisation EMF d’Eclipse a été utilisé pour mettre en oeuvre un éditeur qui supporte le langage RsaML.La suite des travaux réalisés dans cette thèse a consisté à définir des transformations de modèles, puis à les utiliser pour implémenter des générateurs. Ces derniers permettent à partir d’un modèle RsaML construit, d’une part, de produire sa documentation et, d’autre part, de produire du code source en langage C. Ces contributions sont validées à travers un cas d’étude décrivant un scénario basé sur le robot Khepera III.

  • Titre traduit

    Software systems development by model transformation : application to embedded systems and robotics


  • Résumé

    With the construction of increasingly complex robots, the growth of robotic software architectures and the explosion of ever greater diversity of applications and robots missions, the design, development and integration of software entities of robotic systems, constitute a major problem for the robotics community. Indeed, robotic software architectures and software development platforms for robotics are numerous, and are dependent on the type of robot (service robot, collaborative, agricultural, medical, etc.) and its usage mode (In cage, outdoor, environment with obstacles, etc.).The maintenance effort of these platforms and their development cost are therefore considerable.Roboticists are therefore asking themselves a fundamental question: how to reduce the development costs of robotic software systems, while increasing their quality and preserving the specificity and independence of each robotic system? This question induces several others: on the one hand, how to describe and encapsulate the various functions that the robot must provide, in the form of a set of interactive software entities? And on the other hand, how to give these software entities, properties of modularity, portability, reusability, interoperability etc.?In our opinion, one of the most likely and promising solutions to this question, is to raise the level of abstraction in defining the software entities that make up robotic systems. To do this, we turn to model-driven engineering, specifically the design of Domain Specific Modeling Language (DSML).In this thesis, we first realize a comparative study of modeling languages and methods used in the development of embedded real time systems in general. The objective of this first work is to see if there are some that can make it possible to answer the aforementioned questions of the roboticists. This study not only shows that these approaches are not adapted to the definition of robotic software architectures, but mainly results in a framework, which we propose and which helps to choose the method (s) and / or the modeling language (s) best suited to the needs of the designer. Subsequently, we propose a DSML called Robotic Software Architecture Modeling Language (RsaML), for the definition of robotic software architectures with real-time properties. To do this, a meta-model is proposed from the concepts that roboticists are used to in defining their applications. It constitutes the abstract syntax of the language. Real-time properties are identified and included in the relevant concepts. Semantic rules in the field of robotics are then defined as OCL constraints and then integrated into the meta-model, to allow non-functional and realtime property checks to be performed on the constructed models.Eclipse Modeling Framework has been used to implement an editor that supports the RsaML language. The rest of the work done in this thesis involved defining model transformations and then using them to implement generators. These generators make it possible from a RsaML model built, to produce its documentation and source code in C language. These contributions are validated through a case study describing a scenario based on the Khepera III robot.


Il est disponible au sein de la bibliothèque de l'établissement de soutenance.

Consulter en bibliothèque

La version de soutenance existe

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université de Bretagne occidentale (Brest). Service commun de documentation Bibliothèque électronique.
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.