Modélisation et vérification



Documents pareils
1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Model checking temporisé

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Représentation d un entier en base b

Algorithmique des Systèmes Répartis Protocoles de Communications

Conception des systèmes répartis

STAGE IREM 0- Premiers pas en Python

TP 1. Prise en main du langage Python

Recherche dans un tableau

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Cours de Systèmes d Exploitation

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

L ALGORITHMIQUE. Algorithme

Problèmes liés à la concurrence

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Cours d Analyse. Fonctions de plusieurs variables

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

LES TYPES DE DONNÉES DU LANGAGE PASCAL

1S Modèles de rédaction Enoncés

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Définitions. Numéro à préciser. (Durée : )

Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

nexus Timestamp Server

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

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Algorithme. Table des matières

Cours 1 : La compilation

Cours Informatique Master STEP

Algorithmique répartie

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"


1 Mesure de la performance d un système temps réel : la gigue

Introduction à la programmation concurrente

Chapitre 4 : Exclusion mutuelle

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Introduction à MATLAB R

Structures algébriques

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Introduction à la théorie des graphes. Solutions des exercices

Corrigé des TD 1 à 5

OCL - Object Constraint Language

Les chaînes de caractères

Représentation géométrique d un nombre complexe

Exprimer ce coefficient de proportionnalité sous forme de pourcentage : 3,5 %

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Algorithmique et Programmation Fonctionnelle

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Algorithmes récursifs

Cryptographie et fonctions à sens unique

Géométrie dans l espace Produit scalaire et équations

Plateforme PAYZEN. Définition de Web-services

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Examen Médian - 1 heure 30

REALISATION d'un. ORDONNANCEUR à ECHEANCES

V- Manipulations de nombres en binaire

5 ème Chapitre 4 Triangles

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

Guide de l utilisateur. Synchronisation de l Active Directory

Programmation Par Contraintes

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES


Initiation à l algorithmique

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Guide d utilisation de PayPal e-terminal. Informations à usage professionnel uniquement

Programmation linéaire

Algorithmique et Programmation, IMA

Logiciel de Base. I. Représentation des nombres

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

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Cours d algorithmique pour la classe de 2nde

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Génie Logiciel avec Ada. 4 février 2013

Les processus légers : threads. Système L3, /31

«Aucune investigation humaine ne peut être qualifiée de science véritable si elle ne peut être démontrée mathématiquement.

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Vérification de programmes et de preuves Première partie. décrire des algorithmes

Gestion des transactions et accès concurrents dans les bases de données relationnelles

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

Vecteurs. I Translation. 1. Définition :

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Modélisation et Simulation

Programmes des classes préparatoires aux Grandes Ecoles

UML et les Bases de Données

Famille continue de courbes terminales du spiral réglant pouvant être construites par points et par tangentes

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

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

D31: Protocoles Cryptographiques

Méthodes de quadrature. Polytech Paris-UPMC. - p. 1/48

Programmation Web. Madalina Croitoru IUT Montpellier

Les Conditions aux limites

as Architecture des Systèmes d Information

Angles orientés et trigonométrie

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Baccalauréat S Nombres complexes Index des exercices sur les complexes de septembre 1999 à juin 2012 Tapuscrit : DENIS VERGÈS

Transcription:

Modélisation et vérification Yohan Boichut (inspiré du cours de John Mullins, Ecole polytechnique de Montréal) Cours Master IRAD Semestre 3 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 1 / 69

Outline 1 Introduction 2 Quelques petits exemples 3 Systèmes de transitions 4 Logiques des systèmes concurrents 5 Model-Checking LTL 6 End of story... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 2 / 69

Motivations Conception de systèmes fiables Industrie des technologies de plus en plus tournées vers outils de spécification et vérification (Siemens, Thomson, Intel,... ) Besoin de compétences pour savoir utiliser et raisonner dans un tel contexte Spécifier pour vérifier Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 3 / 69

Modélisation et vérification Abstraction du système concret et simulation de ce modèle Modélisation de systèmes : automates (systèmes de transitions) Simulation du modèle : langages des automates (traces d exécutions) Modélisation des propriétés attendues des systèmes (Logiques) Vérification automatique par Model-checking Technique automatique Exploration complète des configurations des systèmes Retour de contre-exemple lorsqu une propriété n est pas vérifiée Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 4 / 69

Outline 1 Introduction 2 Quelques petits exemples 3 Systèmes de transitions 4 Logiques des systèmes concurrents 5 Model-Checking LTL 6 End of story... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 5 / 69

Petits exemples de modélisation Prenons une montre à affichage numérique hh:mm Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 6 / 69

