Introduction à la modélisation et à la vérication p. 1/8



Documents pareils
STI2D Logique binaire SIN. L' Algèbre de BOOLE

LANGAGES - GRAMMAIRES - AUTOMATES

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

Notes de révision : Automates et langages

/HVV\VWqPHVFRPELQDWRLUHV

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

Théorème de Poincaré - Formule de Green-Riemann

Chapitre 2 Le problème de l unicité des solutions

Chapitre 11 : L inductance

Influence du milieu d étude sur l activité (suite) Inhibition et activation

ANALYSE NUMERIQUE NON-LINEAIRE

Guide d'utilisation Easy Interactive Tools Ver. 2

Synthèse de cours (Terminale S) Calcul intégral

Toyota Assurances Toujours la meilleure solution

Sommaire. 6. Tableau récapitulatif Sophos NAC intégré Vs. NAC Advanced - 17 Février

Pour développer votre entreprise. Compta LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

Algorithmes sur les mots (séquences)

semestre 3 des Licences MISM annnée universitaire

Tout ce qu il faut savoir en math

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

3- Les taux d'intérêt

Techniques d analyse de circuits

Guide des bonnes pratiques

LOGICIEL FONCTIONNEL EMC VNX

Turbine hydraulique Girard simplifiée pour faibles et très faibles puissances

Statuts ASF Association Suisse Feldenkrais

Chapitre VI Contraintes holonomiques

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

Model checking temporisé

Séquence 8. Probabilité : lois à densité. Sommaire

Licence M.A.S.S. Cours d Analyse S4

Cours d Analyse IV Suites et Séries de fonctions


Commencer DCP-7055W / DCP-7057W /

Guide de l'utilisateur

Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure

Conseils et astuces pour les structures de base de la Ligne D30

ManSafe. pour les Utilitiés. La Protection antichute pour les Industries de l'energie. Français. TowerLatch LadderLatch

Module 2 : Déterminant d une matrice

Magister en : Génie Mécanique

- Phénoméne aérospatial non identifié ( 0.V.N.I )

Partie 4 : La monnaie et l'inflation

Chapitre 1 : Fonctions analytiques - introduction

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

Transfert. Logistique. Stockage. Archivage

AUTOUR D UN MÉMOIRE INÉDIT : LA CONTRIBUTION D HERMITE AU DÉVELOPPEMENT DE LA THÉORIE DES FONCTIONS ELLIPTIQUES. Bruno BELHOSTE (*)

Solutions IHM. Gammes Graphite et G3 Outils pour l'usine connectée

INFORMATIONS TECHNIQUES

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

INSTALLATION DE DETECTION INCENDIE

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

SYSTEME DE TELEPHONIE

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Réalisation de sites Internet PME & Grandes entreprises Offre Premium. Etude du projet. Webdesign. Intégration HTML. Développement.

Modification simultanée de plusieurs caractéristiques d un bien hédonique : une nouvelle méthode de calcul de la variation de bien-être des ménages

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

Le canal étroit du crédit : une analyse critique des fondements théoriques

Baccalauréat S Asie 19 juin 2014 Corrigé

Bloc notes. a À faire tout de suite. Gardez secret votre code confidentiel. À conserver précieusement. Protégez votre carte

NEWS PRO ACTIV. [Juillet 2015] Ce mois-ci on vous parle de. L arrêté est applicable à compter du 1er Juillet 2015.

Livret de l étudiant

Directives COV et alternative lipochimique : peintures, encres, nettoyage, dégraissage...

Compte rendu de la validation d'un observateur cascade pour la MAS sans capteurs mécaniques sur la plate-forme d'essai de l'irccyn

INSTRUCTIONS POUR L INSTALLATION ET LE FONCTIONNEMENT DES SERRURES À POIGNÉE BÉQUILLE

La pratique institutionnelle «à plusieurs»

L EUROPE ET L EAU. «Quelle idée d appeler cette planète Terre alors qu elle est clairement océan». Arthur C. Clarke.

Du 12 au 23 novembre 2012 Les acteurs Oséades


Santé et sécurité psychologiques en milieu de travail

McAfee Firewall Enterprise Control Center

Classeur courtier d assurance. Comment organiser son activité et se préparer à un contrôle

La paye. La comptabilité. Comparez et choisissez votre logiciel. Comparez et choisissez votre logiciel. Paye Bâtiment Paye Agricole 2013

l appareil et vérifier les composants Module tambour-cartouche de toner (pré-installé)

INTENTION LES PROCESSUS MATHÉMATIQUES

l'appareil et vérifiez les composants Cartouches d'encre incluses [x4] CD-ROM d'installation CD-ROM de documentation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Recherche dans un tableau

VIBRATIONS COUPLEES AVEC LE VENT

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Cours de Systèmes d Exploitation

Vers l'ordinateur quantique

ÉQUIPEMENTS ATEX OUTILLAGE ANTI-ÉTINCELLES

Espaces probabilisés

dans Supply Chain sortir ERP commencent à de leur carcan prise de décision en temps réel au niveau des ateliers. La nouvelle génération de solutions

Portiers audio et vidéo ABB-Welcome et ABB-Welcome M

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Élasticité des applications à base de services dans le Cloud

Programmation C++ (débutant)/instructions for, while et do...while

Clients légers IGEL et bureaux virtuels : synergie idéale et coût minimal

Systèmes de plafonds

Ordonnancement temps réel

La réforme des soins de santé mentale en Belgique

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

Transcription:

Introduction à l modélistion et à l vériction Appliction ux systèmes temporisés Ptrici Bouyer LSV CNRS & ENS de Cchn Introduction à l modélistion et à l vériction p. 1/8

Modélistion & Vériction Introduction Introduction à l modélistion et à l vériction p. 2/8

Systèmes informtiques ordinteurs personnels, serveurs systèmes embrqués téléphones mobiles vions fusées Lego Mindstorms utomobiles (X-by-wire)... Introduction à l modélistion et à l vériction p. 3/8

Systèmes informtiques ordinteurs personnels, serveurs systèmes embrqués téléphones mobiles vions fusées Lego Mindstorms utomobiles (X-by-wire)... Deux tendnces: de plus en plus performnts, de plus en plus miniturisés de plus en plus complexes Introduction à l modélistion et à l vériction p. 3/8

Systèmes informtiques ordinteurs personnels, serveurs systèmes embrqués téléphones mobiles vions fusées Lego Mindstorms utomobiles (X-by-wire)... Deux tendnces: de plus en plus performnts, de plus en plus miniturisés de plus en plus complexes Une crctéristique «nouvelle» : systèmes critiques bilité indispensble! Introduction à l modélistion et à l vériction p. 3/8

Quelques bogues célèbres Therc 25, tritement ux ryons X des tumeurs cncéreuses «x Up Edit e Enter» en moins de 8s rdition 125 x l dose normle 6 décès ux Étts-Unis en 1986 erreur logicielle! Introduction à l modélistion et à l vériction p. 4/8

Quelques bogues célèbres Therc 25, tritement ux ryons X des tumeurs cncéreuses «x Up Edit e Enter» en moins de 8s rdition 125 x l dose normle 6 décès ux Étts-Unis en 1986 erreur logicielle! AT&T un ptch non vérié dns le système d'exploittion une erreur dns un switch (en C) le réseu téléphonique de l côte est des Étts-Unis été bloqué pendnt 9h! Introduction à l modélistion et à l vériction p. 4/8

Quelques bogues célèbres Therc 25, tritement ux ryons X des tumeurs cncéreuses «x Up Edit e Enter» en moins de 8s rdition 125 x l dose normle 6 décès ux Étts-Unis en 1986 erreur logicielle! AT&T un ptch non vérié dns le système d'exploittion une erreur dns un switch (en C) le réseu téléphonique de l côte est des Étts-Unis été bloqué pendnt 9h! Le bogue pentium une erreur dns l division ottnte du processeur heureusement, un chercheur en théorie des nombres veillit... 470 millions de $ Introduction à l modélistion et à l vériction p. 4/8

