Proposition de projet/stage (3) : Re-engineering autour du logiciel Orccad (Outil de conception pour les systèmes robotiques temps-réel réparti)

Mots-Clés

spécification, architecture logicielle, contrôle-commande, robotique

Niveau Requis

BAC + 5

Maîtres de stage

Soraya Arias (SED), Roger Pissard-Gibollet (SED), Daniel Simon (Pop-Art)

Description du stage

Durée

4 à 6 mois

Contexte

Le stage se déroulera autour du logiciel Orccad (https://sed.inrialpes.fr/Orccad). Orccad est un environnement logiciel permettant de concevoir et de mettre en oeuvre le contrôle et la commande d'un système robotique complexe. Il permet également la spécification et la validation des missions à réaliser par ce système.

Ce logiciel permet de faire des expérimentations pour les robots du service SED (http://www.inrialpes.fr) dont le rôle est la mise en oeuvre des outils matériels et logiciels pour les expérimentations robotiques des projets de recherche du site. Il sert également de plate-forme de recherche pour le projet Pop-Art (http://pop-art.inrialpes.fr/) qui traite du problème de la conception sûre de systèmes de contrôle-commande temps-réel. Le projet travaille avec Orccad sur la génération de code temps-réel réparti.

Depuis quelques années, le logiciel n'a pas évolué et ce stage s'inscrit dans la refonte du logiciel qui est en cours.

Objectifs du projet/stage

L'objectif du stage est de participer à la refonte du logiciel Orccad. Pour cela, il se déroulera en 3 grandes parties:

  • Apprendre de la méthodologie et des outils liés à l'outil Orccad.
  • Participer à la définition et écrire les spécifications de la nouvelle architecture Orccad. Les lignes directrices de cette refonte sont de disposer d'un logiciel ouvert: il doit être utilisable simplement mais doit s'adapter également aux besoins et contraintes d'utilisateurs "experts" (ajout de caractéristiques du contrôleur, ajout de générateurs de code,...) à travers un système de "plugs-in".
  • Coder cette architecture en Java qui consistera à :
    • écrire le noyau du logiciel qui va gérer la modélisation des contrôleurs (structure des données en XML)
    • intégrer ou ré-écrire en Java des composants existants (interface graphique, générateurs de codes)
    • Tester et Valider

Quelques liens utiles