Modularité pour la conception et la validation formelles de systèmes

Structuration et compositionnalite sont des besoins importants dans le domaine des techniques formelles pour maitriser la taille et la complexite des specifications. Nous proposons un formalisme qui permet de specifier des systemes de facon modulaire, mais aussi d'exploiter la structure des specifications pour realiser des verifications modulaires. Un outil de specification (Moka) est associe a ce formalisme et peut etre combine avec des outils de demonstration logique existants. L'approche est illustree sur trois applications de domaines differents. Nous mettons d'abord l'accent sur les besoins d'un cadre a la fois structure, expressif et qui permette d'utiliser des outils de verificetion et de validation. Pour repondre a ces besoins, nous proposons de combiner la logique temporelle (pour l'expressivite et les outils de verification) avec des technqiues algebriques (pour la structuration). Nous presentons ensuite l'approche qui combine le calcul de modules defini par Ehrig et Mahr avec une logique temporelle. Elle s'appuie sur les travaux de Fiadeiro et Maibaum utilisant la theorie des categories pour leur "Object Calculus". L'outil associe utilise les aspects constructifs de la theorie des categories pour mettre en oeuvre les modules de specification et les operations de composition. L'approche est illustree par une application au domaine des telecommunications. Les aspects verification sont enfin abordes : nous expliquons comment le formalisme peut etre utilise pour faire de la verification modulaire et l'interet d'interfacer l'outil Moka avec un outil de demonstration logique (ici TRIO). Deux autres applications sont presentees : un mecanisme de tolerence aux fautes et un systeme de controle de commandes d'avion.