Nicolas Ayache
Published: 2010
Total Pages: 191
Get eBook
Aujourd’hui, de nombreux systèmes à base de composants sont critiques ; leur fonctionnement requiert un niveau de confiance maximal. Les méthodes formelles comme le Model-Checking sont utilisées pour garantir les propriétés cruciales, avec un haut degré d'automatisation. Cependant, le Model-Checking souffre d'explosion combinatoire lorsque les systèmes deviennent trop grands. Cette thèse propose un cadre de description haut niveau, où la vérification accompagne la modélisation du système, et limite le problème de l'explosion par une vérification modulaire des composants du système. L'approche se base sur les observateurs, qui s'exécutent en parallèle d’un système sans en modifier le comportement global et permettent de décrire des propriétés. La modularité de la vérification vient de la possibilité de remplacer avec sûreté tout ou partie d'un système par un autre. Ceci est rendu possible par l'utilisation conjointe du Model-Checking et de l’Interprétation Abstraite, ce qui assure le calcul d'un sur-ensemble des comportements du système. Alors que l'Interprétation Abstraite introduit des approximations, les observateurs permettent de distinguer des états qui auraient été fusionnés pour gagner la précision nécessaire. Ils pilotent les analyses en introduisant des instants d'observation. Décrits par l'utilisateur, ils permettent une mise au point interactive des états à fusionner. Notre approche s'intègre dans le cycle de développement d'un système où raffinements et abstractions sont légions. Nous définissons le langage SystemD, proche de SystemC, intégrant la description, la spécification et la vérification de systèmes, tout en restant accessible au monde de l'ingénierie.