Petits exemples de modélisation Prenons une montre à affichage numérique hh:mm Avec 60 24 = 1440 états, nous pouvons représenter tous les états atteignables de notre montre Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 6 / 69

Petits exemples de modélisation Prenons une montre à affichage numérique hh:mm Avec 60 24 = 1440 états, nous pouvons représenter tous les états atteignables de notre montre 07:58 07:59 08:00...... 00:00 23:59 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 6 / 69

Petits exemples de modélisation Prenons un digicode à trois touches A,B et C. La porte s ouvre quand ABA est saisi Le digicode est dans son état initial après saisie d un mauvais code Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 7 / 69

Petits exemples de modélisation Prenons un digicode à trois touches A,B et C. La porte s ouvre quand ABA est saisi Le digicode est dans son état initial après saisie d un mauvais code 0 A B,C A,B,C 2 A,C B 3 1 B,C A,B,C 4 A 5 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 7 / 69

Petits exemples de modélisation Prenons un compteur modulo 4 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 8 / 69

Petits exemples de modélisation Prenons un compteur modulo 4 Opérations inc : incrémente de 1 le compteur dec : diminue de 1 le compteur 1 état par valeur du compteur : 4 états Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 8 / 69

Petits exemples de modélisation Prenons un compteur modulo 4 Opérations inc : incrémente de 1 le compteur dec : diminue de 1 le compteur 1 état par valeur du compteur : 4 états dec inc 2 inc dec 1 dec inc inc dec 3 0 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 8 / 69

Petits exemples de modélisation Prenons un canal FIFO de capacité 2 sur l alphabet {a, b} Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 9 / 69

Petits exemples de modélisation Prenons un canal FIFO de capacité 2 sur l alphabet {a, b} Opérations in(x) : enfiler la lettre x si le canal n est pas plein out(x) : défiler la lettre x si le canal n est pas vide 1 état par configuration possible du canal : 7 états Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 9 / 69

Petits exemples de modélisation Prenons un canal FIFO de capacité 2 sur l alphabet {a, b} Opérations in(x) : enfiler la lettre x si le canal n est pas plein out(x) : défiler la lettre x si le canal n est pas vide 1 état par configuration possible du canal : 7 états bb out(b) in(b) b in(a) out(b) in(b) ab out(a) out(b) out(a) in(a) a in(b) in(a) out(a) ba aa Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 9 / 69

Petits exemples de modélisation Prenons une variable booléenne Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 10 / 69

Petits exemples de modélisation Prenons une variable booléenne Opérations b = vrai, b = faux : test de la valeur de la variable b b := vrai, b := faux : affectation de la variable b 1 état par valeur Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 10 / 69

Petits exemples de modélisation Prenons une variable booléenne Opérations b = vrai, b = faux : test de la valeur de la variable b b := vrai, b := faux : affectation de la variable b 1 état par valeur b := vrai b = vrai b = faux b := faux vrai b := faux b := vrai faux Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 10 / 69

Petits exemples de modélisation Prenons le programme séquentiel 1: While true do if not b then begin 2: b:= true; 3: proc ; 4: b := false; end od Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 11 / 69

Petits exemples de modélisation Prenons le programme séquentiel 1: While true do if not b then begin 2: b:= true; 3: proc ; 4: b := false; end od b = vrai 1 b = faux 2 b := vrai 3 b := faux proc 4 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 11 / 69

Outline 1 Introduction 2 Quelques petits exemples 3 Systèmes de transitions 4 Logiques des systèmes concurrents 5 Model-Checking LTL 6 End of story... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 12 / 69

Systèmes de transitions Définition Un système de transitions est un couple A = S, T où S est un ensemble d états fini ou infini T S S est un ensemble de transitions fini ou infini Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 13 / 69

Systèmes de transitions Définition Un système de transitions est un couple A = S, T où S est un ensemble d états fini ou infini T S S est un ensemble de transitions fini ou infini Définition Un chemin c de longueur n (noté c = n) est une suite de transitions s 1 s 2 s 3... s n. Un chemin infini est une suite infinie de transitions Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 13 / 69

Systèmes de transitions étiquetés Définition Un système de transitions étiqueté est un couple A = S, T, Σ où S est un ensemble d états fini ou infini T S Σ S est un ensemble de transitions fini ou infini Σ est un ensemble d actions Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 14 / 69

Systèmes de transitions étiquetés Définition Un système de transitions étiqueté est un couple A = S, T, Σ où S est un ensemble d états fini ou infini T S Σ S est un ensemble de transitions fini ou infini Σ est un ensemble d actions Définition a 1 Si c est un chemin s 1 une trace a 2 a 3 s2 s3... alors la suite a1 a 2 a 3... est Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 14 / 69

