|
Problématique
Les modèles occupent une place de premier plan parmi les artefacts de développement
des systèmes. Conventionnellement « contemplatifs », ils ont tendance à devenir « exploratoires », voire même « productifs » dans le cas où ils sont exploités dans un processus
de développement ou de simulation. Plusieurs initiatives soulignent l’importance de cette
approche, en particulier l’AS MDA du CNRS et les programmes de recherche Carroll,
TopModel, TopCased, ModelWare par exemple.
Ces actions contribuent à la définition de nouvelles technologies d’ingénierie des systèmes
avec un développement centré sur les modèles. Nos travaux se situent dans ce cadre et
se sont concentrés plus particulièrement d’une part sur la migration des logiciels et
la vérification statique des modèles, et d’autre part sur la transformation et la cohérence
de modèles.
Migration de données et de logiciels
L’objectif de cette étude définissait un cadre méthodologique et une architecture logicielle pour maîtriser et optimiser le processus de migration de composants logiciels.
S’appuyant sur la méta-modélisation et la transformation de modèles, avec une
démarche à base de patrons de processus réutilisables, cette étude a débouché sur
une collaboration avec le CNES dans le cadre de la ré-actualisation de données et sur
le projet RNTL TRAMs (TRansformation sur une Architecture à base de méta-modèles
pour la Migration des systèmes d’information vers le Web).
Processus de développement
La notation UML, basée sur un formalisme graphique, ne définit pas en soi un processus
de développement. Nos recherches ont pour objectif de définir un guide fonctionnel
et opératoire pour l’analyse et la conception dédiés au développement d’applications
logicielles. Ce processus, à base de modèles, jalonés de points de cohérence
(vérifiables par un interprète OCL) aux activités et phases cruciales du développement,
peut ainsi guider les analystes-concepteurs tout au long du cycle de vie du logiciel.
Vérification statique de modèles
Nous focalisons nos recherches d’une part sur l’étude de moyens d’expérimentation
des règles de cohérence de modèles UML, et d’autre part sur l’expression de
contraintes de haut niveau et notamment temporelles. Cette étude a été
supportée par le projet européen NEPTUNE (Nice Environment with a Process and Tools
using Norms - UML, XML and XMI - and Exemple). Nous avons appliqué ces
principes à chaque phase du processus de développement dans le cadre du projet
Région MERCURE (MEthodes et moyens Reliés aveC UML pour la coopération
pluridisciplinaiRE) réalisé en partenariat avec les sociétés CS et Telelogic qui ont industrialisé le processus baptisé désormais UML-MERCURE.
Transformation de modèles
Notre proposition définit une architecture de transformation de modèles en termes
de méta-modèles exprimés par des grammaires attribuées. Cette architecture, principalement inspirée par la théorie et les techniques de compilation des langages de programmation, permet une approche déclarative sous la forme de règles sémantiques et
conduit à une spécification exécutable où il est possible d’engendrer automatiquement
un programme exécutant la spécification d’entrée.
Revenir à la rubrique Equipe MACAO
|