Thèse soutenue

Approche dirigée par les modèles pour le développement et la vérification des applications orientées-services

FR  |  
EN
Auteur / Autrice : Fadwa Rekik
Direction : Sébastien Gérard
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 19/04/2017
Etablissement(s) : Université Paris-Saclay (ComUE)
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'intégration des systèmes et des technologies (Gif-sur-Yvette, Essonne ; 2001-....)
établissement opérateur d'inscription : Université Paris-Sud (1970-2019)
Jury : Président / Présidente : Laurent Pautet
Examinateurs / Examinatrices : Sébastien Gérard, Laurent Pautet, Jean-Michel Bruel, Olivier Barais, Mireille Blay-Fornarino, Selmin Nurcan, Boutheina Bannour
Rapporteurs / Rapporteuses : Jean-Michel Bruel, Olivier Barais

Résumé

FR  |  
EN

L’omniprésence des systèmes logiciels et le rôle important qu’ils jouent dans la vie quotidienne rendent les utilisateurs de plus en plus exigeants. Entre autre, ils demandent plus de fiabilité et des systèmes qui peuvent s’adapter à leur contexte d’utilisation. Afin de satisfaire ces demandes, les cadres techniques et les méthodes de conception sous-jacents au développement des systèmes doivent être modulaires, flexibles et consistants. L’architecture orientée service (SOA) est un paradigme qui offre des mécanismes permettant une grande flexibilité des architectures des systèmes logiciels tout en réduisant leurs coûts de développement puisqu’elle se base sur des entités modulaires et réutilisables appelées services. Ces services peuvent être réutilisés dans le cadre d’une composition ou d’une chorégraphie de services pour la construction de nouveaux processus métiers transverses. SOA promet aussi d’augmenter la fiabilité des systèmes au travers de la notion de contrat de services. De son côté, le paradigme de l’Ingénierie des modèles (IDM) offre au travers de ses deux principes fondateurs, l’abstraction et l’automatisation, deux moyens puissants de gestion de la complexité des systèmes. Malgré les progrès des deux paradigmes, IDM et SOA, il y a encore des défis à résoudre. Notamment, on peut citer : (1) La vérification rigoureuse des spécifications des systèmes conformes aux principes de SOA. Ce point constitue un défi car pour modéliser ces systèmes, les concepteurs ont besoin de plus d'un point de vue représentant chacun une préoccupation spécifique du système et bien sûr ces points de vue doivent être sémantiquement cohérents. Ce problème est appelé la vérification de la consistance horizontale, une tâche manuellement difficile qui constitue une étape importante pour réduire les incohérences dans les modèles des applications SOA avant de les transformer en d'autres formes (du code, des cas de tests, etc.). (2) La transformation des spécifications des systèmes en artefacts exécutables. Malgré la maturité de l’architecture SOA, la transformation des spécifications des systèmes SOA en artefacts exécutables s'avère encore une étape fastidieuse et est généralement effectué manuellement. En particulier, la transformation des chorégraphies de services en orchestrations exécutables reste un problème en raison de la nécessité de prendre en compte les aspects complexes des systèmes distribués, tels que l’asynchronisme et la concurrence. (3) La vérification de l’exécution. Au moment de la spécification, des comportements inattendus peuvent encore apparaitre lors de l’exécution. Pour cette raison, il est nécessaire de pouvoir vérifier la conformité de l'exécution d’un système par rapport à sa spécification. Ce problème est appelé la vérification de la consistance verticale. Ce travail de thèse propose ainsi une approche de type SOA dirigée par les modèles résolvant les défis mentionnés précédemment. Cette approche comprend une méthodologie en deux étapes pour la vérification de la consistance horizontale et verticale des systèmes SOA spécifiés en utilisant la norme SoaML de l’OMG. Le problème de vérification de la consistance horizontale est résolu au moyen de l'analyse statique de la spécification des systèmes. Le deuxième défi est résolu en spécifiant les règles de transformation d'un modèle de spécification de chorégraphie de services en une orchestration exécutable qui implémente la logique de la chorégraphie tout en prenant en compte la nature asynchrone des communications entre les services distribués. Le problème de vérification de la consistance verticale est résolu par notre approche par l'analyse hors ligne des traces d’exécution d’un système. L’ensemble de la proposition méthodologique a été implanté sous la forme d’une extension à l’outil de modélisation UML open-source Papyrus.