Systèmes de transitions Définition Un système de transitions paramétré est un tuple A = S, T, S X1,...,, S Xm, T Y1,..., T Yn où S est un ensemble d états T S S est l ensemble des transitions S Xi S sont des paramètres d états T Yi T sont des paramètres de transitions En pratique, utilisation de systèmes de transitions étiquetés et paramétrés par un état initial et des états terminaux Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 15 / 69

Produit libre de systèmes de transitions Systèmes composés de sous systèmes indépendants : aucune interaction entre les composants Définition Le produit libre A 1 A 2 de deux systèmes de transitions A 1 = S 1, T 1, Σ 1 et A 2 = S 2, T 2, Σ 2 est le système de transition A = S, T, Σ défini par S = S 1 S 2 T = {(s 1, s 2 ) (a 1,a 2 ) (s 1, s 2 ) ((s 1, a 1, s 1 ) T 1 (s 2, a 2, s 2 ) T 2) (a 1 = et s 1 = s 1 ) (a 2 = et s 2 = s 2 )} Σ = (Σ 1 { }) (Σ 2 { }) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 16 / 69

Produit libre de systèmes de transitions Exemple Calculer le produit libre de A 1 et A 2 où A 1 représente un compteur modulo 2 A 2 représente un compteur modulo 3 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 17 / 69

Produit synchronisé de systèmes de transitions Définition Le produit synchronisé A 1 Sync A 2 de A 1 et A 2 par rapport à Sync Σ 1 { }) (Σ 2 { }) est le système de transitions A 1 A 2 restreint aux seules transitions présentes dans Sync Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 18 / 69

Produit synchronisé de systèmes de transitions Exemple Calculer le produit synchronisé de A 1 et A 2 avec Sync = {(inc, inc), (dec, dec), (, ))} où A 1 représente un compteur modulo 2 A 2 représente un compteur modulo 3 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 19 / 69

Synchronisation par messages La relation de synchronisation couple les actions complémentaires : émission / réception de messages (m!/m?) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 20 / 69

Exercice : Protocole de commerce électronique But : manipuler de l argent électronique sous forme de certificats monétaires Données Un client, une banque et un marchand Cryptographie parfaite validité des certificats monétaires Scénario Le client 1. initie une action de paiement 1.1 envoie au marchand son certificat électronique 1.2 Sur présentation du certificat, le marchand demande à la banque l émission d un nouveau certificat monétaire et 1.3 Le marchand livre la marchandise 2. émet une demande d annulation dans quel cas, la banque après vérification du certificat retourne l argent dans le compte client et annule sa validité Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 21 / 69

Exercice : Protocole de commerce électronique Modélisation Un client qui peut payer, attendre sa livraison et annuler Un marchand qui peut enregistrer le paiement, livrer / demander un nouveau certificat puis recevoir le transfert Une banque qui peut recevoir une demande d annulation ou recevoir une demande de certificat puis réaliser le transfert Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 22 / 69

Exercice : Protocole de commerce électronique A marchand a payer? b livrer! certif! c d certif! livrer! transfert? e f transfert? livrer! g payer!, livrer?,annuler! A client A banque 0 annuler? certif? 1 2 transfert! 3 Calculer le produit synchronisé par message de ces trois automates! Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 23 / 69

Synchronisation par canal P 0 et P 1 communiquent par messages avec un canal C Nous pouvons ramener le problème à une synchronisation par messages entre les deux processus et un troisième modélisant un canal FIFO Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 24 / 69

Synchronisation par variables partagées Algorithme de Peterson P 0 execute while true do begin {section non critique} d0 := true; tour := 0; attendre (d1=false ou tour=1); {section critique} d0 := false; end P 1 execute while true do begin {section non critique} d1 := true; tour := 1; attendre (d0=false ou tour=0); {section critique} d1 := false; end Exercice 1. Représentez les processus et les variables partagées par des systèmes de transitions 2. Estimez la taille du produit synchronisé de ces 5 composants! Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 25 / 69

Outline 1 Introduction 2 Quelques petits exemples 3 Systèmes de transitions 4 Logiques des systèmes concurrents 5 Model-Checking LTL 6 End of story... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 26 / 69

Motivation Complément de l approche opérationnelle Descrition de propriétés que le système modélisé doit satisfaire Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 27 / 69

Motivation Complément de l approche opérationnelle Descrition de propriétés que le système modélisé doit satisfaire Exemple Pour l algorithme de Peterson Il n existe aucun état du produit synchronisé où les deux processus sont en même temps en section critique Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 27 / 69

