IV. model checking Les logiques temporelles

Slides:



Advertisements
Présentations similaires
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Advertisements

Rappels de logique des prédicats du 1er ordre
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
LOGIQUE ET PROGRAMMATION LOGIQUE
Réalisé par : - Mohamed QUARCH Jury : - M.HASSNOUN - Mouad ARRAD - M.NADIR - El mehdi EL RHANDOURI - A.BAALAL Encadré par : - M.HASSNOUN année scolaire:2006/2007.
AUDIT Formuler des réponses aux recommandations TRAINING LAF 2009.
Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
1 Chapitre 2 La numération binaire. 2 Chapitre 2 : La numération binaire Introduction 1 - Le système binaire 2 - La conversion des nombres entiers 2.1.
1- Régles de normalisation 2ème partie : normalisation Modèle Conceptuel des Données 2- Les Formes Normales 3- Dépendances Fonctionnelles 4- Recap - Méthodologie.
TP 7 : UNE PROPRIÉTÉ DES ONDES, LA DIFFRACTION BUSQUET Stéphane LENNE Karl-Eric TS Physique-Chimie.
Utilisation du logiciel EduStat © Analyse classique d’items L’examen du rapport.
Et maintenant, le mode : fastoche !
Généralités sur les fonctions 2MPES
Suites ordonnées ou mettre de l’ordre
Thème 3 – La résistance au mouvement des charges
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Rappel - analyse et.
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Pierre Joli Cours de Mathématique Pierre Joli
Deuxième partie : La courbe d’indifférence
Représentation des nombres réels
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Information, Calcul, Communication
Semaine #1 INF130 par Frédérick Henri.
Javadoc et débogueur Semaine 03 Version A17.
Un extrait de bilan périodique de 5e : l’en-tête administratif
7.1 Transformation linéaire
Principes de programmation (suite)
Master Réseaux et Systèmes Distribués (RSD)
Les bases de données et le modèle relationnel
Précision d'une mesure et chiffres significatifs
Les plans de mélange Les plans d’expérience : Présentée par :
Plans d’experiences : plans de melanges
Les interfaces en PHP.
Fonctions Logiques & Algèbre de BOOLE
Construire un GANTT.
2.2 Probabilité conditionnelle
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
La méthode du simplexe. 1) Algorithme du simplexe  Cet algorithme permet de déterminer la solution optimale, si elle existe, d’un problème de programmation.
Prise en compte de la pertinence et de la sincérité d’un décideur dans la déclaration d’objectifs industriels  une modélisation par la théorie des possibilités.
Structure D’une Base De Données Relationnelle
Calcul Relationnel Chapitre 4, Section 4.3.
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Module: Logique Mathématique. SOMMAIRE 1- Notions d’ensembles 2- Constructions d’ensembles 3- Cardinal d’ensembles 4- Relations d’ensembles ordonnées.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
CALCUL MENTAL AU CYCLE 3 .
Calculs des incertitudes Lundi 30 Avril 2018 Master de Management de la Qualité, de la Sécurité et de l’Environnement.
 1____Probabilité  2______variables aléatoires discrètes et continues  3______loi de probabilités d’une v a  4_______les moyens et les moyens centraux.
Algèbre relationnelle
Calcul de probabilités
SYSTèMES à évènements discrets
2.4 La loi de vitesse d’une réaction chimique
Rappels sur le grafcet Normes NF EN CEI /01/2019
Position, dispersion, forme
Définition :. Pourquoi le GEMMA ? GEMMA : l'acronyme GEMMA signifie : Guide d'Etude des Modes de Marche et d'Arrêt. Comme son nom l'indique, c'est un guide.
IFT313 Introduction aux langages formels
H. Wertz -- Exécution Symbolique
RABAH M ed Ali 2018/2019
Plan I.Définitions II.Objectifs III.Intérêt IV.Quoi tester ? V.Processus VI.Exemples VII.Conclusion VIII.Références.
Flowchart Itération Cours 04.
Programme d’appui à la gestion publique et aux statistiques
CSI 3505 / Automne 2005: Conception et Analyse des Algorithmes I.
Tableau de bord d’un système de recommandation
GEOMETRIE VECTORIELLE
Chapitre 2 Résolution des Problèmes et Jeux. Objectifs  Comment ? – Modéliser un Problème. – Modéliser un Jeu.  Comment ? – Passer d’un état à un autre.
Définition des actions mécaniques :
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Conception d’un QCM F. Loizeau ; Clermont-Ferrand.
STATISTIQUE INFERENTIELLE LES TESTS STATISTIQUES.
Transcription de la présentation:

