![]()
Précédent : Application de la déduction automatique
Remonter : Preuve Suivant : Vérification formelle à
l'aide de
Dans la lignée du travail réalisé au cours des années précédentes, nous avons continué notre investigation dans le cadre de la vérification formelle des programmes concurrents spécifiés en UNITY. Cette recherche se divise toujours en deux parties :
La première partie concerne le codage de la logique UNITY en COQ. Cette logique a été formalisée suivant le modèle état-transition proposé par Chandy et Misra. Cependant B. Sanders a démontré que la logique d'UNITY avec l'axiome de substitution n'est pas consistante et que sans cet axiome, elle est incomplète. En s'appuyant sur ses travaux, sur ceux de Misra et en collaboration avec Pierre Crégut (CNET-Lannion), nous avons proposé une nouvelle logique UNITY. Cette nouvelle logique introduit la notion d'environnement de programmes et définit de nouveaux opérateurs tenant compte de cet environnement. La complétude et la correction de cette nouvelle logique sont démontrées dans [12] et ces résultats ont été présentés à la conférence TPHOL (Theorem Proving in Higher Order Logic), qui s'est tenue en Finlande en août 1996.
La seconde partie s'intéresse à l'application à divers
exemples de l'outil formel développé. Après des exemples d'école
comme la division euclidienne ou le problème des
lecteurs/rédacteurs, la vérification d'un contrôleur d'ascenseur
a été abordée. Cet exemple étant déjà démontré en HOL-UNITY, l'intérêt de l'exercice a été de
déterminer la méthodologie des preuves mais aussi d'en améliorer
l'automatisation par la création de tactiques. De plus, voulant
mettre à profit la notion d'environnement et les nouveaux
opérateurs de la logique, l'expérience s'est prolongée pour la
composition de deux ascenseurs. Par ailleurs, nous avons étudié
avec P. Crégut la vérification formelle d'un protocole
développé au CNET, l'ABT/DT ATM Block
Transfert/Delayed Transmission, et nous avons participé à
l'élaboration de la spécification du protocole.
L'article [11], présenté à
la conférence ICNP (International Conference Network
Protocol), qui s'est tenue aux États-Unis du 29 octobre au 1
novembre 1996, donne
les points importants de ce protocole. Ce protocole est en cours
de normalisation à l'UIT-T (Union Internationale des
Télécommunications, secteur des Télécommunications, ex Comité
Consultatif International pour le Télégraphe et le Téléphone). Le
codage du protocole dans l'outil formel étant achevé, la
démonstration des propriétés est en cours.