Motivation Complément de l approche opérationnelle Descrition de propriétés que le système modélisé doit satisfaire Exemple Pour l algorithme de Peterson Il n existe aucun état du produit synchronisé où les deux processus sont en même temps en section critique Il n existe aucun deadlock Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 27 / 69

Motivation Complément de l approche opérationnelle Descrition de propriétés que le système modélisé doit satisfaire Exemple Pour l algorithme de Peterson Il n existe aucun état du produit synchronisé où les deux processus sont en même temps en section critique Il n existe aucun deadlock S il existe un état où le processus essaie de rentrer en section critique alors il existe un état accessible de cet état où ce processus rentre effectivement en section critique Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 27 / 69

Motivation Complément de l approche opérationnelle Descrition de propriétés que le système modélisé doit satisfaire Exemple Pour l algorithme de Peterson Il n existe aucun état du produit synchronisé où les deux processus sont en même temps en section critique Il n existe aucun deadlock S il existe un état où le processus essaie de rentrer en section critique alors il existe un état accessible de cet état où ce processus rentre effectivement en section critique Il n existe pas de chemin infini constitué uniquement de transitions où les deux processus tentent de rentrer en section critique sans jamais y parvenir Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 27 / 69

Et pour faire tout ceci... Utilisation de langages de spécification appelés logiques Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 28 / 69

Et pour faire tout ceci... Utilisation de langages de spécification appelés logiques Multitude de logiques Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 28 / 69

Et pour faire tout ceci... Utilisation de langages de spécification appelés logiques Multitude de logiques Logique propositionnelle : propriétés purement locales Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 28 / 69

Et pour faire tout ceci... Utilisation de langages de spécification appelés logiques Multitude de logiques Logique propositionnelle : propriétés purement locales Logique temporelle linéaire : propriétés sur les systèmes en cours d exécution Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 28 / 69

Logique propositionnelle Formules construites inductivement à partir d un ensemble fixé de propositions atomiques PA V PA V = {x = d x V d D x } avec V un ensemble de variables et pour une variable x, D x représente l ensemble des valeurs possibles de x Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 29 / 69

Logique propositionnelle Formules construites inductivement à partir d un ensemble fixé de propositions atomiques PA V PA V = {x = d x V d D x } avec V un ensemble de variables et pour une variable x, D x représente l ensemble des valeurs possibles de x Syntaxe L 0 est le plus petit ensemble de formules propositionnelles tel que 0, 1 L 0 PA V L 0 Si φ, ψ L 0 alors φ ψ L 0 et φ ψ L 0 Si φ L 0 alors φ L 0 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 29 / 69

Pourquoi pas et? Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 30 / 69

Pourquoi pas et? Parce que φ ψ φ ψ φ ψ (φ ψ) (ψ φ) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 30 / 69

Fonctions d interprétation Ces fonctions permettent de décorer des états d un automate avec des propositions atomiques Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 31 / 69

Fonctions d interprétation Ces fonctions permettent de décorer des états d un automate avec des propositions atomiques Définition Un automate non étiqueté sera un quadruplet S, S 0, T, ρ où ρ S 2 PA V Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 31 / 69

Fonctions d interprétation Ces fonctions permettent de décorer des états d un automate avec des propositions atomiques Définition Un automate non étiqueté sera un quadruplet S, S 0, T, ρ où ρ S 2 PA V Exemple A l automate suivant, nous pouvons définir pour PA V = {p, q, r, s, t} la décoration suivante : ρ(1) = {p, q, t}, ρ(2) = {p, q, r}, ρ(3) = {p, s} et ρ(4) = {p, r} 1 2 3 4 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 31 / 69

Satisfaction d une formule A, s φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : A, s / 0 et A, s 1 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : A, s / 0 et A, s 1 Si φ PA V alors A, s φ ssi φ ρ(s) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : A, s / 0 et A, s 1 Si φ PA V alors A, s φ ssi φ ρ(s) A, s φ ψ ssi A, s φ ou A, s ψ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : A, s / 0 et A, s 1 Si φ PA V alors A, s φ ssi φ ρ(s) A, s φ ψ ssi A, s φ ou A, s ψ A, s φ ψ ssi A, s φ et A, s ψ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : A, s / 0 et A, s 1 Si φ PA V alors A, s φ ssi φ ρ(s) A, s φ ψ ssi A, s φ ou A, s ψ A, s φ ψ ssi A, s φ et A, s ψ A, s φ ssi A, s / φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : A, s / 0 et A, s 1 Si φ PA V alors A, s φ ssi φ ρ(s) A, s φ ψ ssi A, s φ ou A, s ψ A, s φ ψ ssi A, s φ et A, s ψ A, s φ ssi A, s / φ φ est une tautologie si c est une formule valide sur tous les états Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Satisfaction d une formule A, s φ Inductivement sur la structure de la formule : A, s / 0 et A, s 1 Si φ PA V alors A, s φ ssi φ ρ(s) A, s φ ψ ssi A, s φ ou A, s ψ A, s φ ψ ssi A, s φ et A, s ψ A, s φ ssi A, s / φ φ est une tautologie si c est une formule valide sur tous les états φ est une contradiction si c est une formule qui n est valide sur aucun état Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 32 / 69