Une solution prmi d'utres Le système vérie-t-il l propriété? Modélistion Introduction à l modélistion et à l vériction p. 5/8

Une solution prmi d'utres Le système vérie-t-il l propriété? Modélistion j= Algorithme de model-checking Introduction à l modélistion et à l vériction p. 5/8

Modélistion & Vériction Modèles Introduction à l modélistion et à l vériction p. 6/8

Que souhite-t-on modéliser? pour les systèmes à étudier des structures de données (les...) des types de données (entiers...) des cnux de communiction des chngements discrets d'étts des chngements continus d'étts pour les propriétés à exprimer des implictions, des connections logiques des successions temporelles(l'ction b lieu près l'ction ) des propriétés d'étts, de chemins des invrinces(l tempérture est toujours inférieure à 28 degrés) l présence d'un étt bloqunt Introduction à l modélistion et à l vériction p. 7/8

Quels modèles? (1) pour les systèmes à nlyser : des systèmes de trnsitions les utomtes nis les utomtes à pile les utomtes à compteur les utomtes temporisés les utomtes hybrides les réseux de Petri les messge sequence chrts les lgèbres de processus... Introduction à l modélistion et à l vériction p. 8/8

Quelques exemples Le digicode : * 5 5 4 0 Porte ouverte * 5 * Introduction à l modélistion et à l vériction p. 9/8

Quelques exemples Le digicode : * 5 5 4 0 Porte ouverte * 5 Un distributeur * nb_j=4 nb_j++ nb_b > 0, donner_boisson, nb_b-- nb_b = 0, nb_j:=0 rendre_monnie Introduction à l modélistion et à l vériction p. 9/8

Composition de systèmes Synchronistion binire signl! signl? Introduction à l modélistion et à l vériction p. 10/8

Composition de systèmes Synchronistion binire signl! signl? Introduction à l modélistion et à l vériction p. 10/8

Composition de systèmes Synchronistion binire signl! signl? Introduction à l modélistion et à l vériction p. 10/8

Composition de systèmes Synchronistion binire signl! signl? Introduction à l modélistion et à l vériction p. 10/8

Composition de systèmes Synchronistion binire signl! signl? Exemple : entrée dns un bâtiment de l'ens psser_crte! psser_crte? fermée ouverte referme Introduction à l modélistion et à l vériction p. 10/8

Quels modèles? (2) pour les spécictions : des lngges logiques (ex : logique temporelle) Formules de chemin : G «Toujours» F «Un jour» U «Jusqu'à» X «Dns l'étt d'près» Formules d'étts : A E [Pnueli 1977] Introduction à l modélistion et à l vériction p. 11/8

Quelques exemples Il est possible d'tteindre l'étt critique. Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. AG((:section_critique_1) (:section_critique_2)) Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. AG((:section_critique_1) (:section_critique_2)) Le distributeur de billets ne donne ps d'rgent tnt que le code n'est ps correct. Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. AG((:section_critique_1) (:section_critique_2)) Le distributeur de billets ne donne ps d'rgent tnt que le code n'est ps correct. A((:donne_rgent)U(code_correct)) Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. AG((:section_critique_1) (:section_critique_2)) Le distributeur de billets ne donne ps d'rgent tnt que le code n'est ps correct. A((:donne_rgent)U(code_correct)) Si l'scenseur est ppelé u 6 ème étge, lors il s'y rrêter. Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. AG((:section_critique_1) (:section_critique_2)) Le distributeur de billets ne donne ps d'rgent tnt que le code n'est ps correct. A((:donne_rgent)U(code_correct)) Si l'scenseur est ppelé u 6 ème étge, lors il s'y rrêter. AG(ppel_6 (AF rrêt_6)) Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. AG((:section_critique_1) (:section_critique_2)) Le distributeur de billets ne donne ps d'rgent tnt que le code n'est ps correct. A((:donne_rgent)U(code_correct)) Si l'scenseur est ppelé u 6 ème étge, lors il s'y rrêter. AG(ppel_6 (AF rrêt_6)) L brrière du pssge à niveu est ouverte inniment souvent. Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples Il est possible d'tteindre l'étt critique. EF(étt_critique) Deux processus ne peuvent ps être simultnément en section critique. AG((:section_critique_1) (:section_critique_2)) Le distributeur de billets ne donne ps d'rgent tnt que le code n'est ps correct. A((:donne_rgent)U(code_correct)) Si l'scenseur est ppelé u 6 ème étge, lors il s'y rrêter. AG(ppel_6 (AF rrêt_6)) L brrière du pssge à niveu est ouverte inniment souvent. AG AF(brrière_ouverte) Introduction à l modélistion et à l vériction p. 12/8

Quelques exemples (suite) Après l pluie, le beu temps. Introduction à l modélistion et à l vériction p. 13/8

Quelques exemples (suite) Après l pluie, le beu temps. G(pluie F beu_temps) Introduction à l modélistion et à l vériction p. 13/8

Quelques exemples (suite) Après l pluie, le beu temps. G(pluie F beu_temps) C'est en forgent qu'on devient forgeron. Introduction à l modélistion et à l vériction p. 13/8

Quelques exemples (suite) Après l pluie, le beu temps. G(pluie F beu_temps) C'est en forgent qu'on devient forgeron. (F forgeron) (forger U forgeron) Introduction à l modélistion et à l vériction p. 13/8

Quelques exemples (suite) Après l pluie, le beu temps. G(pluie F beu_temps) C'est en forgent qu'on devient forgeron. (F forgeron) (forger U forgeron) Qui veut ller loin ménge s monture. Introduction à l modélistion et à l vériction p. 13/8

Quelques exemples (suite) Après l pluie, le beu temps. G(pluie F beu_temps) C'est en forgent qu'on devient forgeron. (F forgeron) (forger U forgeron) Qui veut ller loin ménge s monture. G((F ller_loin) ménger_monture) Introduction à l modélistion et à l vériction p. 13/8

Quelques exemples (suite) Après l pluie, le beu temps. G(pluie F beu_temps) C'est en forgent qu'on devient forgeron. (F forgeron) (forger U forgeron) Qui veut ller loin ménge s monture. G((F ller_loin) ménger_monture) Tel qui rit vendredi, dimnche pleurer. Introduction à l modélistion et à l vériction p. 13/8

Quelques exemples (suite) Après l pluie, le beu temps. G(pluie F beu_temps) C'est en forgent qu'on devient forgeron. (F forgeron) (forger U forgeron) Qui veut ller loin ménge s monture. G((F ller_loin) ménger_monture) Tel qui rit vendredi, dimnche pleurer. G((rire vendredi) (:dimnche U (dimnche pleurer))) Introduction à l modélistion et à l vériction p. 13/8

Comment choisir les modèles? Compromis expressivité / fcilité d'nlyse Expressivité : représenter de nombreux systèmes les représenter succinctement Fcilité d'nlyse : méthodes efcces... Introduction à l modélistion et à l vériction p. 14/8

Comment choisir les modèles? Compromis expressivité / fcilité d'nlyse Expressivité : représenter de nombreux systèmes les représenter succinctement Fcilité d'nlyse : méthodes efcces...... si elles existent Introduction à l modélistion et à l vériction p. 14/8

