English Version


- Modélisation et mise en oeuvre répartie de procédés

- Elaboration et réutilisation de composants de procédés

- Vérification statique de modèles de procédés




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 :



Modélisation et mise en oeuvre répartie de procédés English Version

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.



Elaboration et réutilisation de composants de procédés English Version

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.



Vérification statique de modèles de procédés English Version

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.

maj : 28/03/2006