Logique temporelle linéaire Mais avant... petite paranthèse sur les ω mots Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 33 / 69

( ω mots Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 34 / 69

Expressions régulières Pour un alphabet Σ, Si a Σ alors a est une expression régulière Si e 1 et e 2 sont deux expressions régulières e1.e 2 est une expression régulière e1 + e 2 est une expression régulière Si e est une expression régulière alors e est une expression régulière Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 35 / 69

Expressions régulières Exemple Soit Σ = {a, b, c} alors l expression régulière (ab + c) dénote la concaténation de séquences de lettres de la forme c ou a suivi d un nombre nul ou fini de b Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 36 / 69

Les expressions ω régulières Définition Les expressions ω régulières sont définies inductivement à partir des règles suivantes : Si e 1, e 2 sont des expressions régulières (dénotant E 1, E 2 ) alors e 1.e2 ω est une expression ω régulière (eω 2 est une chaîne infinie composée de mots de E 2 ) Si e 1, e 2 sont des expressions ω régulières alors e 1 + e2 ω est une expression ω régulière Σ est un ensemble d actions Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 37 / 69

Les expressions ω régulières Définition Les expressions ω régulières sont définies inductivement à partir des règles suivantes : Si e 1, e 2 sont des expressions régulières (dénotant E 1, E 2 ) alors e 1.e2 ω est une expression ω régulière (eω 2 est une chaîne infinie composée de mots de E 2 ) Si e 1, e 2 sont des expressions ω régulières alors e 1 + e2 ω est une expression ω régulière Σ est un ensemble d actions Théorème Une expression est ω régulière ssi elle est de la forme n i=1 (e ifi ω ) où e i et f i sont des expressions régulières Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 37 / 69

Expressions ω régulières Exemple Soit Σ = {a, b, c} alors l expression ω régulière (c ac b)c ω (c ac b) ω dénote l ensemble des mots infinis pour lesquels toute occurence de a doit être suivie de c b et toute occurence de b doit être précédée de ac Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 38 / 69

Le lien avec les systèmes de transitions? 1 2 3 4 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 39 / 69

Le lien avec les systèmes de transitions? 1 2 3 4 Exécution infinie se présente par l expression suivante : 1(234) ω Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 39 / 69

Cà, c est fait... ) ω mots Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 40 / 69

Donc... la logique temporelle linéaire Syntaxe L 1 est le plus petit ensemble de formules temporelles linéaires tel que 0, 1 L 1 PA V L 1 Si φ, ψ L 1 alors φ ψ L 1 et φ ψ L 1 Si φ L 1 alors φ L 1 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 41 / 69

Donc... la logique temporelle linéaire Syntaxe L 1 est le plus petit ensemble de formules temporelles linéaires tel que 0, 1 L 1 PA V L 1 Si φ, ψ L 1 alors φ ψ L 1 et φ ψ L 1 Si φ L 1 alors φ L 1 Si φ, ψ L 1 alors φ ψ L 1 et φuψ L 1 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 41 / 69

Donc... la logique temporelle linéaire Syntaxe L 1 est le plus petit ensemble de formules temporelles linéaires tel que 0, 1 L 1 PA V L 1 Si φ, ψ L 1 alors φ ψ L 1 et φ ψ L 1 Si φ L 1 alors φ L 1 Si φ, ψ L 1 alors φ ψ L 1 et φuψ L 1 Si φ L 1 alors Nφ L 1 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 41 / 69

