Interact : un modèle général de contrat pour la garantie des assemblages de composants et services
Pour satisfaire aux nouveaux besoins de flexibilité, modularité, d'adaptabilité et de distribution des applications, les paradigmes composants et services ont été déclinés dans des frameworks reconnus comme J2EE, OSGI, SCA ou encore Fractal. Néanmoins, ceux-ci offrent peu d'outils permetta...
Main Author: | |
---|---|
Language: | FRE |
Published: |
Université Pierre et Marie Curie - Paris VI
2007
|
Subjects: | |
Online Access: | http://tel.archives-ouvertes.fr/tel-00292148 http://tel.archives-ouvertes.fr/docs/00/50/55/84/PDF/Interact_v1.74.pdf |
Summary: | Pour satisfaire aux nouveaux besoins de flexibilité, modularité, d'adaptabilité et de distribution des applications, les paradigmes composants et services ont été déclinés dans des frameworks reconnus comme J2EE, OSGI, SCA ou encore Fractal. Néanmoins, ceux-ci offrent peu d'outils permettant de garantir la fiabilité des applications en raisonnant de manière générique sur leur configuration architecturale et les spécifications des participants. Dans cette thèse, j'envisage l'organisation de la vérification des assemblages, et le diagnostic des défaillances, sous l'angle de l'approche par contrat dirigée par les responsabilités. Pour cela, j'analyse d'abord sous quelles hypothèses intégrer différents formalismes à cette approche, puis comment appliquer cette approche à différentes architectures. J'étudie par ailleurs comment les intervenants de la mise en oeuvre des systèmes pourraient en bénéficier. Cela m'amène à présenter un modèle de contrat, qui intègre et organise différentes propriétés, analysées comme requises pour la validité de l'assemblage, conjointement et uniformément sur différentes architectures. J'en définis le modèle objet qui réifie la logique contractuelle, ainsi que son implémentation sous forme d'un framework. Ce dernier est validé sur l'architecture Fractal et deux formalismes contractuels, l'un à base d'assertions et l'autre de contraintes sur les séquences d'interactions valides entre participants. Une validation plus avancée est montrée sur l'exemple d'une application de communautés instantanées. |
---|