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

FIG. 1 Module de stockage en position horizontale ; positionnement des jauges de déformation.

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

SOCIÉTÉ LINNÉENNE DE LYO N FONDEE EN 182 2

Cours de Systèmes d Exploitation

Vers l'ordinateur quantique

ÉQUIPEMENTS ATEX OUTILLAGE ANTI-ÉTINCELLES

Espaces probabilisés

McAfee Firewall Enterprise, Multi Firewall Edition

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