Satisfaction d une formule de L 1 où c = t 1 t 2... A, c φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 où c = t 1 t 2... A, c φ Inductivement sur la structure de la formule : Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 où c = t 1 t 2... A, c φ Inductivement sur la structure de la formule : A, c / 0 et A, c 1 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 A, c φ où c = t 1 t 2... Inductivement sur la structure de la formule : A, c / 0 et A, c 1 Si φ PA V alors A, c φ ssi φ ρ(t 1 ) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 A, c φ où c = t 1 t 2... Inductivement sur la structure de la formule : A, c / 0 et A, c 1 Si φ PA V alors A, c φ ssi φ ρ(t 1 ) A, c φ ψ ssi A, c φ ou A, c ψ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 A, c φ où c = t 1 t 2... Inductivement sur la structure de la formule : A, c / 0 et A, c 1 Si φ PA V alors A, c φ ssi φ ρ(t 1 ) A, c φ ψ ssi A, c φ ou A, c ψ A, c φ ψ ssi A, c φ et A, c ψ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 A, c φ où c = t 1 t 2... Inductivement sur la structure de la formule : A, c / 0 et A, c 1 Si φ PA V alors A, c φ ssi φ ρ(t 1 ) A, c φ ψ ssi A, c φ ou A, c ψ A, c φ ψ ssi A, c φ et A, c ψ A, c φ ssi A, c / φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 A, c φ où c = t 1 t 2... Inductivement sur la structure de la formule : A, c / 0 et A, c 1 Si φ PA V alors A, c φ ssi φ ρ(t 1 ) A, c φ ψ ssi A, c φ ou A, c ψ A, c φ ψ ssi A, c φ et A, c ψ A, c φ ssi A, c / φ A, c Nφ ssi c = t.c et A, c φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Satisfaction d une formule de L 1 où c = t 1 t 2... A, c φ Inductivement sur la structure de la formule : A, c / 0 et A, c 1 Si φ PA V alors A, c φ ssi φ ρ(t 1 ) A, c φ ψ ssi A, c φ ou A, c ψ A, c φ ψ ssi A, c φ et A, c ψ A, c φ ssi A, c / φ A, c Nφ ssi c = t.c et A, c φ A, c φuψ ssi c = t1... t n c avec A, c ψ et i {1... n}, A, t i... t n c φ ou A, c ψ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 42 / 69

Petit exemple 1 2 3 4 avec ρ(1) = {p, q, t}, ρ(2) = {p, q, r}, ρ(3) = {p, s} et ρ(4) = {p, r} A, 1(234) ω? p r A, 1(234) ω? r s A, 1(234) ω? N(p s) A, 1(234) ω? NNs A, 1(234) ω? qus Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 43 / 69

Opérateurs de temps et φ Def = 1Uφ φ Def = φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 44 / 69

Opérateurs de temps et φ Def = 1Uφ φ Def = φ D un point de vue sémantique 1. A, c φ ssi il existe un suffixe c de c tel que A, c φ 2. A, c φ ssi pour tout suffixe c de c, A, c φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 44 / 69

Propriétés temporelles utiles Soit c un chemin infini de A, A, c φ ssi il existe une infinité de suffixes c 2 tels que A, c 2 φ Soit c un chemin infini de A, A, c φ ssi il existe un nombre fini de suffixes c tels que A, c φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 45 / 69

Petit exemple 1 2 3 4 avec ρ(1) = {p, q, t}, ρ(2) = {p, q, r}, ρ(3) = {p, s} et ρ(4) = {p, r} A, 1(234) ω? r A, 1(234) ω? (qus) A, 1(234) ω? t Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 46 / 69

Model-checking Définition Soit A = S, S 0, T, ρ, un automate et φ, une formule de L 1 alors : 1. φ est réalisable d un état s si pour tout chemin de A s.c issu de s on a A, s.c φ. On note alors A, s φ 2. φ est réalisable si elle est réalisable de tout état s S 0. On note alors A φ 3. φ est valide si tout automate est un de modèle de φ. On note alors φ Model-checking : étant donné un automate A et une propriété spécifiée par une formule φ, on vérifie : A φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 47 / 69

Quelques petits exercices Exercice L automate ci-dessous modélise un feux de circulation avec comme fonction d interprétation : ρ(s 1 ) = v,ρ(s 2 ) = o,ρ(s 3 ) = r et ρ(s 4 ) = i. s1 s3 s2 s4? 1. A, s 1 NN(o) 2. A, (s 1 s 3 s 2 ) (s 4 s 2 ) ω? ( i)ui 3. A, (s 1 s 3 s 2 ) (s 4 s 2 ) ω? r? 4. A, s 4 ( i)ui? Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 48 / 69 5. A, s iu( i) 6. A? o 7. A, (s 1 s 3 s 2 ) ω? i 8. A? o 9. A, s 1? ( i)ui