( Introduction à l modélistion et à l vériction p. 15/8

Décidbilité? «Dénition» : un problème est dit décidble s'il existe un lgorithme pour le résoudre. Propriété : il existe des problèmes non décidbles Exemple : un progrmme termine-t-il? [Arrêt_progrmme] première réponse : on le lnce et on regrde s'il s'rrête bof, ps très stisfisnt : on ttend combien de temps? considérons le progrmme suivnt : Progrm P { Si P s rrête, lors boucler sinon s rrêter } Introduction à l modélistion et à l vériction p. 16/8

Décidbilité? Progrm P { Si P s rrête, lors boucler sinon s rrêter } Si le problème «Arrêt_progrmme» est décidble, lors : si P s'rrête, lors P boucle si P boucle, lors P s'rrête Remrque : il y même «plus» de problèmes non décidbles que de problèmes décidbles. Introduction à l modélistion et à l vériction p. 17/8

Un problème indécidble utile L mchine à deux compteurs, ou mchine de Minsky. ensemble ni d'instructions sur deux compteurs, x et y, du type suivnt : Incrémenttion : (p): x := x+1; goto (q) Décrémenttion : (p): if x > 0 then x := x 1; goto (q) else goto (r) Instruction spécile «Arrêt» Théorème [Minsky 67]. L'rrêt d'une mchine à deux compteurs est indécidble. Introduction à l modélistion et à l vériction p. 18/8

Notion de réduction Soient P1 et P2 deux problèmes à résoudre. Supposons que l'on it : Algo(P1) { Quelques clculs; Algo(P2); Quelques clculs; } Si P1 est indécidble, lors P2 ussi est indécidble. P1 été réduit à P2 Introduction à l modélistion et à l vériction p. 19/8

) Introduction à l modélistion et à l vériction p. 20/8

Modélistion & Vériction Anlyse des systèmes Introduction à l modélistion et à l vériction p. 21/8

Un exemple simple Considérons l formule = G( XF) «Toujours, si est vri, lors plus trd, il y ur un» Idée : exprimer : à l'ide d'un utomte, B : vri : Propriété : si A est un utomte ni, A vérie (équiv. tout chemin de A vérie ) ssi A B: n'ccepte ucun mot Introduction à l modélistion et à l vériction p. 22/8

Un exemple simple (suite) L'utomte suivnt vérie-t-il? :;: :;: ; :;: Introduction à l modélistion et à l vériction p. 23/8

Un exemple simple (suite) L'utomte suivnt vérie-t-il? :;: :;: ; :;: vri : Introduction à l modélistion et à l vériction p. 23/8

Un exemple simple (suite) L'utomte suivnt vérie-t-il? :;: :;: :;: ; :;: ; :;: :;: vri : Introduction à l modélistion et à l vériction p. 23/8

Ce n'est ps toujours si simple... Le problème élémentire est le clcul du Post*, i.e. tous les étts ccessibles à prtir de l'étt initil. On veut clculer tous les étts s n tels que s 0 s1 s2 sn (équivlent à s0 sn ) si s 0 est l'étt initil. Introduction à l modélistion et à l vériction p. 24/8

Ce n'est ps toujours si simple... Le problème élémentire est le clcul du Post*, i.e. tous les étts ccessibles à prtir de l'étt initil. On veut clculer tous les étts s n tels que s 0 s1 s2 sn (équivlent à s0 sn ) si s 0 est l'étt initil. Problèmes potentiels : les systèmes souffrent d'une explosion combintoire l'ensemble des étts ccessibles est (très souvent) inni Introduction à l modélistion et à l vériction p. 24/8

Ce n'est ps toujours si simple... Le problème élémentire est le clcul du Post*, i.e. tous les étts ccessibles à prtir de l'étt initil. On veut clculer tous les étts s n tels que s 0 s1 s2 sn (équivlent à s0 sn ) si s 0 est l'étt initil. Problèmes potentiels : les systèmes souffrent d'une explosion combintoire l'ensemble des étts ccessibles est (très souvent) inni Conséquences : sur l décidbilité sur l complexité Introduction à l modélistion et à l vériction p. 24/8

Problème de l'explosion combintoire c 4 3 b 1 2,4,3 b,4 b,3 c,4 c,3,1,2 b,1 b,2 c,1 c,2 tille du produit exponentielle en le nombre de composnts Introduction à l modélistion et à l vériction p. 25/8

Un simulteur de trin 1421 mchines 11102 trnsitions 3204 étts locux 10 476 étts dns le produit synchronisé Introduction à l modélistion et à l vériction p. 26/8

Un simulteur de trin 1421 mchines 11102 trnsitions 3204 étts locux 10 476 étts dns le produit synchronisé Y -t-il un bogue? Introduction à l modélistion et à l vériction p. 26/8

Solution : visulistion? Outil de visulistion de gros grphes, exemple de l norme IEEE1394 http://www.win.tue.nl/ fvhm/fsm/ Introduction à l modélistion et à l vériction p. 27/8

Solution : visulistion? Outil de visulistion de gros grphes, exemple de l norme IEEE1394 http://www.win.tue.nl/ fvhm/fsm/ intéressnt sns doute ps sufsnt Introduction à l modélistion et à l vériction p. 27/8

Solution : visulistion? Outil de visulistion de gros grphes, exemple de l norme IEEE1394 http://www.win.tue.nl/ fvhm/fsm/ intéressnt sns doute ps sufsnt L'explosion combintoire est un spect qu'il ne fudr ps négliger. Introduction à l modélistion et à l vériction p. 27/8

L'inni... s 0 y := 0 x := x+1 x := x+1 y := y 2 s 2 s 1 x := 0 x := x 1 y := y+3 Introduction à l modélistion et à l vériction p. 28/8

L'inni... s 0 y := 0 x := x+1 x := x+1 y := y 2 s 2 s 1 x := 0 x := x 1 y := y+3 Une innité de congurtions est ccessible à prtir de s 0, pr exemple : (s 0 ;(0;0)) (s1 ;(1;0)) (s1 ;(0; 3)) (s1 ;( 1;6)) (s1 ;( 2;9))::: Introduction à l modélistion et à l vériction p. 28/8

L'inni... s 0 y := 0 x := x+1 x := x+1 y := y 2 s 2 s 1 x := 0 x := x 1 y := y+3 Une innité de congurtions est ccessible à prtir de s 0, pr exemple : (s 0 ;(0;0)) (s1 ;(1;0)) (s1 ;(0; 3)) (s1 ;( 1;6)) (s1 ;( 2;9))::: On peut cependnt se psser de l'inni : Post*(s 0 ;(0;0)) = s 0 ((0;0)+(1,0)*) s1 (f(1;0);(0;3)g+f(1;0);(0;3)g*) s2 (f(0;0);(1;1);(2;2)g+f(3;0);(0;3)g*) Introduction à l modélistion et à l vériction p. 28/8

représenté pr une expression rtionnelle () Représenttions symboliques Ensemble inni / Représenttion nie dns le pln, une droite représentée pr deux points ensemble de mots,,... ensemble d'entiers, représenttion pr semi-linéires cf exemple précédent ensemble de contrintes, polyèdres Introduction à l modélistion et à l vériction p. 29/8

Une technique : l'ccélértion Idée : clculer en une étpe plusieurs (voire une innité d')étpes élémentires de Post* Exemple simple : Au lieu de clculer x := x+1 x = 0 x:=x+1 x = 1 x:=x+1 x = 2 x:=x+1 x = 3 x := 0 on clcule en une seule étpe x = 0 x:=x+1 x Introduction à l modélistion et à l vériction p. 30/8

Une technique : l'ccélértion Système producteur/consommteur Vribles entières : i, b, o1, o2 Condition initile : i = 10, b=o1=o2=0 ew : si i>0 lors i:=i-1 et b:=b+1 er1 : si b>0 lors o1:=o1+1 et b:=b-1 er2 : si b>0 lors o2:=o2+1 et b:=b-1 S 0 ew * S 1 er1 ew * S 2 er2 ew * S 3 vec S 1 = f10 = i+b et o1 = o2 = 0g S 2 = f10 = i+b+o1 et o2 = 0g S 3 = f10 = i+b+o1+o2g Donc Post*(S 0 ) = S 3! [Finkel,Leroux 2002] Introduction à l modélistion et à l vériction p. 31/8

Une technique : l'bstrction Idée : «simplier» le modèle M en (M) [Cousot,Cousot 1977] Introduction à l modélistion et à l vériction p. 32/8

Une technique : l'bstrction Idée : «simplier» le modèle M en (M) [propriété de correction] si (M) vérie l propriété xée, lors M l vérie ussi [Cousot,Cousot 1977] Introduction à l modélistion et à l vériction p. 32/8

