Projet : COQ

previous up next contents
Précédent : Panorama Remonter : Domaines d'applications Suivant : Certification de compilateurs


Sous-sections


   
Preuves de protocoles

Mots clés : télécommunications, commerce électronique, spécification formelle .

Résumé :

Les réseaux sont des systèmes complexes, ouverts et évolutifs qui offrent des fonctionalités évoluées pilotées par des logiciels. Il devient essentiel de garantir la qualité de service ainsi que la sécurité des transactions, ce qui nécessite une modélisation formelle des problèmes.

Les protocoles sont des programmes critiques

Les protocoles sont des programmes traitant les communications. Bien que leur taille soit souvent réduite, leur complexité est grande. En effet, ils sont amenés à fonctionner dans des milieux perturbés dont la modélisation précise n'est pas aisée. Au-dessus des protocoles sont construits de nombreux autres logiciels; d'où la nécessité d'une spécification rigoureuse des protocoles qui seront souvent régis par une norme.

De nombreux services utilisent les réseaux télématiques tels qu'Internet ou les téléphones mobiles. Il faut donc concevoir de nouveaux protocoles offrant de plus en plus de fonctionnalités et garantissant la qualité de service. Le commerce électronique ou la téléphonie mobile imposent que ces services garantissent la confidentialité des informations échangées.

Utilité des preuves formelles

Même si les méthodes formelles sont encore peu utilisées par les opérateurs, leur besoin se fait de plus en plus ressentir. En effet, une description des fonctionnalités du protocole et une justification de son bon fonctionnement sont nécessaires pour satisfaire aux exigences de la certification et obtenir ainsi l'autorisation d'utilisation ou bien la normalisation d'un protocole. De plus, les protocoles évoluent très vite, on ne peut donc juste se reposer sur la non-découverte d'erreurs lors de tests ou d'une utilisation massive pour valider complètement un protocole.

Prouver un protocole est une tâche difficile, cependant la preuve ne variera en général pas beaucoup entre deux protocoles d'une même famille, il pourra être plus économique de revérifier un protocole après une modification que de rejouer à partir de zéro un jeu de tests. De plus les preuves apportent une connaissance approfondie des algorithmes et peuvent souvent être une aide précieuse pour concevoir de nouvelles méthodes.

Mécanisation des preuves

Les preuves peuvent être faites de manière automatique lorsque les problèmes se ramènent à des modélisations finies de taille raisonnable. Cette contrainte nécessite souvent d'abstraire le problème réel. Les assistants à la démonstration tels que Coq permettent de formaliser un problème arbitrairement compliqué et de le résoudre en utilisant des étapes élémentaires correspondant au raisonnement mathématique usuel. Coq apparaît alors comme l'outil du spécialiste lui permettant de spécifier formellement un protocole et d'en justifier le bon fonctionnement. Outre l'assurance de la correction d'un protocole, Coq permettra de faire évoluer la preuve en même temps que le protocole et fournira les éléments nécessaires au processus de normalisation ou de certification. Coq est actuellement utilisé dans ce sens pour des preuves de protocoles de commerce électronique dans l'action VIP de Dyade et pour des preuves d'algorithmes intervenant dans les protocoles du réseau ATM au CNET.



previous up next contents
Précédent : Panorama Remonter : Domaines d'applications Suivant : Certification de compilateurs