Axe 2 - Ingénierie des procédés de développement du logiciel
Participants A. Caplain, B. Combemale, B. Coulette, X. Crégut, M. Kabbaj, R. Lbath, H.N. Tran.
Ces travaux se situent dans le cadre d'une approche globale qui vise une meilleure
maîtrise du développement de logiciels. Cet objectif nous
amène à nous intéresser en particulier à la
modélisation et à la mise en oeuvre assistée des procédés logiciels. Les enjeux et intérêts
de ces travaux de recherche sont les suivants: mieux comprendre le procédé, mieux le contrôler son exécution,
mieux réutiliser des procédés existants, etc.
Ce thème est développé suivant trois aspects :
Le développement d'un logiciel est une activité
généralement complexe qui implique la coopération
de différents acteurs. Pour prendre en compte cette
réalité, nous proposons une approche distribuée
pour la modélisation et la mise en oeuvre de
procédés, fondée sur les systèmes
multi-agents. L'idée centrale est de modéliser le
procédé de développement de logiciels par des
activités et de distribuer l'exécution à travers
des agents autonomes coopérants. Les travaux que nous menons
dans cet axe se situent dans le prolongement du projet
RHODES
qui a donné lieu à la réalisation d'un AGL centré
procédé dans les années 1990.
Par ailleurs, le développement de procédés prend une
part grandissante dans l'activité des concepteurs. Il constitue
en lui-même un processus dont certaines étapes sont
récurrentes. C'est pourquoi nous travaillons à la
définition d'un méta-procédé permettant de
décrire la construction, l'adaptation dynamique et la réutilisation
de procédés logiciels. Ce travail fait actuellement l'objet de la thèse de Hanh
Nhi Tran.
Les expérimentations réalisées sous RHODES nous ont
montré qu'il était important de pouvoir capitaliser
l'expérience acquise lors de la définition d'un
procédé. Les parties réutilisables du
procédé sont alors décrites dans des composants de
procédés (composants complexes et patrons de
procédés) qui peuvent ensuite être réutilisés et instanciés pour faciliter la
définition de nouveaux procédés. Ce travail de formalisation a donné lieu à la
thèse de Thu Tran Dan en collaboration avec l'université d'HochiMinh Ville au
Vietnam. Nous travaillons maintenant à l'élaboration d'une base de patrons de
procédés génériques que l'on peut gérer comme des composants réutilisables.
Un modèle exécutable de procédé de
développement est utilisé au cours d'un projet pour
contrôler et assister les développeurs. Il est donc
important que ce modèle de procédé ne contienne
pas d'erreurs. Dans ce but, nous utilisons les approches formelles pour
vérifier la validité d'un modèle de
procédé avant sa mise en oeuvre. Dans un premier temps,
nous nous appuyons sur le méta-modèle SPEM de l'OMG pour
vérifier qu'un modèle de procédé
donné respecte le méta-modèle SPEM.
Techniquement nous utilisons la méthode B, le
méta-modèle étant traduit en une machine abstraite
et le modèle de procédé en un raffinement. La
vérification consiste à satisfaire les obligations de
preuve engendrées par l'intermédiaire d'un outil support
à B. Dans un deuxième temps, nous vérifions les
propriétés intrinsèques d'un modèle de
procédé. Le principe est d'enrichir le modèle de
procédé avec des propriétés formelles (en
utilisant le langage OCL), de traduire le procédé en
machines B puis de vérifier ces machines. Ce travail fait l'objet de la thèse
d'A. Caplain.
|