Encore un petit pour la route Exercice Canal unidirectionnel parfait entre un émetteur S et un récepteur R S et R sont munis d un tampon de capacité infinie parfait S.out et R.in Un message m envoyé par S est inséré dans S.out, puis acheminé par le canal et enfin présent dans R.in M est un ensemble de messages fini PA V = {m S.out m M} {m R.in m M} Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 49 / 69

Encore un petit pour la route PA V = {m S.out m M} {m R.in m M} Exprimer par des formules de L 1 étendu les propriétés suivantes : 1. Un message ne peut pas être dans les deux tampons en même temps 2. Le canal ne perd pas de message 3. Le canal préserve à la sortie l ordre d entrée des messages 4. Le canal ne génère pas spontanément de messages Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 50 / 69

Outline 1 Introduction 2 Quelques petits exemples 3 Systèmes de transitions 4 Logiques des systèmes concurrents 5 Model-Checking LTL 6 End of story... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 51 / 69

Les automates de Büchi Structure reconnaissant des ω mots Définition Un automate de Büchi est un quintuplet B = S, T, S 0, F, Σ où S est un ensemble d états S 0 S est l ensemble des états initiaux T S Σ S est l ensemble des transitions F S est l ensemble des états finaux Σ est un alphabet Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 52 / 69

Les automates de Büchi Structure reconnaissant des ω mots Définition Un automate de Büchi est un quintuplet B = S, T, S 0, F, Σ où S est un ensemble d états S 0 S est l ensemble des états initiaux T S Σ S est l ensemble des transitions F S est l ensemble des états finaux Σ est un alphabet Critère d acceptation de Büchi Un ω mot sur Σ est reconnaissable par B si la chaîne des états visités par l automate passe infiniment souvent par des états de F Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 52 / 69

Automate de Büchi a 0 b a b 1 L ensemble des ω mots reconnaissable par l automate est (a bb a) ω + (a bb a) a b(b) ω Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 53 / 69

Automate de Büchi a 0 b a b 1 L ensemble des ω mots reconnaissable par l automate est (a bb a) ω + (a bb a) a b(b) ω Théorème Un ω langage est reconnaissable par un automate de Büchi ssi il est ω régulier Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 53 / 69

Automate de Büchi Le vide est décidable pour les automates de Büchi Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 54 / 69

Automate de Büchi Le vide est décidable pour les automates de Büchi Algorithme de Tarjan-Paige Enumération des composantes fortement connexes atteignables à partir de S 0 Langage est vide si toutes les CFC ne passent pas par un état final Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 54 / 69

Automate de Büchi Le vide est décidable pour les automates de Büchi Algorithme de Tarjan-Paige Enumération des composantes fortement connexes atteignables à partir de S 0 Langage est vide si toutes les CFC ne passent pas par un état final Model-checking se réduit au problème du vide Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 54 / 69

Transformation d un système en automate de Büchi Avec PA V = {p, q, r, s, t}, on peut construire 2 5 valuations possibles représentables par 2 5 vecteurs de dimension 5 Exemple 0, 0, 1, 0, 1 représente {r, t} 1, 1, 1, 0, 0 représente {p, q, r} 0, 0, 0, 0, 0 représente Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 55 / 69

Transformation d un système en automate de Büchi 1 2 3 4 avec ρ(1) = {p, q, t}, ρ(2) = {p, q, r}, ρ(3) = {p, s} et ρ(4) = {p, r} En considérant les vecteurs p, q, r, s, t, le chemin 1(234) ω et les propositions mises en jeu peuvent être représentées par <1,1,0,0,1> 1 2 <1,1,1,0,0> 3 <1,0,1,0,0> <1,0,0,1,0> 4 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 56 / 69

Lien entre logique temporelle linéaire / automates de Büchi Théorème (Wolper-Vardi,Sistla, 1983) Etant donné une formule φ de la LTL, on peut construire un automate de Büchi A φ = S, T, S 0, F, Σ avec Σ = 2 PA et S 2 O( φ ) tel que L(A) est exactement l ensemble des modèles de φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 57 / 69

p 1 p 2 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 58 / 69

p 1 p 2 <0,0>,<0,1>,<1,0>,<1,1> <0,0>,<0,1>,<1,1> 1 2 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 58 / 69

Np 1 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 59 / 69

Np 1 <0,0>,<0,1>,<1,0>,<1,1> <0,0>,<0,1>,<1,0>,<1,1> 1 2 <1,0>,<1,1> 3 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 59 / 69

p 1 Up 2 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 60 / 69

p 1 Up 2 <1,0> <0,0>,<0,1>,<1,0>,<1,1> 1 <0,1>,<1,1> 2 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 60 / 69