IV. model checking Les logiques temporelles IV.1. Préliminaire IV.2. Le Modèle : La structure de Kripke IV.3. Types de propriétés temporelles IV.4. Les connecteurs temporels et les quantificateurs de chemins IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) IV.6. La logique temporelle arborescente CTL (computation tree logic) ; Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.1. Préliminaire Théorie des preuves Un système formé d’une logique comporte: une notation (syntaxe) un ensemble d’axiomes (faits) un ensemble de règles d’inférence (déduction) Une preuve formelle est une séquence de situations où chaque situation est obtenue à partir d’autres situations par l’application de règles d’inférence ; Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.1. Préliminaire Système formel Un système formel (ou théorie formelle) S est la donnée de: un ensemble dénombrable V de symboles ; un sous-ensemble F de V∗ appelé ensemble des formules bien formées (syntaxiquement correctes); un sous-ensemble A de F appelé ensemble des axiomes. Ce sont les théorèmes de base ; un ensemble fini R de règles de déduction ou d’inférence. ; Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.1. Préliminaire Déduction d’une formule à partir d’un ensemble d’hypothèses Soit H = {H1, H2, …, Hk} un ensemble de formules. Une formule B est dite déductible sous les hypothèses H, si et seulement s’il existe une suite finie de formules f1, f2, …, fn où fn = B et chaque fi est : Un axiome ou bien Une hypothèse Hi ∈ H ou bien Une formule déduite à partir d’énoncés précédents par l’application d’une des règles d’inférence On note : H |-- B (H1, H2, …, Hk) |-- B NB. Un théorème T est une déduction à partir d’un ensemble vide d’hypothèse H =  ; Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.1. Préliminaire Déduction d’une formule à partir d’un ensemble d’hypothèses Corollaire (H1, H2, …, Hk) |-- B ssi H1H2  …  Hn |-- B |-- (H1(H2 (…….  (Hn B))))))))))))… ; Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.1. Préliminaire Théorème dans un système formel Un théorème T dans un système formel S est une formule T déduite à partir d’un ensemble vide d’hypothèses C’est une suite de formules f1, f2, … fn où fn = T et chaque fi est : un axiome de S ou bien une conséquence de formules précédentes par l’application d’une des règles d’inférence de R On note T est un théorème par: |-- T ; Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple de Systèmes Formels V = {1, +, =} V*= {e, 11, 1+, = 1,… } F={1n+1m = 1r} {11111… + 111… =111 } A = {1+1 = 11} R = { 1n+1m = 1r |-- 1n+1 + 1m = 1r+1, 1n+1m = 1r |-- 1n + 1m+1 = 1r+1} Mq |-- 11 + 111 = 11111 (12 + 13 = 15) f1: 1+1 = 11 (A) f2: 11+1 = 111 (R1(f1)) f3: 11+11 = 1111 (R2(f2)) f4: 11+111 = 11111 (R2(f3)) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple de Systèmes Formels F={1n+1m = 1r} A = {1+1 = 11} R = { 1n+1m = 1r |-- 1n+1 + 1m = 1r+1, 1n+1m = 1r |-- 1n + 1m+1 = 1r+1} H B 2) Mq 1+1 = 1|-- 11 + 1 = 11 (12 + 13 = 15) f1: 1+1 = 1 (H1) f2: 11+1 = 11 (R1(f1)) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Système formel pour le calcul propositionnel lp0 Plusieurs systèmes formels existent pour le calcul propositionnel. On se restreint, ici, au système complet de connecteurs {¬,→} F /\ G = F   G; F\/ G = F -> G On se donne trois schémas d’axiomes définissant un ensemble infini A d’axiomes : SA1 : A → (B → A) SA2 : (A → (B → C)) → ((A → B) → (A → C)) SA3 : (¬A → ¬B) → (B → A) On utilise une seule règle de d’inférence dans ce système formel : le modus ponens : A, A → B |-- B Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Système formel pour le calcul propositionnel lp0 Le SF lp0 est formé par : V : Un ensemble de symboles V = {propi}  {¬,→, (, )}, F : L’ensemble des formules bien formées F = {f / f = propi ou f = f1 → f2 ou f = ¬ f1 ou f = (f1) avec f1 F et f2 F} A : un ensemble infini d’axiomes : SA1 : A → (B → A) SA2 : (A → (B → C)) → ((A → B) → (A → C)) SA3 : (¬A → ¬B) → (B → A) R : Un ensemble de règles d’inférence R={le modus ponens : A, A → B |-- B} Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Montrons que |-- (A → A) (la formule (A → A) est elle un théorème?) f1: (A → ((A → A) → A)) → ((A → (A → A)) → (A → A)) SA2 (B/ A → A , C/A) f2: (A → ((A → A) → A)) SA1 (B/ A → A) f3: (A → (A → A)) → (A → A) mp(2, 1) f4: A → (A → A) SA1 (B/A) f5: A → A mp(4, 3) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Consistance et Complétude Système formel Consistant : tout théorème (formellement prouvé) est une tautologie (logiquement, sémantiquement vrai) Complet: toute formule sémantiquement vraie est un théorème (syntaxiquement vrai) Décidable: Il existe un algorithme pour décider si une formule est vraie ou fausse (théorème) Un système de preuve est acceptable s’il est consistant Il peut être non complet et non décidable Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Consistance et Complétude Les SFs de la logique propositionnelle sont complets et consistants Ainsi, pour prouver qu’une formule F est un théorème |-- F Il suffit de montrer que c’est une tautologie (sémantiquement vraie) |= F C-a-d F vraie dans toutes ses interprétations Comme le nombre d’interprétations est fini = (2n) avec n le nombre de variables propositionnelles dans une formules F, alors si toutes les interprétations satisfont F, F est une tautologie, et par conséquent, c’est un théorème. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Consistance et Complétude Les SFs de la logique des prédicats d’ordre 1 sont consistants mais ils ne sont pas complets. En effet, pour une formule donnée, le nombre d’interprétations est infini donc il n’est pas vrai que toute formule sémantiquement vraie est syntaxiquement vraie. Le contraire est vrai Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple: Déduction d’une formule à partir d’un ensemble d’hypothèses Formaliser l’énoncé suivant: IL faut travailler pour réussir Montrer que si on ne travaille pas alors on ne réussit pas Soient les propositions suivantes: Tr : on travaille Re: On réussit 1) Re  Tr 2) sol1 Mq (Re  Tr), Tr |--  Re H1 : Re  Tr et H2: Tr f1: (Re  Tr)  ( Tr  Re) (SA3(A/  Re), (B / Tr)) f2: Re  Tr (H1) f3: ( Tr  Re) mp(f2,f1) f4: Tr H2 f5:  Re mp(f4, f3) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple: Déduction d’une formule à partir d’un ensemble d’hypothèses 2) Sol2 Mq |-- ((Re  Tr) ( Tr   Re)) c’est plus simple de Mq (Re  Tr), Tr |--  Re par l’utilisation du corrollaire 3) Sol 3 par la propriété de la complétude ceci se ramène à prouver que la formule ((Re  Tr) ( Tr   Re)) est une tautologie : Mq |= ((Re  Tr) ( Tr   Re)) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple: Déduction d’une formule à partir d’un ensemble d’hypothèses Tr Re Re  Tr Tr  Re Tr  Re ((Re  Tr) ( Tr   Re)) T F 4) Sol 4 (conséquence logique) Mq |= ((Re  Tr) ( Tr   Re)) Revient à Mq |= (Re  Tr), Tr |=  Re Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Limite des logiques classiques Une logique = un langage de description adapté à décrire certaines propriétés et qui permet l’automatisation. la logique classique s’intéresse à la valeur de vérité des propositions à un instant donné (maintenant) Nous avons besoin de relier un instant à un instant dans le futur ou bien dans le passé. la logique modale s’intéresse à « comment » les propositions sont vraies ou fausses dans le temps. modalités : diverses possibilités d’adéquation (ou non) d’une proposition avec les faits du monde. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Limite des logiques classiques Limites des logiques propositionnelles, de prédicats Binaires (tout énoncé est qualifié par vrai ou faux) Monotones Le monde réel n’est pas binaire mais plutôt indéterminé, probable, incertain ou évolutif Extensions Logique Modale Logique multivalente Logique floue Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.1. Préliminaire Système de preuve Consistance : tout théorème (formellement prouvé) est logiquement (sémantiquement vrai Complétude: toute formule sémantiquement vraie est un théorème (syntaxiquement vraie) Décidabilité: Il existe un algorithme pour décider si une formule est vraie ou fausse (théorème) Un système de preuve est acceptable s’il est consistent Il peut être non complet et non décidable Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.1. Préliminaire Théorie de modèle La seconde utilisation de la logique est pour exprimer des situations au moment de l’exécution Le langage de la logique est utilisé ici pour formaliser des propriétés de structures et de déterminer quand une situation est vraie dans cette structure C’est la théorie de modèles Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Application des logiques pour la vérification Spécification des propriétés est représentée par des formules Implémentation représentée par des formules ou par un modèle sémantique automate (système de transtions) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Application des logiques pour la vérification M = Système de transitons  = Formule temporelle Model checking : est ce que M |=  M est il un modèle pour la formule logique  Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemples ? Exercice 2. La question : Est-ce que le système modélisé 1 4 ? 2 La question : Est-ce que le système modélisé Par cet automate satisfait la formule Temporelle (quelque soit l’exécution L’état suivant satisfait p? 5 3 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple: Timeout ? B |= (A (B V C)) A C B to A [t<d][/ t=t+1 A to A ? |= (A (B V C)) e[t<d] A to B B /t=0 A [t=d] A to C C Si le système se trouve à l’état A alors il finira par atteindre un des états B ou C /t=0 C to A Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.2. Le modèle : la structure de Kripke La Structure Kripke est un automate A, quintuple de la forme : A = (Q, E, T, q0, l) Q : ensemble d’états, E : ensemble d ’étiquettes de transitions, T ⊆ Q x E x Q : ensemble de transitions, q0 : état initial l : application l: Q → ensemble fini de propriétés élémentaires vérifiées à un état. Soit q un état. L’ensemble {q’∈Q| il existe a∈A, (q,a,q’)∈T} est l’ensemble des successeurs de q. On peut compléter une structure de Kripke : - on rajoute un état puits successeur des états dead-lock. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple : digicode Digicode pour l’ouverture de nombreux bureaux ou immeubles Entrée: bonne suite de caractères ABA Sortie: la porte s’ouvre des qu’on tape ABA Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple : digicode A B, C A B A 1 2 3 4 C B, C Q = {1, 2, 3, 4} T= {(1,A,2), (1,B,1), (1,C,1), (2,A,2), E = {A, B, C} (2,B,3), (2,C,1), (3,A,4), (3,B,1), q0 = 1 (3,C,1)} Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple : Le digicode avec ses propositions atomiques B, C A B A 2 pA 3 pB pred2 4 pA pred3 1 C B, C l = {1 ↦ Φ, 2 ↦ {pA}, 3 ↦ {pB, pred2}, 4 ↦ {pA, pred3}} pA: On vient nécessairement de taper un A pB: On vient nécessairement de taper un B pC: On vient nécessairement de taper un C Pred2: l ’ état précédent dans l’exécution est nécessairement un 2 Pred3: l ’ état précédent dans l’exécution est nécessairement un 3 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

présentation sous forme d’un arbre d’exécution Racine : etat1 Fils: tous les états que l’on peut atteindre en une étape à partir de cet état (successeur immédiat) La relation de transition est totale : l’arbre est infini Objectif: Vérifier les propriétés du système ou le modèle du système On associe à chaque état des propriétés élémentaires que nous savons être satisfaites. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple : Le digicode présentation sous forme d’un arbre B, C A B A 1 2 3 4 C B, C Propriété: La porte est ouverte Vraie à l’état 4 Fausse dans les états 1, 2 et 3 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple : Le digicode présentation sous forme d’un arbre Ce qui nous intéresse: P1: si une exécution arrive à l’état 4 alors les trois dernières lettres tapées sont A, B, A P2: Toute suite de lettres finissant par ABA ouvre la porte (c a d définit une exécution menant à l’état 4) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple : Le digicode présentation sous forme d’un arbre Il faut pouvoir exprimer à l’aide de ces propriétés élémentaires des propriétés compliquées On dépend de la logique utilisée Propriété atomique : propriété élémentaire dans un état Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemple : Arbre d’exécution du digicode 1 1 2 2 1 2 3 1 1 2 1 2 3 1 2 1 2 3 1 4 C ’est le début de l ’arbre Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Vérification sur modèle P1 : si une exécution arrive à l’état 4 alors les trois dernières lettres tapées sont A, B, A Exécution arrive à l’état 4 ⇒ pred3 vrai ⇒ on a une exécution qui se termine par 3 4 pred2 vraie à l’état 3 ⇒ l’exécution se termine par la suite 2 3 4 ⇒ les dernières lettres tapées ABA ⇒ P1 vraie Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Vérification sur modèle 1 1 2 pA 2 1 2 3 pred2 pB 1 1 2 1 2 3 1 2 1 2 3 1 4 pred3 pA C ’est le début de l ’arbre Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.3. Types de propriétés temporelles Sûreté (Safety) Invariants Quelque chose de mauvais n’arrivera jamais pas d’accès simultané de A et B à la section critique Vivacité (Liveness) Quelque chose souhaité finira par avoir lieu si A veut entrer à la section, alors inévitablement il aura cet accès Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.3. Types de propriétés temporelles Fatalité sous certaines conditions quelque chose de bien finira par avoir lieu au moins une fois à partir d’un certain état". Dans une logique temporelle elle s’exprime sous la forme de: F   G (p  q) Instant courant q p, q p p Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.3. Types de propriétés temporelles Fatalité sous certaines conditions quelque chose de bien finira par avoir lieu au moins une fois à partir d’un certain état". Dans une logique temporelle elle s’exprime sous la forme de: F   G (p  q) non satisfaite Instant courant p q p p p Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.3.Types de propriétés temporelles Atteignabilité ou accessibilité Ces propriétés énoncent qu’une certaine situation peut être atteinte. Nous pouvons exprimer aussi que quelque chose n’est jamais atteignable et nous parlons alors d’inatteignabilité. Dans ce cas, on se situe dans la classe des propriétés de sûreté. (p   q V O q ) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.3. Types de propriétés temporelles Equité énonce que, sous certaines conditions, quelque chose aura lieu un nombre infini de fois. Equité faible exprime que si une transition est continuellement activable alors elle est infiniment souvent activée. Equité forte exprime que si une transition est infiniment souvent activable alors elle sera infiniment souvent activée. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.3. Les connecteurs temporels et les quantificateurs de chemins Besoin d’exprimer une classe de propriétés et pas de cas particlierrs Les langages naturels sont imprécis Les langages graphiques manquent l’expressivité On se tourne vers les spécifications logiques Pourquoi les Logiques temporelles exprimer sans ambiguité les propriétés attendues prouver la correction du système automatiquement concises, expressives, algorithmiques, decision Logique temporelle Logique classique + opérateurs dédiés au temps Connecteurs temporels + quantificateurs de chemin Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Application des logiques pour la vérification Formule |-- Formule Vérification par preuve de théorèmes L’implication ou l’équivalence entre la spécification et l’implémentation est un théorème à prouver Modèle |= Formule On peut utiliser la preuve de théorèmes ou le modelchecking le modelchecking traite la relation sémantique et montre que l’implémentation est un modèle pour les formules spécifiées Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Application des logiques pour la vérification Logique propositionnelle Logique des prédicats du 1er ordre Logique des prédicats d’ordre supérieur Logique modale / Logique temporelle Décrivent la vérité des assertions dans le temps Appropriées pour la description de comportements dans le temps Linéaires ou arborescentes Utilisées dans les outils de model-checking et sert à énoncer formellement des propriétés portant sur les exécutions d’un système. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.4. Les connecteurs temporels et les quantificateurs de chemins Deux sortes d’opérateurs dédiés au temps Connecteurs temporels: sur un chemin Suite d’événements attendus sur un chemin Les connecteurs (U (Jusqu’à), X (suivant O), G (toujours ), F (Fatalement ) Exemple : p à un instant ou état courant ssi p est vrai au même instant ou bien à un instant futur Instant courant p p Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.4. Les connecteurs temporels et les quantificateurs de chemins Insuffisant : en général on veut savoir si tout ou une partie des chemins partant d’un état donné vérifient une propriété Quantificateurs de chemin : sur un (dépliage du) système de transitions Quantifie les chemins partant d’un état qui doivent vérifier la propriété Les quantificateurs A (pour tout chemin ), E(il existe un chemin au moins ) Exemple :  p à un état courant ssi il existe au moins un chemin issu de cet état qui vérifie Toujours p (y compris l’état lui même Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Les connecteurs temporels Temps linéaire Logique propositionnelle + opérateurs temporels Inévitablement p ⃟ p = Fp p Instant courant ⃟ p Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Les connecteurs temporels Toujours p ⃞p = Gp ⃞p Instant courant p p p p Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Les connecteurs temporels A l’instant suivant p vrai ⃝p = Xp Instant courant (, i) (, i+1) p ⃝p (, i) |=O p ssi (, i+1 ) |= p Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Les connecteurs temporels p vrai jusqu’à q vrai p  q Est-ce que l’état initial satisfait pUq vrai p  q (, 0) Instant courant p  q q p p p q (, i) |= p  q ssi il existe j, i  j  || tel que (, j) |= q et pour tout k tel que i  k <j, on a (, k) |= p, Il existe un état qui vérifie q et depuis l’état courant jusqu’ à cet état qui vérifie q, p est vrai Rq. Si un état vérifie q alors cet état vérifie aussi pUq (on n’a pas un état avant) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Syntaxe Les propositions atomiques sont des formules LTLP Si p et q sont deux formules alors p  q, ┐p, p  q et ⃝p Abréviations p∨q = ┐(┐p  ┐q) true = p ∨ ┐p p ⇒ q = ┐p ∨ q false = ┐true p ⇔ q = p⇒q  q⇒p ⃟p = true  p ⃞p = ┐⃟ ┐p p U q p p p q ⃟ q T T T T q Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Application: Exprimer en PLTL la propriété suivante : A chaque fois qu’il y a p, le système se remet à un état qui vérifie q. Quelque soit l’exécution, toute demande d’accès à une section critique sera inévitablement satisfaite. G(p -> F q) AG(p -> A F q) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Exemples Si nous sommes dans un état d’alerte (maintenant) alors nous serons dans un état d’arrêt (plus tard): alerte → ⃟ arret (accessibilité) Si nous voulons préciser que cette propriété reste toujours vraie alors, nous obtenons: ⃞ (alerte → ⃟ arret). A partir d’une alerte, l’alarme est en marche jusqu’à l’arrêt qui suivra forcément: ⃞ (alerte → (alarme arret) aame arm arm arm arm arm arret alerte Alarme U arret Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.5. La logique temporelle linéaire propositionnelle LTLP (PLTL) Exemple Toute demande sera suivie d’une réponse ⃞(demande → ⃟ réponse) ⃞(demande_A → ⃟ Acces_A) Pas d’accès simultané ⃞┐(acces_A  acces_B) invariance Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique PLTL Application j 1 2 3 4 5 6 X X = 0 T F X = 1 O(x=1) (x=0)  O(x=1) ((x=0)  O(x=1)) ((x=0)  O(x=1)) (, i) |=O F ssi (, i+1 ) |= F (, i) |= F ssi  j i (, j ) |= F Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique PLTL Application (interprétation sur une séquence d’états = 0,1, … j 1 2 3 4 5 6 X … X > 3 F T ( X > 3)  (X > 3) j 1 2 3 4 5 X … X = 4 F T  (X = 4)   (X = 4) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique PLTL Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique PLTL La définition de la satisfaction d’une formule PLTL  dans un modèle donné : s0, s1, s2, …. est basée sur la validité d’une proposition p à la position i de la séquence , i  0 qu’on note par : (, i) |= p Si (, i) |= p ssi si |= p (, i) |=  ssi il n’est pas vrai que (, i) |=  (, i) |=   ssi (, i) |=  et (, i) |=  (, i) |= X ssi i < || et (, i+1) |=  (, i) |= F ssi il existe j tel que i  j  || et (, j) |=  (, i) |= G ssi pour tout j tel que i  j  || et (, j) |=  (, i) |=    ssi il existe j, i  j  || tel que (, j) |=  et pour tout k tel que i  k <j, on a (, k) |= , Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Limite des connecteurs temporels Les connecteurs temporels Considèrent une exécution à la fois Exécutions indépendantes les unes des autres Le futur est déterminé On peut parler d’un futur possible selon le choix de l’action du système q0 Chaud ok 1 : (q0 : chaud, ok)  (q1 : ok)  (q0 : chaud, ok)  (q1 : ok)  (q0 : chad, ok) … 2 : (q0 : chaud, ok)  (q1 : ok)  (q2 : erreur)  (q0 : chaud, ok)  (q1 : ok) … 3 : (q0 : chaud, ok)  (q1 : ok)  (q2 : errer)  (q2 : erreur)  (q2 : erreur) … 4 : … . q1 ok q2 erreur Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Limite des connecteurs temporels Certains états d’exécution ont le choix entre différents futurs par exemple q1 ok a le choix entre q0 chaud ok ou bien q2 erreur selon le fonctionnement du système q0 Chaud ok 1 : (q0 : chaud, ok)  (q1 : ok)  (q0 : chaud, ok)  (q1 : ok)  (q0 : chad, ok) … 2 : (q0 : chaud, ok)  (q1 : ok)  (q2 : erreur)  (q0 : chaud, ok)  (q1 : ok) … 3 : (q0 : chaud, ok)  (q1 : ok)  (q2 : errer)  (q2 : erreur)  (q2 : erreur) … 4 : … . q1 ok q2 erreur Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Limite des connecteurs temporels Des exécutions organisées en arbre On introduit les quantificateurs de chemin A : tous les chemins futurs vérifient la propriété E : il existe un chemin futur qui vérifie la propriété Exprimer L(q0) {chaud, ok) L(q1) = {ok} L(q2) = {erreur} Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Limite des connecteurs temporels L(q0) = {chaud, ok} L(q1) = {ok} L(q2) = {erreur} Application : Exprimer les énoncés suivants: si le système se trouve à l’état q0 (chaud, ok) alors il finira inévitablement par atteindre q1 (ok) ou bien q2 (erreur) (q0 -> (q1 V q2)) (((chaud /\ ok) -> (OK V erreur)) A chaque fois que le système se trouve à q0 ((q0 -> (q1 V q2))) le système à chaque fois qu’il se trouve à l’état q0, il finira par atteindre q2 ((q0 ->  q2)) Il existe au moins un chemin où fois qu’il se trouve à l’état q0, il finira par atteindre q2 ((q0 ->  q2)) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.6. La logique temporelle arborescente (CTL) CTL (Computation tree logic) Le temps est arborescent Nous examinons toutes les exécutions Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.6. La logique temporelle arborescente (CTL) CTL (Computation tree logic) Temps arborescent : chaque instant peut avoir plusieurs instants successeurs Dans chaque chemin de l’arbre, la correspondante séquence d’instants est isomorphe à |N Quantificateur d’états : ⃝, ⃟, ⃞,  Quantificateurs de chemins: Pour tout chemin : A (∀) Il existe un chemin : E (∃) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.6. La logique temporelle arborescente (CTL) Application Est-ce que le système modélisé Par cet automate satisfait les formules Temporelles suivantes : Op (quelque soit l’exécution L’état suivant satisfait p?  (O (p U q))  (O (p U q)) Dites si c’est vrai sinon donner un chemin ou elle n’est pas vraie 1 4 ? 2 5 3 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

IV.6. La logique temporelle arborescente (CTL) Corrigé Op (O (p U q))  (O (p U q)) 1 4 ? 1 3 2 p q 5 2 4 q 5 Op non car il existe un chemin ou on n’a pas Op : 0 3 5 1 ……. (O (p U q)) vrai : 0 1 2 5 …… (O (p U q)) non Contre exemple : 0 3 5 1…. 3 5 1 p Leila Ben Ayed 5 Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exercice Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

? Ax(p -> AGAF P) O(p ->  p) Ax(p -> AGAF P) O(p ->  p) Sur chaque chemin, l‘état suivant vérifie (p ->  p) c a d Si l’etat suivant vérifie p alors le meme etat vérifie  p 0 1 2 5 1 5 véifie 0 1 4 5 1 5 véifie 3 ne vérifie pas p Donc (p ->  p) = F -> ? =T ? 1 3 p q 2 4 q 5 5 1 p 5 1 p p Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Syntaxe de la logique temporelle arborescente (CTL) Toute proposition atomique est une formule CTL Si f et g sont des formules CTL alors ┐f, fg, AXf, EXf, A(f g), E(f g) sont des formules CTL Abbreviations A ⃟g = A(true  g) E ⃟g = E(true  g) E ⃟g = E(true  g) A⃝g = ┐E⃝┐g E⃞f = ┐A(true  ┐f) A ⃞ g = ┐E ⃟┐g Dualité: A est le dual de E A  =  E   E  =  A   Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Syntaxe de la logique temporelle arborescente (CTL) Quelle est la différence entre les deux formules AG F p et AG EF p ? AG F p énonce que le long de toutes les exécutions (A), p sera infiniment souvent vérifiée. AG EF p énonce que le long de toutes les exécutions (A), à tout moment (G), il existe un chemin (E) où p est fatal. Autrement dit p est toujours potentiellement atteignable. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique temporelle arborescente (CTL) Modèles Les modèles de la logique temporelle sont appelés des structures de Kripke. C’est un automate où les propositions qui étiquettent les états des automates jouent un rôle fondamental pour une logique basée sur les états (telle que CTL), les actions qui étiquettent les transitions ont moins d’importance. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique temporelle arborescente (CTL) Automate logiques temporelles Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique temporelle arborescente (CTL) Satisfaction Soit A = (Q, T, q0, l) un automate où T  Q x Q avec un étiquetage l qui à chaque état q  Q associe l’ensemble l(q) des propositions atomiques vérifiées par q.  une séquence d’états d’exécution d’un système.  = (0, 0), (1, 1), … (n, n)…. On écrit A, , i |=  qu’on « au temps i de l’exécution ,  est vraie ». Cela en parlant d’exécutions de A dont on n’exige pas qu’elles soient issues de l’état initial. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique temporelle arborescente (CTL) Interprétation des formules CTL: Dans A, , i |= , le contexte A est très souvent implicite et on l’omet dans les écritures. On écrit plutôt , i |  pour dire que  n’est pas satisfaite au temps i de . La définition de , i |=  se fait par induction sur la structure de . C’est-à-dire que la valeur de vérité d’une formule composée est donnée à partir des valeurs de vérité de ses sous-formules. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Sémantique de la logique temporelle arborescente (CTL) Interprétation des formules CTL: , i |= p ssi p  l((i)) , i |=  ssi il n’est pas vrai que , i |=  , i |=   ssi , i |=  et , i |=  , i |= X ssi i < || et , i+1 |=  , i |= F ssi il existe j tel que i  j  || et , j |=  , i |= G ssi pour tout j tel que i  j  || et , j |=  , i |=    ssi il existe j, i  j  || tel que , j |=  et pour tout k tel que i  k <j, on a , k |= , , i |= E ssi il existe un ’ tel que (0) …  (i) = ’(0)…’(i) et ’, i |= , , i |= A ssi pour tout ’ tel que (0) …  (i) = ’(0)… ’(i) et ’, i |= ,  pour dire que  n’est pas satisfaite au temps i de . IV.4.3. Interprétation des formules CTL: La définition de , i |=  se fait par induction sur la structure de . C’est-à-dire que la valeur de vérité d’une formule composée est donnée à partir des valeurs de vérité de ses sous-formules. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemples de formules CTL Toute requête est suivie de son acquittement A⃞(req → A ⃟ ack) A partir de n’importe quel état il est possible de démarrer A⃞ (E ⃟ restarted) E ⃟(started  ┐ready) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemples de formules CTL EFf EGf f f f f AGf AFf f f f f f f f f f f f f f EG f énonce qu'il existe une exécution satisfaisant f dans tous les états, AF f énonce que toutes les exécutions satisfont inévitablement f, EF f énonce qu'il existe une exécution où f est inévitablement satisfait, AG f énonce que toutes les exécutions satisfont f dans tous les états, Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemples de formules CTL EFf Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exemples de formules CTL EXf AXf f f f f Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exercice  chaud ∨  erreur L’automate suivante vérifie-t-elle les propriétés temporelles suivantes:  chaud ∨  erreur Aerreur Eerreur Vrai Faux Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Corrigé Chaud Ok erreur  chaud ∨  erreur (Vrai soit on a un chemin où infiniment souvent chaud est vrai (on revient à l’état q0 infiniment souvent) soit un chemin finalement toujours erreur) Aerreur (Faux) contre exemple: q0,q1,q0,q1 Eerreur (Vrai, il existe au moins un chemin qui vérifie la formule: q0-q1-q2-q2 Chaud Ok erreur Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Exercice e1 e2 e3 Exprimer la propriété d’absence de blocage pour ce système. Est-elle vérifiée? Réponse AG EX true Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Corrigé e1 e1 e2 e3 e2 e3 e1 AG EX true N’est pas vérifiée par le modèle (à partir de l’état e3 il n’est pas possible de redémarrer) Contre exemple: e1-e2-e3 e2 e3 e1 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1 …..

Exercice Pour chacune des formules suivantes, indiquer celles qui sont satisfaites par la structure Kripke. AX p AX(p  AFp)) A(q U q) E(q U q) AXA(p Uq) 2 1 3 5 4 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Réponse 1) AXp : vaut Faux Contre exemple : 0, 3, 5, … 2 1 3 5 4 1) AXp : vaut Faux Contre exemple : 0, 3, 5, … Car p est fausse à l’état 3 2) AX(p  AFp): vaut vrai À partir de l’état initial on atteint un état qui satisfait p 3) A(q U q): vaut vrai q => q U q 4) E(q U q): vaut vrai 5) AXA(p Uq): vaut faux Contre exemple: 0, 1, 4, 5, 1 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Réponse ? 2) AX(p  AFp): vaut vrai À partir de l’état initial on atteint un état qui satisfait p 2 1 3 5 4 P  AFp ? 1 3 p q P  Afp True AFp P 2 4 q 5 5 1 p 1 1 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1 p Leila Ben Ayed p 5

PLTL vs CTL PLTL Pas de quantificateurs A et E. Aucune expressivité sur les futurs possibles Logique linéaire: sur des chemins et pas des arbre Ne permet pas d’exprimer l’absence de blockage et l’atteignabilité CTL Quantificateurs A et E, Manque un peu d’expressivité (ex: GF, FG) Permet d’exprimer d’une façon limitée la propriété d’équité Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

PLTL vs CTL PLTL CTL* CTL Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Expression des propriétés temporelles Sûreté: Quelque chose de mauvais n’arrivera jamais Soit  : formule qui exprime la sûreté PLTL : de la forme G  Exemple: par exemple pas d’accès simultané à une section critique: G ┐(acces_A  acces_B) CTL: de la forme A G  Exemple: A G ┐(acces_A  acces_B) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Expression des propriétés temporelles Fatalité: sous certaines conditions quelque chose de bien finira par avoir lieu au moins une fois à partir d’un certain état". PLTL : de la forme G (p  F q) Exemple: si A veut entrer à la section, alors inévitablement il aura cet accès G (dde_acces  F acces) CTL: de la forme AG (p  A F q) Exemple: A G (dde_acces  A F acces) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Expression des propriétés temporelles Atteignabilité : Ces propriétés énoncent qu’une certaine situation peut être atteinte (appartient à la classe des propriétés de sûreté). PLTL : non exprimable La possibilité n’est pas exprimable en PLTL CTL: de la forme AG E F  Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Expression des propriétés temporelles Absence de blocage: Ces propriétés énoncent que le système ne peut jamais se trouver dans une situation où il lui est impossible de progresser. PLTL : non exprimable CTL: de la forme AG E X true Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Expression des propriétés temporelles Equité: sous certaines conditions, quelque chose aura lieu un nombre infini de fois. PLTL: GF  CTL: AG AF  (limitée) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

NuSMV: un model checker Principe http://nusmv.fbk.eu/ Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1 96

Exercice: Un robot de transport de pièces L'objectif de la modélisation est le développement du logiciel de commande du bras de transport de pièces Il est composé de 3 dispositifs : un dispositif d'arrivée des pièces appelé Da un dispositif de transport de pièces appelé Dt qui est un bras muni d'une pince, Un dispositif d'évacuation de pièces appelé De sur lequel Dt transporte les pièces arrivant sur Da. Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Ex1: Un robot de transport de pièces Proposer une structure Kripke du robot de transport: On se concentre sur l'essentiel : le transport des pièces. pour simplifier on ignore Da, on s'intéresse uniquement à l'introduction de la pièce dans Dt et à sa sortie sur De, nous ne regardons pas le fonctionnement (ouverture, fermeture, etc.) de la pince, Propriété à vérifier Pr: si le dispositif de transport Dt décharge alors De est libre. L’écrire en logique temporelle Vérifier si votre Kripke satisfait Pr Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

Réponse Propriété Pr à vérifier: AG ((┐DtL ∧ EX(DtL)) ⇒ DeL) Evac chargt Déchargt DtL: Dispositif de transport libre DeL: Dispositif d’évacuation libre Propriété Pr à vérifier: AG ((┐DtL ∧ EX(DtL)) ⇒ DeL) Le modèle satisfait la propriété Pr e3 Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1