Ce projet de recherche doctorale est publié a été réalisé par Marie-Pierre Gervais

Description d'un projet de recherche doctoral

Modification à la volée de modèles de procédé de développement logiciel dans un environnement réparti

Mots clés :

Résumé du projet de recherche (Langue 1)

Depuis qu'il a été largement établi que la qualité et la rapidité de construction des logiciels pouvaient être directement influencées par les procédés de développement suivis, la communauté du génie logiciel ne cesse de voir fleurir ce que l'on appelle communément, les Langages de Modélisation de Procédés (LMPs). Les acteurs de l’industrie du logiciel ont très vite compris cet enjeu et leur intérêt à vouloir capturer leur Procédés de Développement Logiciel (PDL) sous forme de Modèles de Procédés (MP) n'a cessé de s'accroître. L'objectif sous-jacent est bien sûr de pérenniser une connaissance précieuse et répétitive de leurs procédés afin de guider les développeurs mais aussi de s'en servir à des fins de compréhension, d'analyse, et d'exécution. Cependant malgré l’utilisation de ces LMPs, au vu des statistiques établies sur les projets informatiques, il s'avère qu'un grand nombre d'entre eux échouent ou ne répondent pas à leurs objectifs initiaux. Parmi les causes régulièrement constatées, la mauvaise formalisation du procédé de développement souvent imprécise ou incorrect ou bien le non respect du modèle de procédé par les développeurs lors des phases de développement. Si les procédés modélisés sont rarement appliqués de façon rigoureuse au moment de leur mise en œuvre (exécution), c'est que le développement d'un logiciel (complexe) n'est pas totalement prédictible et qu'il dépend en partie de facteurs humains. Il y a inévitablement des déviations entre le procédé prévu et le procédé réellement appliqué. Les déviations des développeurs ont souvent pour objectif de faire face à des situations imprévues, non modélisées dans le modèle de procédé. Il est donc important de pouvoir gérer ces déviations et d'aider les acteurs du développement à réagir efficacement quand ces imprévus se produisent. Malheureusement, une des lacunes majeures des LMPs actuels est justement leur faiblesse à répondre à ce genre de problèmes et notamment leur manque de flexibilité à gérer les situations imprévues durant les phases de développement. De nos jours, un besoin évident pour les développeurs et pour les modeleurs de procédés est celui de pouvoir modifier les modèles de procédés pendant l’exécution (à la volée) afin de faire face aux situations imprévues. En effet, les solutions actuelles offrent la possibilité de soit arrêter l’exécution en cours et de tout redémarrer, soit d’ignorer ces imprévus dans le contexte de l’exécution courante et de mettre à jour le modèle de procédé lors de la prochaine itération. Dans les deux cas, ça ne peut représenter une solution valable à long terme. L’objectif de cette Thèse sera de gérer les déviations dans les procédés logiciels tout en étant capable de modifier le modèle de procédé durant l’exécution (à la volée). La première difficulté sera d’identifier les conditions sous lesquelles une telle action serait possible. La deuxième difficulté est quant à elle liée à l’anticipation de l’impact de cette modification à la volée. L’idée étant de savoir au moment de la modification du modèle ou au moment d’une déviation, l’impact de cette dernière sur le reste de l’exécution du procédé et si elle représente un danger pour la continuité du procédé ou pas. Une autre difficulté serait de cibler une instance parmi toutes les instances en cours d’exécution et de ne modifier que celle-ci. Finalement, le contexte d’un développement dans un environnement repartis sera également à prendre en compte par le thésard. L’utilisation du langage de procédé UML4SPM développé par l’équipe MoVe pourra être considéré comme un point de départ de cette thèse.