Une technique : l'bstrction Idée : «simplier» le modèle M en (M) [propriété de correction] si (M) vérie l propriété xée, lors M l vérie ussi [propriété de complétude] si (M) ne vérie ps l propriété xée, lors M ne l vérie ps [Cousot,Cousot 1977] Introduction à l modélistion et à l vériction p. 32/8

Une technique : l'bstrction Idée : «simplier» le modèle M en (M) [propriété de correction] si (M) vérie l propriété xée, lors M l vérie ussi [propriété de complétude] si (M) ne vérie ps l propriété xée, lors M ne l vérie ps bien choisir les prties du modèle que l'on bstrit [Cousot,Cousot 1977] Introduction à l modélistion et à l vériction p. 32/8

Un exemple d'bstrction correcte Introduction à l modélistion et à l vériction p. 33/8

Un exemple d'bstrction correcte Introduction à l modélistion et à l vériction p. 33/8

Un exemple d'bstrction correcte Introduction à l modélistion et à l vériction p. 33/8

Un exemple d'bstrction non correcte Introduction à l modélistion et à l vériction p. 34/8

Un exemple d'bstrction non correcte Introduction à l modélistion et à l vériction p. 34/8

Un exemple d'bstrction non correcte Problème! Introduction à l modélistion et à l vériction p. 34/8

Autres exemples en théorie des lngges Déterministion : Introduction à l modélistion et à l vériction p. 35/8

Autres exemples en théorie des lngges Déterministion : correcte pour des propriétés telles que l'ccessibilité, les lngges cceptés Introduction à l modélistion et à l vériction p. 35/8

Autres exemples en théorie des lngges Déterministion : correcte pour des propriétés telles que l'ccessibilité, les lngges cceptés non correcte pour des propriétés telles que l longueur du plus petit cycle, pour des propriétés de blocge... Introduction à l modélistion et à l vériction p. 35/8

Autres exemples en théorie des lngges Déterministion : correcte pour des propriétés telles que l'ccessibilité, les lngges cceptés non correcte pour des propriétés telles que l longueur du plus petit cycle, pour des propriétés de blocge... Minimistion : Introduction à l modélistion et à l vériction p. 35/8

Autres exemples en théorie des lngges Déterministion : correcte pour des propriétés telles que l'ccessibilité, les lngges cceptés non correcte pour des propriétés telles que l longueur du plus petit cycle, pour des propriétés de blocge... Minimistion : correcte pour des propriétés telles que l'ccessibilité, etc... Introduction à l modélistion et à l vériction p. 35/8

Autres exemples en théorie des lngges Déterministion : correcte pour des propriétés telles que l'ccessibilité, les lngges cceptés non correcte pour des propriétés telles que l longueur du plus petit cycle, pour des propriétés de blocge... Minimistion : correcte pour des propriétés telles que l'ccessibilité, etc... non correcte pour des propriétés de plus courts chemins, de blocge... Introduction à l modélistion et à l vériction p. 35/8

Exercice Exercice : Peut-on bstrire (de mnière effective) des utomtes communicnts en remplçnt les cnux de communiction pr des cnux bornés tout en restnt correct pour les propriétés d'ccessibilité? Introduction à l modélistion et à l vériction p. 36/8

Exercice Exercice : Peut-on bstrire (de mnière effective) des utomtes communicnts en remplçnt les cnux de communiction pr des cnux bornés tout en restnt correct pour les propriétés d'ccessibilité? 1. utomtes communicnts bstrction utomtes à compteurs écrire dns le cnl c c := c+1 lire dns le cnl c si c > 0 lors c := c 1 Introduction à l modélistion et à l vériction p. 36/8

Exercice Exercice : Peut-on bstrire (de mnière effective) des utomtes communicnts en remplçnt les cnux de communiction pr des cnux bornés tout en restnt correct pour les propriétés d'ccessibilité? 1. utomtes communicnts bstrction utomtes à compteurs écrire dns le cnl c c := c+1 lire dns le cnl c si c > 0 lors c := c 1 L'bstrction est complète pour les propriétés d'ccessibilité! Introduction à l modélistion et à l vériction p. 36/8

Exercice Exercice : Peut-on bstrire (de mnière effective) des utomtes communicnts en remplçnt les cnux de communiction pr des cnux bornés tout en restnt correct pour les propriétés d'ccessibilité? 1. utomtes communicnts bstrction utomtes à compteurs écrire dns le cnl c c := c+1 lire dns le cnl c si c > 0 lors c := c 1 L'bstrction est complète pour les propriétés d'ccessibilité! les utomtes communicnts sont indécidbles Introduction à l modélistion et à l vériction p. 36/8

Exercice Exercice : Peut-on bstrire (de mnière effective) des utomtes communicnts en remplçnt les cnux de communiction pr des cnux bornés tout en restnt correct pour les propriétés d'ccessibilité? 1. utomtes communicnts bstrction utomtes à compteurs écrire dns le cnl c c := c+1 lire dns le cnl c si c > 0 lors c := c 1 L'bstrction est complète pour les propriétés d'ccessibilité! les utomtes communicnts sont indécidbles 2. utomtes vec cnux bornés = utomtes nis Introduction à l modélistion et à l vériction p. 36/8

