Résumé:
Au fur et à mesure que les applications deviennent de plus en plus volumineuses, encore plus
hétérogènes et complexes, il existe certaines tâches où les données contextuelles ne peuvent pas
être définies durant la phase de conception. A la lumière de cela, il devient vital pour ces systèmes
de s’adapter automatiquement aux changements qui se produisent dans l’environnement. Nous
appelons ces systèmes des « Systèmes Auto-adaptatif (SAA) ». L’auto-adaptation présente une
approche prometteuse pour la gestion de la complexité des systèmes actuels. Les applications
nécessitant des capacités de type SAA sont par exemple des systèmes d’infrastructure intelligents,
les réseaux de capteurs et les systèmes embarqués. Les changements de facteurs de
l’environnement comme les interactions humaines (entrées imprévues) rendent l’analyse difficile
de tous les états dans lesquels le système sera pendant sa durée de vie. Par conséquent, un SAA
doit être capable de s’adapter à un ensemble de contextes environnementaux, mais la nature
exacte de ces contextes reste vaguement comprise. Un défi global dans le développement des SAAs
est la façon d’exprimer une spécification afin de rendre le SAA capable de gérer les problèmes
posés par les domaines d’application, y compris les incertitudes comportementales. Les SAAs ont
besoin de spécifications flexibles tout en étant formelles. Cette thèse présente un nouveau langage
appelé PSAS, pour la spécification des exigences, il est basé sur des patrons spécification pour
les SAAs afin de faciliter l'expression des contraintes temporelles d'auto-adaptation. Un outil de
support sera proposé pour faciliter la phase spécification. L’efficacité du langage PSAS est
renforcer via des instances du monde réel, ainsi que par une évaluation empirique de trois cas
d’études, et une comparaison avec des approches similaire en matière de clarté et de facilité
d’usage.