L’omniprésence de l’informatique dans notre quotidien entraîne un besoin croissant de garanties sur les programmes et systèmes informatiques. Je défends une approche par modélisation et vérification formelles, où les résultats sont mécanisés pour les rendre accessibles à des non-experts des méthodes formelles. Mon domaine d’application est la composition de services. En effet, plusieurs facettes de l’informatique engendrent des problématiques similaires :la programmation orientée objets, la programmation orientée composants, la programmation orientée services, les systèmes répartis ont tous pour but de composer les objets / composants/ services / processus pour modéliser et réaliser un système complexe. Mes travaux abordent,sous un angle formel, la composition de services au sens large et les problèmes de découverte,sélection, vérification et adaptation qui en découlent. Plusieurs points de vue sur les services sont abordés : la fonctionnalité qu’ils réalisent, leur comportement (interactions) et leur qualité de service. Certains travaux s’intéressent à la découverte de compositions de services guidée par la fonctionnalité souhaitée. Les techniques utilisées sont celles issues des types abstraits algébriques et de l’unification équationnelle. D’autres travaux s’intéressent à la sélection de la meilleure composition de service en fonction de critères de qualité de service. L’approche se base sur des algorithmes d’optimisation multi-critères et d’apprentissage automatique. Enfin, des travaux s’intéressent à vérifier des propriétés sur des compositions de services interagissant par messages de façon asynchrone. La diversité de la communication dans le monde asynchrone a été étudiée et formalisée