La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

IV. model checking Les logiques temporelles

Présentations similaires


Présentation au sujet: "IV. model checking Les logiques temporelles"— Transcription de la présentation:

1 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

2 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

3 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

4 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

5 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

6 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

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

8 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| = ( = 15) f1: 1+1 = (H1) f2: 11+1 = 11 (R1(f1)) Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

9 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

10 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

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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

21 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

22 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

23 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

24 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

25 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

26 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

27 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

28 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

29 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

30 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

31 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

32 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

33 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

34 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

35 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

36 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

37 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

38 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

39 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

40 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

41 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

42 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

43 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

44 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

45 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

46 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

47 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

48 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

49 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

50 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

51 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

52 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

53 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

54 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

55 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

56 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

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

58 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

59 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

60 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

61 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

62 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

63 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

64 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

65 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

66 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 : ……. (O (p U q)) vrai : …… (O (p U q)) non Contre exemple : …. 3 5 1 p Leila Ben Ayed 5 Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1

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

68 ? 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 véifie 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

69 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

70 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

71 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

72 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

73 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

74 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

75 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

76 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

77 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

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

79 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

80 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

81 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

82 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

83 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 …..

84 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

85 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

86 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

87 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

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

89 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

90 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

91 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

92 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

93 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

94 NuSMV: un model checker
Principe Leila Ben Ayed Méthodes Formelles - Spécification et Vérification Formlles - Mastère M1 96

95 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

96 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

97 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


Télécharger ppt "IV. model checking Les logiques temporelles"

Présentations similaires


Annonces Google