Exercice Exercice : Peut-on bstrire (de mnière effective) des utomtes communicnts en remplçnt les cnux de communiction pr des cnux bornés tout en restnt correct pour les propriétés d'ccessibilité? 1. utomtes communicnts bstrction utomtes à compteurs écrire dns le cnl c c := c+1 lire dns le cnl c si c > 0 lors c := c 1 L'bstrction est complète pour les propriétés d'ccessibilité! les utomtes communicnts sont indécidbles 2. utomtes vec cnux bornés = utomtes nis il ne peut ps y voir d'bstrction correcte (pour l'ccessibilité) bornnt l tille des cnux de communiction Introduction à l modélistion et à l vériction p. 36/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 37/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 37/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 37/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 37/8

Une technique : l'bstrction pr prédicts bstrction trop grossière Introduction à l modélistion et à l vériction p. 37/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 38/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 38/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 38/8

Une technique : l'bstrction pr prédicts Introduction à l modélistion et à l vériction p. 38/8

Une technique : l'bstrction pr prédicts bstrction correcte Introduction à l modélistion et à l vériction p. 38/8

Un exemple, l'bstrction de progrmmes [BLAST Henzinger, Jhl, Mjumdr, Sutre 2002] Introduction à l modélistion et à l vériction p. 39/8

Un exemple, l'bstrction de progrmmes [BLAST Henzinger, Jhl, Mjumdr, Sutre 2002] Introduction à l modélistion et à l vériction p. 39/8

Un exemple, l'bstrction de progrmmes Prédict de déprt : LOCK = 0 ou LOCK = 1 Introduction à l modélistion et à l vériction p. 40/8

Un exemple, l'bstrction de progrmmes Prédict de déprt : LOCK = 0 ou LOCK = 1 Introduction à l modélistion et à l vériction p. 40/8

Un exemple, l'bstrction de progrmmes Prédict de déprt : LOCK = 0 ou LOCK = 1 On peut continuer en rfnnt à l'ide du prédict new = old ou new!= old ps d'erreur Introduction à l modélistion et à l vériction p. 40/8

Un outil : les simultions Ce que l'on souhite : pouvoir comprer des systèmes entre eux, en prticulier système concret / système bstrit Introduction à l modélistion et à l vériction p. 41/8

Un outil : les simultions Ce que l'on souhite : pouvoir comprer des systèmes entre eux, en prticulier système concret / système bstrit Lngges : ok pour les lngges rtionnels, mis quid pour les lngges vec des compteurs, des horloges, etc...? Introduction à l modélistion et à l vériction p. 41/8

Un outil : les simultions Ce que l'on souhite : pouvoir comprer des systèmes entre eux, en prticulier système concret / système bstrit Lngges : ok pour les lngges rtionnels, mis quid pour les lngges vec des compteurs, des horloges, etc...? bof Introduction à l modélistion et à l vériction p. 41/8

Un outil : les simultions Ce que l'on souhite : pouvoir comprer des systèmes entre eux, en prticulier système concret / système bstrit Lngges : ok pour les lngges rtionnels, mis quid pour les lngges vec des compteurs, des horloges, etc...? bof Comprison plus structurelle (équivlence observtionnelle) : une reltion = f( ; )g est une simultion si Introduction à l modélistion et à l vériction p. 41/8

Un outil : les simultions Ce que l'on souhite : pouvoir comprer des systèmes entre eux, en prticulier système concret / système bstrit Lngges : ok pour les lngges rtionnels, mis quid pour les lngges vec des compteurs, des horloges, etc...? bof Comprison plus structurelle (équivlence observtionnelle) : une reltion = f( ; )g est une simultion si Introduction à l modélistion et à l vériction p. 41/8

Un outil : les simultions Ce que l'on souhite : pouvoir comprer des systèmes entre eux, en prticulier système concret / système bstrit Lngges : ok pour les lngges rtionnels, mis quid pour les lngges vec des compteurs, des horloges, etc...? bof Comprison plus structurelle (équivlence observtionnelle) : une reltion = f( ; )g est une simultion si Onditlorsque simule. Introduction à l modélistion et à l vériction p. 41/8

Un outil : les simultions Ce que l'on souhite : pouvoir comprer des systèmes entre eux, en prticulier système concret / système bstrit Lngges : ok pour les lngges rtionnels, mis quid pour les lngges vec des compteurs, des horloges, etc...? bof Comprison plus structurelle (équivlence observtionnelle) : une reltion = f( ; )g est une simultion si Onditlorsque simule. Une reltion est une bisimultion si et 1 sont des simultions. Introduction à l modélistion et à l vériction p. 41/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? c b c b Introduction à l modélistion et à l vériction p. 42/8

Exemples Les systèmes suivnts sont-ils en bisimultion? Si non, qui simule qui? b c c b Introduction à l modélistion et à l vériction p. 42/8

Exemples b b b b b Introduction à l modélistion et à l vériction p. 43/8

Exemples b b b b b Introduction à l modélistion et à l vériction p. 43/8

Exemples b b b b b Exercice : quelle(s) reltion(s) y -t-il entre un utomte et son déterminisé? et entre un utomte et son utomte miniml? Introduction à l modélistion et à l vériction p. 43/8

Exemples b b b b b Exercice : quelle(s) reltion(s) y -t-il entre un utomte et son déterminisé? et entre un utomte et son utomte miniml? le déterminisé simule l'utomte originl le miniml simule l'utomte originl ucun n'est en bisimultion vec l'utomte originl Introduction à l modélistion et à l vériction p. 43/8

Intérêt de l (bi)simultion L bisimultion préserve les propriétés telles que : l'ccessibilité le blocge l vivcité le lngge reconnu... bref, presque tout! L simultion préserve moins de propriétés, pr exemple elle ne préserve ps : le blocge l vivcité Introduction à l modélistion et à l vériction p. 44/8

Systèmes temporisés Introduction à l modélistion et à l vériction p. 45/8

Les systèmes temporisés systèmes dns lesquels le temps joue un rôle primordil Exemple : l'lrme se déclenche moins de 2 minutes près le début de l'incendie Introduction à l modélistion et à l vériction p. 46/8

Les systèmes temporisés systèmes dns lesquels le temps joue un rôle primordil Exemple : l'lrme se déclenche moins de 2 minutes près le début de l'incendie AG (incendie AF<2lrme) Introduction à l modélistion et à l vériction p. 46/8

Les systèmes temporisés systèmes dns lesquels le temps joue un rôle primordil Exemple : l'lrme se déclenche moins de 2 minutes près le début de l'incendie AG (incendie AF<2lrme) AG (incendie x in AF(x < 2 lrme)) Introduction à l modélistion et à l vériction p. 46/8

Les systèmes temporisés systèmes dns lesquels le temps joue un rôle primordil Exemple : l'lrme se déclenche moins de 2 minutes près le début de l'incendie AG (incendie AF<2lrme) AG (incendie x in AF(x < 2 lrme)) mx(x; X []X (incendie x in mx(y;lrme (x < 2 Y Y)))) Introduction à l modélistion et à l vériction p. 46/8

Le digicode Le digicode : * 5 5 4 0 Porte ouverte * 5 * Introduction à l modélistion et à l vériction p. 47/8

Le digicode Le digicode : * 5, x:=0 5, x:=0 4 0, x<5 Porte ouverte * 5, x:=0 * Introduction à l modélistion et à l vériction p. 47/8

Le digicode Le digicode : * 5, x:=0 5, x:=0 4 0, x<5 Porte ouverte * 5, x:=0 * 0; x 5 Introduction à l modélistion et à l vériction p. 47/8

Le cuit-œuf Le cuit-œuf : on souhite fire cuire un œuf dur (donc 5 minutes ) et on ne dispose que d'un sblier de 7 minutes et d'un sblier de 10 minutes. Comment fire? Introduction à l modélistion et à l vériction p. 48/8

Le cuit-œuf Le cuit-œuf : on souhite fire cuire un œuf dur (donc 5 minutes ) et on ne dispose que d'un sblier de 7 minutes et d'un sblier de 10 minutes. Comment fire? x i = m i ; x j := 0; t := 0 x 1 = m 1 ; t = 5 x i = m i ; x j := 0 x 2 = m 2 ; t = 5 x 1 horloge pour le minuteur de 7 minutes (m 1 = 7) x 2 horloge pour le minuteur de 10 minutes (m 2 = 10) t horloge pour mesurer les 5 minutes Introduction à l modélistion et à l vériction p. 48/8

Les venturiers Qutre venturiers souhitent trverser un pont en muvis étt. Ils ne mettent ps tous le même temps à fire l trversée. L'un met 5 minutes, un utre 10 minutes, un utre encore 20 minutes et le dernier met 25 minutes. Question : Peuvent-ils tous trverser le pont en moins de 60 minutes, schnt qu'il fut obligtoirement l torche pour trverser et que le pont ne peut ps supporter le poids de plus de deux personnes en même temps. Introduction à l modélistion et à l vériction p. 49/8

Les venturiers Un venturier (t, temps de trversée) : dnger = 0, prend!, y := 0 y t, lâche! y t, lâche! = 1, prend!, y := 0 sécurité Introduction à l modélistion et à l vériction p. 50/8

Les venturiers Un venturier (t, temps de trversée) : dnger = 0, prend!, y := 0 y t, lâche! y t, lâche! = 1, prend!, y := 0 sécurité L torche : prend? lâche?, := 1 prend? lâche? Introduction à l modélistion et à l vériction p. 50/8

Les venturiers Introduction à l modélistion et à l vériction p. 51/8

Le pssge à niveu Un trin Approche!;x i := 0 Avnt, x i < 30 Loin 20 < x i < 30;x i := 0 10 < x i < 20;Sortie! Dedns, x i < 20 Introduction à l modélistion et à l vériction p. 52/8

Le pssge à niveu L brrière Ouverte Ferme?, Hg := 0 Fermeture, Hg < 10 Hg < 10 Hg < 10 Ouverture, Hg < 10 Ouvre?, Hg := 0 Fermée Introduction à l modélistion et à l vériction p. 53/8

Le pssge à niveu Le contrôleur Sortie? Approche? Sorti Sortie?, Hc := 0 Approche? Hc := 0 c 1, Hc 20 c 0 c 2, Hc 10 Hc = 20, Ouvre! Hc 10, Ferme! Approc Introduction à l modélistion et à l vériction p. 54/8

Le pssge à niveu Exemples de propriétés à vérier : L brrière est-elle fermée lorsque le trin est dns le pssge à niveu? Introduction à l modélistion et à l vériction p. 55/8

Le pssge à niveu Exemples de propriétés à vérier : L brrière est-elle fermée lorsque le trin est dns le pssge à niveu? AG(trin:Dedns brrière.fermée) Introduction à l modélistion et à l vériction p. 55/8

Le pssge à niveu Exemples de propriétés à vérier : L brrière est-elle fermée lorsque le trin est dns le pssge à niveu? AG(trin:Dedns brrière.fermée) L brrière reste-t-elle toujours fermée moins de 5 minutes? Introduction à l modélistion et à l vériction p. 55/8

Le pssge à niveu Exemples de propriétés à vérier : L brrière est-elle fermée lorsque le trin est dns le pssge à niveu? AG(trin:Dedns brrière.fermée) L brrière reste-t-elle toujours fermée moins de 5 minutes? :EF(brrière.Fermée (brrière.fermée U>5 min :brrière.fermée)) Introduction à l modélistion et à l vériction p. 55/8

Le modèle des utomtes temporisés x, y : horloges [Alur & Dill - 1990's] grde ction remise à zéro y < 4; ; x := 0 p q c; y := 0 x = 5 x y 2; b p 3:2 q c 5:1 q b 8:2 p ::: vleur de x 0 0 1:9 5 ::: vleur de y 0 3:2 0 3:1 ::: vlution des horloges mot temporisé (; 3:2)(c; 5:1)(b; 8:2)::: Introduction à l modélistion et à l vériction p. 56/8

Quelques constttions une congurtion du système, c'est : un étt de contrôle une vleur pour chque horloge ensemble inni (non discret) de congurtions toutes les vribles vncent à l même vitesse But : construire une bstrction nie, correcte et complète Introduction à l modélistion et à l vériction p. 57/8

L'bstrction des régions y Équivlence d'index ni 2 1 0 1 2 3 x Introduction à l modélistion et à l vériction p. 58/8

L'bstrction des régions y Équivlence d'index ni 2 1 0 1 2 3 x «comptibilité» entre les régions et les contrintes Introduction à l modélistion et à l vériction p. 58/8

L'bstrction des régions y Équivlence d'index ni 2 1 0 1 2 3 x «comptibilité» entre les régions et les contrintes «comptibilité» entre les régions et l'écoulement du temps Introduction à l modélistion et à l vériction p. 58/8

L'bstrction des régions y Équivlence d'index ni 2 1 0 1 2 3 x «comptibilité» entre les régions et les contrintes «comptibilité» entre les régions et l'écoulement du temps Introduction à l modélistion et à l vériction p. 58/8

L'bstrction des régions y Équivlence d'index ni 2 1 0 1 2 3 x «comptibilité» entre les régions et les contrintes «comptibilité» entre les régions et l'écoulement du temps une propriété de bisimultion Introduction à l modélistion et à l vériction p. 58/8

L'bstrction des régions y Équivlence d'index ni 2 1 région dénie pr I x =]1;2[, I y =]0;1[ fxg < fyg 0 1 2 3 x «comptibilité» entre les régions et les contrintes «comptibilité» entre les régions et l'écoulement du temps une propriété de bisimultion Introduction à l modélistion et à l vériction p. 58/8

Quelques remrques Bisimultion fible pour le temps Introduction à l modélistion et à l vériction p. 59/8

Quelques remrques Bisimultion fible pour le temps Introduction à l modélistion et à l vériction p. 59/8

Quelques remrques Bisimultion fible pour le temps d > 0 (d) Introduction à l modélistion et à l vériction p. 59/8

Quelques remrques Bisimultion fible pour le temps d > 0 d > 0 (d) (d ) Introduction à l modélistion et à l vériction p. 59/8

Quelques remrques Bisimultion fible pour le temps d > 0 d > 0 (d) (d ) Exemple du clcul du successeur y 2 1 0 1 2 3 x région dénie pr I x =]1;2[, I y =]0;1[ fxg < fyg région successeur dénie pr I x =]1;2[;I y = f1g Introduction à l modélistion et à l vériction p. 59/8

Quelques remrques Bisimultion fible pour le temps d > 0 d > 0 (d) (d ) Remrque : L bisimultion fible ne permet ps de vérier des propriétés temporisées : nécessité d'introduire de nouvelles horloges. Introduction à l modélistion et à l vériction p. 59/8

L'utomte des régions utomte temporisé bstrction des régions q g;;c:=0 q est trnsformée en : (q;r) (q ;R ) s'il existe R t(r) t.q. Succ R g [C 0]R R! où UNTIME(( 1 ;t 1 )( 2 ;t 2 ):::) = 1 2 :::!(utomte des régions) = UNTIME( (utomte temporisé)) Introduction à l modélistion et à l vériction p. 60/8

Un exemple [AD 90's] y 1 0 1 x Introduction à l modélistion et à l vériction p. 61/8

Résultt fondmentl L'bstrction des régions est correcte vis-à-vis de l'ccessibilité. Le problème de l'ccessibilité est décidble pour le modèle des utomtes temporisés Cependnt, c'est un problème PSPACE-complet. Introduction à l modélistion et à l vériction p. 62/8

Extension des utomtes temporisés On peut imginer : jouter des ctions silencieuses [BDGP98] utoriser plus de types de grdes (pour l'instnt, on ne peut utiliser que y "#x "#c et x c) [BD00] effectuer plus d'opértions sur les horloges [BDFP00] utoriser des vribles un peu étendues pr rpport ux horloges systèmes hybrides [ACHH93,Hen96,HKPV98] Introduction à l modélistion et à l vériction p. 63/8

Pentes 0/1 Si l'on utorise d'rrêter les horloges, l'ccessibilité devient indécidble Introduction à l modélistion et à l vériction p. 64/8

Pentes 0/1 Si l'on utorise d'rrêter les horloges, l'ccessibilité devient indécidble pr réduction d'une mchine à deux compteurs compteur c codé pr deux horloges x c et y c, t.q. c = x c y c Introduction à l modélistion et à l vériction p. 64/8

Pentes 0/1 Si l'on utorise d'rrêter les horloges, l'ccessibilité devient indécidble pr réduction d'une mchine à deux compteurs compteur c codé pr deux horloges x c et y c, t.q. c = x c y c Incrémenttion du compteur c := 0 x c = 1 y c = 0 x d = 0 y d = 0 z = 1; z := 0 Introduction à l modélistion et à l vériction p. 64/8

Pentes 0/1 Si l'on utorise d'rrêter les horloges, l'ccessibilité devient indécidble pr réduction d'une mchine à deux compteurs compteur c codé pr deux horloges x c et y c, t.q. c = x c y c Incrémenttion du compteur c Décrémenttion du compteur c x c = 1 x c = 0 := 0 y c = 0 z = 1; z := 0 z := 0 z = 0 y c = 1 z = 1; z := 0 x d = 0 x c y c > 0 x d = 0 y d = 0 y d = 0 z = 0 x c y c = 0 Introduction à l modélistion et à l vériction p. 64/8

Utiliser des grdes x+y $c x+y %c et x %c [Bérrd,Dufourd 2000] Introduction à l modélistion et à l vériction p. 65/8

Utiliser des grdes x+y $c x+y %c et x %c [Bérrd,Dufourd 2000] Décidbilité : - vec deux horloges, décidble en utilisnt l'bstrction bsée sur les régions y 2 1 0 1 2 x Introduction à l modélistion et à l vériction p. 65/8

Utiliser des grdes x+y $c x+y %c et x %c [Bérrd,Dufourd 2000] Décidbilité : - vec deux horloges, décidble en utilisnt l'bstrction bsée sur les régions y 2 1 0 1 2 x - vec qutre horloges (ou plus), indécidble! preuve pr réduction de l'rrêt d'une mchine à deux compteurs Introduction à l modélistion et à l vériction p. 65/8

Preuve d'indécidbilité c reste inchngé c est incrémenté c cc c cc c ccc d ddd d dd d dd 20 21 22 23 24 25 26 temps d est décrémenté simultion de décrémenttion de d incrémenttion de c On v utiliser qutre horloges : u, horloge qui rythme le temps (chque unité de temps) x 0, x 1, x 2 : horloges références pour les deux compteurs x i référence pour c dernière fois où x i été remise à zéro = dernière fois que l'ction c été fite [Bérrd,Dufourd 2000] Introduction à l modélistion et à l vériction p. 66/8

Preuve d'indécidbilité (suite) Incrément du compteur c: x 0 2; u+x 2 = 1; c; x 2 := 0 x 2 := 0 u = 1; &; u := 0 x 0 > 2; c; x 2 := 0 u+x 2 = 1 réf pour c est x 0 réf pour c est x 2 Décrément du compteur c : x 0 < 2;u+x 2 = 1; c; x 2 := 0 x 2 := 0 u = 1; &; u := 0 x 0 = 2; &; x 2 := 0 u+x 2 = 1 u = 1; x 0 = 2; &; u := 0; x 2 := 0 Introduction à l modélistion et à l vériction p. 67/8

Récpitultif Deux horloges : décidble! y 2 1 0 1 2 x Qutre horloges et plus : indécidble! Introduction à l modélistion et à l vériction p. 68/8

Récpitultif Deux horloges : décidble! y 2 1 0 1 2 x Trois horloges : question ouverte Qutre horloges et plus : indécidble! Introduction à l modélistion et à l vériction p. 68/8

Implémenttion des utomtes temporisés L construction de l'utomte des régions n'est ps utilisée en prtique. explosion combintoire (le nombre de régions est exponentielle en le nombre d'horloges) ps de structures de données réellement dptées Introduction à l modélistion et à l vériction p. 69/8

Implémenttion des utomtes temporisés L construction de l'utomte des régions n'est ps utilisée en prtique. explosion combintoire (le nombre de régions est exponentielle en le nombre d'horloges) ps de structures de données réellement dptées Des lgorithmes de minimistion de l'utomte des régions ont été proposés... [Alur & Co 1992] [Tripkis,Yovine 2001] Introduction à l modélistion et à l vériction p. 69/8

Implémenttion des utomtes temporisés L construction de l'utomte des régions n'est ps utilisée en prtique. explosion combintoire (le nombre de régions est exponentielle en le nombre d'horloges) ps de structures de données réellement dptées Des lgorithmes de minimistion de l'utomte des régions ont été proposés... [Alur & Co 1992] [Tripkis,Yovine 2001]... mis des techniques à l volée sont préférées. Introduction à l modélistion et à l vériction p. 69/8

Anlyse d'ccessibilité nlyse en vnt (Post*) : clculer les successeurs des congurtions initiles I F Introduction à l modélistion et à l vériction p. 70/8

Anlyse d'ccessibilité nlyse en vnt (Post*) : clculer les successeurs des congurtions initiles I F Introduction à l modélistion et à l vériction p. 70/8

Anlyse d'ccessibilité nlyse en vnt (Post*) : clculer les successeurs des congurtions initiles I F nlyse en rrière (Pré*) : clculer les prédécesseurs des congurtions nles I F Introduction à l modélistion et à l vériction p. 70/8

Anlyse d'ccessibilité nlyse en vnt (Post*) : clculer les successeurs des congurtions initiles I F nlyse en rrière (Pré*) : clculer les prédécesseurs des congurtions nles I F Introduction à l modélistion et à l vériction p. 70/8

Anlyse en rrière g; ; C := 0 [C ( (0] 1(Z ' ' )(C = 0)) )g Z Introduction à l modélistion et à l vériction p. 71/8

Anlyse en rrière g; ; C := 0 [C ( (0] 1(Z ' ' )(C = 0)) )g Z Z Introduction à l modélistion et à l vériction p. 71/8

Anlyse en rrière g; ; C := 0 [C ( (0] 1(Z ' ' )(C = 0)) )g Z Z [C *0] 1(Z +(C = 0)) Introduction à l modélistion et à l vériction p. 71/8

Anlyse en rrière g; ; C := 0 [C ( (0] 1(Z ' ' )(C = 0)) )g Z Z [C *0] 1(Z +(C = 0)) Introduction à l modélistion et à l vériction p. 71/8

Anlyse en rrière g; ; C := 0 [C ( (0] 1(Z ' ' )(C = 0)) )g Z Z [C *0] 1(Z +(C = 0)) [C**0] 1 (Z +(C = 0)) +g Introduction à l modélistion et à l vériction p. 71/8

Anlyse en rrière g; ; C := 0 [C ( (0] 1(Z ' ' )(C = 0)) )g Z Z [C *0] 1(Z +(C = 0)) [C**0] 1 (Z +(C = 0)) +g Le clcul exct en rrière termine! Introduction à l modélistion et à l vériction p. 71/8

Anlyse en rrière (suite) Si,est un utomte temporisé, on construit l'ensemble de régions ssocié. Grâce à l propriété de bisimultion, on : Chque ensemble de vlutions clculé pr nlyse en rrière est une union nie de régions Introduction à l modélistion et à l vériction p. 72/8

*R. Anlyse en rrière (suite) Si,est un utomte temporisé, on construit l'ensemble de régions ssocié. Grâce à l propriété de bisimultion, on : Chque ensemble de vlutions clculé pr nlyse en rrière est une union nie de régions Soit R une région. Supposons : v v - ṛeg. v *R (pr ex. v+t Ṟ) Il existe un t t.q. v +t +t ṛeg. v+t, ce qui implique que v Ṟ et donc v - Introduction à l modélistion et à l vériction p. 72/8

Anlyse en rrière (suite) Si,est un utomte temporisé, on construit l'ensemble de régions ssocié. Grâce à l propriété de bisimultion, on : Chque ensemble de vlutions clculé pr nlyse en rrière est une union nie de régions Cependnt, le clcul en rrière ne se prête ps à l'utilistion de vribles entières... 'i := j:k+ :m Introduction à l modélistion et à l vériction p. 72/8

Anlyse en vnt g; ; C := 0 ' ' zones Z [C (0]( )g) Z Une zone est un ensemble de vlutions déni pr une contrinte ::= x %c j x y %c j Introduction à l modélistion et à l vériction p. 73/8

Anlyse en vnt g; ; C := 0 ' ' zones Z [C (0]( )g) Z Z Introduction à l modélistion et à l vériction p. 73/8

ZZ Anlyse en vnt g; ; C := 0 ' ' zones Z [C (0]( )g) Z Introduction à l modélistion et à l vériction p. 73/8

ZZ Anlyse en vnt g; ; C := 0 ' ' zones Z [C (0]( )g) Z )g Z Introduction à l modélistion et à l vériction p. 73/8

ZZ Anlyse en vnt g; ; C := 0 ' ' zones Z [C (0]( )g) Z )g Z [y (0]( )g) Z Introduction à l modélistion et à l vériction p. 73/8

ZZ Anlyse en vnt g; ; C := 0 ' ' zones Z [C (0]( )g) Z )g Z [y (0]( )g) Z un problème de terminison Introduction à l modélistion et à l vériction p. 73/8

Non-terminison de l'nlyse en vnt y := 0, x := 0 x 1 y = 1, y := 0 y 2 1 0 1 2 3 4 5 x une innité d'étpes... Introduction à l modélistion et à l vériction p. 74/8

«Solutions» à ce problème (pr ex. dns [Lrsen,Pettersson,Yi 1997] ou dns [Dws,Tripkis 1998]) test d'inclusion : si Z Z et Z déjà trité, lors on peut ne ps triter Z correct pour l'ccessibilité ::: Introduction à l modélistion et à l vériction p. 75/8

«Solutions» à ce problème (pr ex. dns [Lrsen,Pettersson,Yi 1997] ou dns [Dws,Tripkis 1998]) test d'inclusion : si Z Z et Z déjà trité, lors on peut ne ps triter Z correct pour l'ccessibilité ctivité: éliminer les horloges redondntes [Dws,Yovine 1996] correct pour l'ccessibilité q g;;c:=0 q /Act(q) = horloges(g) 0(Act(q )nc) ::: Introduction à l modélistion et à l vériction p. 75/8

«Solutions» à ce problème (suite) pproximtion pr enveloppe convexe : si Z et Z on surpproxime en prennt «Z1Z». sont clculés, lors semi-correct pour l'ccessibilité Introduction à l modélistion et à l vériction p. 76/8

«Solutions» à ce problème (suite) pproximtion pr enveloppe convexe : si Z et Z on surpproxime en prennt «Z1Z». sont clculés, lors semi-correct pour l'ccessibilité extrpoltion, un opérteur d'élrgissement sur les zones Introduction à l modélistion et à l vériction p. 76/8

L structure de données DBM DBM signie «Difference Bounded Mtrice» [Dill 1989] (x 1 3) (x2 5) (x1 x2 4) x 0 x 1 x 2 x 0 x 1 x 2 +1-3 +1 +1 +1 4 5 +1 +1 Introduction à l modélistion et à l vériction p. 77/8

L structure de données DBM DBM signie «Difference Bounded Mtrice» [Dill 1989] (x 1 3) (x2 5) (x1 x2 4) x 0 x 1 x 2 x 0 x 1 x 2 +1-3 +1 +1 +1 4 5 +1 +1 Existence d'une forme normle 5 2 0-3 0 9 0 4 5 2 0 3 4 9 Introduction à l modélistion et à l vériction p. 77/8

L structure de données DBM DBM signie «Difference Bounded Mtrice» [Dill 1989] (x 1 3) (x2 5) (x1 x2 4) x 0 x 1 x 2 x 0 x 1 x 2 +1-3 +1 +1 +1 4 5 +1 +1 Existence d'une forme normle 5 2 0-3 0 9 0 4 5 2 0 3 4 9 Toutes les opértions sur les zones peuvent être clculées vec les DBMs Introduction à l modélistion et à l vériction p. 77/8

L'opérteur d'extrpoltion Fixons un entier k ( & représente un entier entre k et +k) 2 2 56 34 > k 56 34 < k 2 2 2 2 2 7 :; 89 2 2 +1 56 34 k 2 2 2 2 2 intuitivement, effce toutes les contrintes qui ne jouent ps un rôle primordil ssure l terminison Introduction à l modélistion et à l vériction p. 78/8

L'opérteur d'extrpoltion Fixons un entier k ( & représente un entier entre k et +k) 2 2 56 34 > k 56 34 < k 2 2 2 2 2 7 :; 89 2 2 +1 56 34 k 2 2 2 2 2 intuitivement, effce toutes les contrintes qui ne jouent ps un rôle primordil 2 2 ssure l terminison Introduction à l modélistion et à l vériction p. 78/8

L'opérteur d'extrpoltion Fixons un entier k ( & représente un entier entre k et +k) 2 2 56 34 > k 56 34 < k 2 2 2 2 2 7 :; 89 2 2 +1 56 34 k 2 2 2 2 2 intuitivement, effce toutes les contrintes qui ne jouent ps un rôle primordil 2 2 ssure l terminison Introduction à l modélistion et à l vériction p. 78/8

L'opérteur d'extrpoltion (suite) L'extrpoltion est prfois une bstrction correcte des zones. Conditions : Constnte d'extrpoltion = constnte mx. de l'utomte "# Uniquement utilistion de grdes non digonles x c Problème ouvert : trouver une bstrction correcte vec grdes digonles Introduction à l modélistion et à l vériction p. 79/8

Et en prtique... Depuis 1990... Des outils de vérictions ont été développés UPPAAL (Uppsl, Suède et Alborg, Dnemrk) KRONOS (Grenoble) HYTECH (Berkeley, USA) CMC (Cchn)...et ppliqués vec succès à des études de cs! Exemples : Compréhension du bogue du protocole de Bng-Olufsen Vériction du protocole ABR. Des résultts importnts mis il reste des problèmes... Introduction à l modélistion et à l vériction p. 80/8

Les dés ctuels Les model checkers temporisés : Explosion combintoire Représenttion symbolique problème DBM mixer discret + continu Abstrctions plus rusées Modèles plus dptés Approches probbilistes Synthèse de systèmes Introduction à l modélistion et à l vériction p. 81/8

Pour en svoir plus prtout dns le monde (USA, Dnemrk, Suède, Itlie, Frnce, Belgique, Pys-Bs, Inde, Chine...) u LSV N'hésitez ps à venir nous voir! Introduction à l modélistion et à l vériction p. 82/8

Quelques références [ACHH93] Rjeev Alur, Costs Courcoubetis, Thoms A. Henzinger nd Pei-Hsin Ho. Hybrid Automt: n Algorithmic Approch to Speciction nd Veriction of Hybrid Systems. In Proc. Worksh. Hybrid Systems. VOlume 736 of LNCS, pp. 209-229. 1993. [ACH+92] Rjeev Alur, Costs Courcoubetis, Nicols Hlbwchs, Dvid Dill nd Howrd Wong- Toi. Minimiztion of Timed Trnsition Systems. In Proc. 3rd Int. Conf. Concurrency Theory (CONCUR'92). Volume 630 of LNCS, pp. 340-354. 1992. [AD94] Rjeev Alur nd Dvid Dill. A Theory of Timed Automt. Theoreticl Computer Science (TCS). Volume 126(2), pp.183-235. 1994. [BBF+01] Bétrice Bérrd, Michel Bidoit, Alin Finkel, Frnçois Lroussinie, Antoine Petit, Lure Petrucci nd Philippe Schnoebelen. Model-Checking Techniques nd Tools. Springer, 2001. [BD00] Bétrice Bérrd nd Ctherine Dufourd. Timed Automt with Additive Clock Constrints. Informtion Processing Letters (IPL). Volume 75(1-2), pp.1-7. 2000. [BDGP98] Bétrice Bérrd, Volker Diekert, Pul Gstin nd Antoine Petit. Chrcteriztion of the Expressive Power of Silent Trnsitions in Timed Automt. Fundment Informtice. Volume 36(2-3), pp. 145-182. 1998 Introduction à l modélistion et à l vériction p. 83/8

Quelques références (suite) [BDFP00] Ptrici Bouyer, Ctherine Dufourd, Emmnuel Fleury nd Antoine Petit. Updtble Timed Automt. In Proc. 12th Int. Conf. Computer-Aided Veriction (CAV'00). Volume 1855 of LNCS, pp. 464-479. 2000 [CC77] Ptrick Cousot nd Rdhi Cousot. Abstrct Interprettion: A Unied Lttice Model for Sttic Anlysis of Progrms by Construction or Approximtion of Fixpoints. In Proc. 4th ACM Symp. Principles of Progrmming Lnguges (POPL'77). pp. 238-252. 1977. [Hen96] Thoms A. Henzinger. The Theory of Hybrid Automt. Proc. 11th IEEE Symp. Logic in Computer Science (LICS'96). pp. 278-292. 1996. [HJMS02] Thoms A. Henzinger, Rnjit Jhl, Rupk Mjumdr nd Grégoire Sutre. Lzy Abstrction. In Proc. 29th ACM Symp. Principles of Progrmming Lnguges (POPL'02). ACM Press, 2002. [HKPV98] Thoms A. Henzinger, Peter W. Kopke, Anuj Puri nd Prvin Vriy. Wht's Decidble bout Hybrid Automt? Journl of Computer nd System Sciences. Volume 57(1), pp. 84-124. 1998. [Pnu77] Amir Pnueli. The Temporl Logic of Progrms. In Proc. 18th IEEE Symp. Foundtions of Computer Science (FOCS'77), pp. 46-57. 1977. Introduction à l modélistion et à l vériction p. 84/8

Quelques références (suite) [TY01] Stvros Tripkis nd Sergio Yovine. Anlysis of Timed Systems using Time- Abstrcting Bisimultions. Forml Methods in System Design. Volume 18(1), pp. 25-68. 2001. Introduction à l modélistion et à l vériction p. 85/8