(p 1 Np 2 ) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 61 / 69

(p 1 Np 2 ) <0,0>,<0,1> <1,1> 1 <1,0>,<1,1> <0,1> 2 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 61 / 69

Model-Checking LTL A φ revient à L(A) L(B φ ) L(A) (L(B φ )) c L(A) L(B φ ) = Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 62 / 69

Model-Checking LTL A φ revient à L(A) L(B φ ) L(A) (L(B φ )) c L(A) L(B φ ) = Calcul de l intersection plus simple que l inclusion Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 62 / 69

Model-Checking LTL A φ revient à L(A) L(B φ ) L(A) (L(B φ )) c L(A) L(B φ ) = Calcul de l intersection plus simple que l inclusion Calcul du complément est difficile Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 62 / 69

Model-Checking LTL A φ revient à L(A) L(B φ ) L(A) (L(B φ )) c L(A) L(B φ ) = Calcul de l intersection plus simple que l inclusion Calcul du complément est difficile Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 62 / 69

Exemple φ = (p 1 N p 2 ) Exprimer φ Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 63 / 69

Exemple φ = (p 1 N p 2 ) Exprimer φ φ = (p 1 N p 2 ) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 63 / 69

Exemple φ = (p 1 N p 2 ) Exprimer φ φ = (p 1 N p 2 ) Exprimer cette formule sous forme d automate Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 63 / 69

Exemple φ = (p 1 N p 2 ) Exprimer φ φ = (p 1 N p 2 ) Exprimer cette formule sous forme d automate <0,0>,<0,1>,<1,0>,<1,1> <1,0>,<0,0> 1 <1,0>,<1,1> 2 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 63 / 69

Intersection automates Définition Soit A = S 1, S 01, T 1, F 1, Σ et B φ = S 2, S 02, T 2, F 2, Σ alors L(A) L(B φ ) est l ensemble des ω mots reconnaissables par l automate de Büchi A B φ = S, S 0, T, F, Σ où S = S 1 S 2 S 0 = S 01 S 02 T est la synchronisation de T 1 et T 2 sur les actions identiques F = F 1 F 2 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 64 / 69

Vérification de φ par Model-Checking Soit le système spécifié par l automate A suivant <0,0> <0,0> 1 4 <0,0> 3 <0,0> <1,1> 2 Pour rappel, B ( (p1 N p 2 )) est l automate suivant <0,0>,<0,1>,<1,0>,<1,1> <1,0>,<0,0> 1 <1,0>,<1,1> 2 Calculer le produit synchronisé A Sync B ( (p1 N p 2 )) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 65 / 69

Résultat du produit 4 <0,0> 3 <0,0> <0,0> <0,0> 2 1 <1,1> <1,1> <0,0> 6 <0,0> 5 <0,0> 7 <0,0> 8 Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 66 / 69

Résultat du produit 4 <0,0> 3 <0,0> <0,0> <0,0> 2 1 <1,1> <1,1> <0,0> 6 <0,0> 5 <0,0> 7 <0,0> 8 L(A) L(B φ ) /= Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 66 / 69

Résultat du produit 4 <0,0> 3 <0,0> <0,0> <0,0> 2 1 <1,1> <1,1> <0,0> 6 <0,0> 5 <0,0> 7 <0,0> 8 L(A) L(B φ ) /= Par conséquent, A / (p 1 N p 2 ) Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 66 / 69

Outline 1 Introduction 2 Quelques petits exemples 3 Systèmes de transitions 4 Logiques des systèmes concurrents 5 Model-Checking LTL 6 End of story... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 67 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Définition de langages de haut-niveau : Promela, CASPER,... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Définition de langages de haut-niveau : Promela, CASPER,... Y a t il des outils automatiques performants? Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Définition de langages de haut-niveau : Promela, CASPER,... Y a t il des outils automatiques performants? Of course there are Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Définition de langages de haut-niveau : Promela, CASPER,... Y a t il des outils automatiques performants? Of course there are SPIN Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Définition de langages de haut-niveau : Promela, CASPER,... Y a t il des outils automatiques performants? Of course there are SPIN FDR Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Définition de langages de haut-niveau : Promela, CASPER,... Y a t il des outils automatiques performants? Of course there are SPIN FDR CADP Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Et alors? C est bien beau de spécifier des systèmes de transitions par des automates... Définition de langages de haut-niveau : Promela, CASPER,... Y a t il des outils automatiques performants? Of course there are SPIN FDR CADP... Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 68 / 69

Architecture de SPIN Yohan Boichut Modélisation et vérification Cours Master IRAD Semestre 3 69 / 69