Model checking temporisé



Documents pareils
Model checking temporisé Algorithmes efficaces et complexité

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

Programmation linéaire

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

Tu Tuitete. Domaine de Lavalette 361, Jean François Breton ; B.P MONTPELLIER Cedex 5 Tél : Fax :

Théorème du point fixe - Théorème de l inversion locale

Chapitre 5 : Flot maximal dans un graphe

Contribution à l algorithmique de la vérification

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

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

3 Approximation de solutions d équations

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Limites finies en un point

Fonctions de plusieurs variables

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

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Rappels sur les suites - Algorithme

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Plus courts chemins, programmation dynamique


Programmation Linéaire - Cours 1

Résolution d équations non linéaires

Intelligence Artificielle Planification

Chronogrammes et contraintes. à la modélisation de systèmes dynamiques à événements

Objets Combinatoires élementaires

Algorithmique des Systèmes Répartis Protocoles de Communications

Contribution aux tests de vacuité pour le model checking explicite

Université Paris-Dauphine DUMI2E 1ère année, Applications

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Programmation linéaire

Fondements de l informatique Logique, modèles, et calculs

Chapitre 7. Récurrences

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

Intégration et probabilités TD1 Espaces mesurés

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Conception des systèmes répartis

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE

Systèmes décisionnels et programmation avancée

aux différences est appelé équation aux différences d ordre n en forme normale.

Correction du baccalauréat ES/L Métropole 20 juin 2014

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Polynômes à plusieurs variables. Résultant

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Optimisation Discrète

UNIVERSITÉ DEMONTRÉAL

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

OCL - Object Constraint Language

Algorithmes d'apprentissage

Calculabilité Cours 3 : Problèmes non-calculables.

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Resolution limit in community detection

Chapitre 2. Eléments pour comprendre un énoncé

Image d un intervalle par une fonction continue

Apprentissage Automatique

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Cours Fonctions de deux variables

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

CH.6 Propriétés des langages non contextuels

Évaluation et implémentation des langages

Équations non linéaires

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

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Introduction à l étude des Corps Finis

Bases de données. Chapitre 1. Introduction

Théorie et codage de l information

Programmes des classes préparatoires aux Grandes Ecoles

Programmation linéaire et Optimisation. Didier Smets

Chap. 3: Le modèle de données entité-association (E.A.)

Cours de Génie Logiciel

Formula Negator, Outil de négation de formule.

Systèmes de communications numériques 2

Cours 1 : La compilation

Modélisation et Simulation

Baccalauréat ES Amérique du Nord 4 juin 2008

Fonction inverse Fonctions homographiques

Problèmes de Mathématiques Filtres et ultrafiltres

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

Table des matières. Introduction

Probabilités III Introduction à l évaluation d options

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

1 Définition et premières propriétés des congruences

Correction du baccalauréat STMG Polynésie 17 juin 2014

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

I. Polynômes de Tchebychev

Cours d Analyse. Fonctions de plusieurs variables

Raisonnement probabiliste

MIS 102 Initiation à l Informatique

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

Exercices - Polynômes : corrigé. Opérations sur les polynômes

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Transcription:

Model checking temporisé Béatrice Bérard LAMSADE Université Paris-Dauphine & CNRS berard@lamsade.dauphine.fr ETR 07, 5 septembre 2007 1/44

Nécessité de vérifier des systèmes... 2/44

Nécessité de vérifier des systèmes... critiques 2/44

Nécessité de vérifier avec des méthodes formelles génération de tests démonstration assistée model-checking 3/44

Nécessité de vérifier avec des méthodes formelles génération de tests démonstration assistée model-checking 3/44

Nécessité de vérifier avec des méthodes formelles génération de tests démonstration assistée model-checking 3/44

Nécessité de vérifier avec des méthodes formelles génération de tests démonstration assistée model-checking Le système satisfait-il sa spécification? 3/44

Nécessité de vérifier avec des méthodes formelles génération de tests démonstration assistée model-checking Le système satisfait-il sa spécification? Modélisation ϕ 3/44

Nécessité de vérifier avec des méthodes formelles génération de tests démonstration assistée model-checking Le système satisfait-il sa spécification? Modélisation = ϕ algorithme de model-checking 3/44

Difficultés pour chacune des trois étapes Construction d un modèle M avec un système de transitions : expressivité, taille du modèle (explosion combinatoire du nombre d états). Choix d une logique dans laquelle exprimer la formule ϕ : expressivité, facilité d utilisation. Algorithme de model-checking (M = ϕ?) pour une classe de modèles et un langage de spécification : décidabilité, complexité, efficacité des outils associés. 4/44

Difficultés pour chacune des trois étapes Construction d un modèle M avec un système de transitions : expressivité, taille du modèle (explosion combinatoire du nombre d états). Choix d une logique dans laquelle exprimer la formule ϕ : expressivité, facilité d utilisation. Algorithme de model-checking (M = ϕ?) pour une classe de modèles et un langage de spécification : décidabilité, complexité, efficacité des outils associés. 4/44

Difficultés pour chacune des trois étapes Construction d un modèle M avec un système de transitions : expressivité, taille du modèle (explosion combinatoire du nombre d états). Choix d une logique dans laquelle exprimer la formule ϕ : expressivité, facilité d utilisation. Algorithme de model-checking (M = ϕ?) pour une classe de modèles et un langage de spécification : décidabilité, complexité, efficacité des outils associés. 4/44

Vérification quantitative en ajoutant des caractéristiques... temporisées, probabilistes, de coût, aux modèles : par exemple en tenant compte des délais dans des protocoles de communication, aux logiques : par exemple pour exprimer des propriétés de temps de réponse, tout en conservant des algorithmes de model-checking. 5/44

Vérification quantitative en ajoutant des caractéristiques... temporisées, probabilistes, de coût, aux modèles : par exemple en tenant compte des délais dans des protocoles de communication, aux logiques : par exemple pour exprimer des propriétés de temps de réponse, tout en conservant des algorithmes de model-checking. 5/44

Vérification quantitative en ajoutant des caractéristiques... temporisées, probabilistes, de coût, aux modèles : par exemple en tenant compte des délais dans des protocoles de communication, aux logiques : par exemple pour exprimer des propriétés de temps de réponse, tout en conservant des algorithmes de model-checking. 5/44

Plan Modèles temporisés Logiques temporisées Model-checking Conclusion 6/44

Plan Modèles temporisés Logiques temporisées Model-checking Conclusion 7/44

Définition Systèmes de transitions Act alphabet d actions, Prop ensemble de propositions atomiques, T = (S, s 0, L, E) système de transitions S ensemble de configurations, s0 configuration initiale, L : S 2 Prop, étiquetage des configurations par des ensembles de propositions atomiques, E S Act S contient des transitions d action : s a s, exécution instantanée de l action a Exemple : une structure de Kripke Une exécution : q 0 q 1 q 0 q 1 q 2 q 0... ok fault ok fault alarm ok 8/44

Définition Systèmes de transitions Act alphabet d actions, Prop ensemble de propositions atomiques, T = (S, s 0, L, E) système de transitions S ensemble de configurations, s0 configuration initiale, L : S 2 Prop, étiquetage des configurations par des ensembles de propositions atomiques, E S Act S contient des transitions d action : s a s, exécution instantanée de l action a Exemple : une structure de Kripke q 0, ok q 1, fault un seul type d action (omise) ok, fault, alarm : prop. atomiques q 2, alarm Une exécution : q 0 q 1 q 0 q 1 q 2 q 0... ok fault ok fault alarm ok 8/44

Définition Systèmes de transitions Act alphabet d actions, Prop ensemble de propositions atomiques, T = (S, s 0, L, E) système de transitions S ensemble de configurations, s0 configuration initiale, L : S 2 Prop, étiquetage des configurations par des ensembles de propositions atomiques, E S Act S contient des transitions d action : s a s, exécution instantanée de l action a Exemple : une structure de Kripke q 0, ok q 1, fault un seul type d action (omise) ok, fault, alarm : prop. atomiques q 2, alarm Une exécution : q 0 q 1 q 0 q 1 q 2 q 0... ok fault ok fault alarm ok 8/44

Définition Systèmes de transitions Act alphabet d actions, Prop ensemble de propositions atomiques, T = (S, s 0, L, E) système de transitions S ensemble de configurations, s0 configuration initiale, L : S 2 Prop, étiquetage des configurations par des ensembles de propositions atomiques, E S Act S contient des transitions d action : s a s, exécution instantanée de l action a Exemple : un automate (fini) p q 0 q 1 r r e m q 2 prop. atomiques : noms des états m, p, r, e : actions Une exécution : q 0 p q1 r q0 p q1 e q2 r q0 9/44

Définition Systèmes de transitions Act alphabet d actions, Prop ensemble de propositions atomiques, T = (S, s 0, L, E) système de transitions S ensemble de configurations, s0 configuration initiale, L : S 2 Prop, étiquetage des configurations par des ensembles de propositions atomiques, E S Act S contient des transitions d action : s a s, exécution instantanée de l action a Exemple : un automate (fini) p q 0 q 1 r r e m q 2 prop. atomiques : noms des états m, p, r, e : actions Une exécution : q 0 p q1 r q0 p q1 e q2 r q0 9/44

Systèmes de transitions temporisés Définition Act alphabet d actions, Prop ensemble de propositions atomiques, T = (S, s 0, L, E) système de transitions S ensemble de configurations, s0 configuration initiale, L : S 2 Prop, étiquetage des configurations par des ensembles de propositions atomiques, E S Act S contient des transitions d action : s a s, exécution instantanée de l action a des transitions de durée : s d s, écoulement d une durée d. 10/44

Systèmes de transitions temporisés Définition Act alphabet d actions, T domaine de temps plongé dans R 0, Prop ensemble de propositions atomiques, T = (S, s 0, L, E) système de transitions temporisé S ensemble de configurations, s0 configuration initiale, L : S 2 Prop, étiquetage des configurations par des ensembles de propositions atomiques, E S (Act T) S contient des transitions d action : s a s, exécution instantanée de l action a des transitions de durée : s d s, écoulement d une durée d. 10/44

Exemple 1 : structures de Kripke avec durées Une variante de [Emerson et al. 1992] [4, + [ q 0, ok q 1, fault [0, + [ [0, 2] [0, 5] [3, 3] q 2, alarm ok, fault, alarm : prop. atomiques domaine de temps : N contrainte : un intervalle de N Une exécution : q 0 15 q 1 1 q0 8 q1 3 q2 4 q0 Rq : uniquement des transitions de durées (Act est vide). 11/44

Exemple 1 : structures de Kripke avec durées Une variante de [Emerson et al. 1992] [4, + [ q 0, ok q 1, fault [0, + [ [0, 2] [0, 5] [3, 3] q 2, alarm ok, fault, alarm : prop. atomiques domaine de temps : N contrainte : un intervalle de N Une exécution : q 0 15 q 1 1 q0 8 q1 3 q2 4 q0 Rq : uniquement des transitions de durées (Act est vide). 11/44

Exemple 1 : structures de Kripke avec durées Une variante de [Emerson et al. 1992] [4, + [ q 0, ok q 1, fault [0, + [ [0, 2] [0, 5] [3, 3] q 2, alarm ok, fault, alarm : prop. atomiques domaine de temps : N contrainte : un intervalle de N Une exécution : q 0 15 q 1 1 q0 8 q1 3 q2 4 q0 Rq : uniquement des transitions de durées (Act est vide). 11/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e x : horloge à valeurs dans R 0 m, p, r, e : actions ok, fault, alarm : prop. atomiques x < 3, x = 3, x 4 : gardes x 3 : invariant {x} : remise à zéro de x 12/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Contraintes et valuations d horloges x : horloge à valeurs dans R 0 m, p, r, e : actions ok, fault, alarm : prop. atomiques x < 3, x = 3, x 4 : gardes x 3 : invariant {x} : remise à zéro de x X ensemble d horloges, valuation v : X R 0, C(X) ensemble de contraintes d horloges : conjonctions de contraintes atomiques de la forme x c, pour une constante c et dans {<,, =,, >}. 12/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Automate temporisé A = (Q,q 0,l,Inv, ) Q ensemble d états, q0 état initial, x : horloge à valeurs dans R 0 m, p, r, e : actions ok, fault, alarm : prop. atomiques x < 3, x = 3, x 4 : gardes x 3 : invariant {x} : remise à zéro de x l fonction d étiquetage, Inv associe un invariant à chaque état contient des transitions : g, a, r q q garde action reset 12/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) q 1, fault x 3 x = 3, e 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Exemple 2 : automates temporisés Une variante de [Alur et Dill 1990] m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e Configurations : (q, v) v valeur de x satifaisant l invariant Une exécution : (q 0, [0]) 2.1 (q 2, [5.1]) r (q 0, [0]) 8.3 (q 0, [8.3]) p (q 1, [0]) 3 (q 1, [3]) e (q 2, [3]) Mot temporisé : (p, 8.3)(e, 11.3)(r, 13.4)... Etiquetage : ok, fault, alarm, ok... 13/44

Sémantique d un automate temporisé (1) Opérations sur les valuations X ensemble d horloges. Pour une valuation v : pour un sous-ensemble r de X, on obtient v[r 0] en remettant à 0 les horloges de r et en conservant les autres valeurs, pour une durée d, on obtient v + d en ajoutant d à toutes les valeurs d horloges. 14/44

Sémantique d un automate temporisé (1) Opérations sur les valuations X ensemble d horloges. Pour une valuation v : pour un sous-ensemble r de X, on obtient v[r 0] en remettant à 0 les horloges de r et en conservant les autres valeurs, pour une durée d, on obtient v + d en ajoutant d à toutes les valeurs d horloges. Vue géométrique avec deux horloges x et y y x 14/44

Sémantique d un automate temporisé (1) Opérations sur les valuations X ensemble d horloges. Pour une valuation v : pour un sous-ensemble r de X, on obtient v[r 0] en remettant à 0 les horloges de r et en conservant les autres valeurs, pour une durée d, on obtient v + d en ajoutant d à toutes les valeurs d horloges. Vue géométrique avec deux horloges x et y y [ 0 0 ] [ 1.2 1.2 1.2 ] x 14/44

Sémantique d un automate temporisé (1) Opérations sur les valuations X ensemble d horloges. Pour une valuation v : pour un sous-ensemble r de X, on obtient v[r 0] en remettant à 0 les horloges de r et en conservant les autres valeurs, pour une durée d, on obtient v + d en ajoutant d à toutes les valeurs d horloges. Vue géométrique avec deux horloges x et y y [ 0 0 ] [ 1.2 1.2 1.2 ] [ x:=0 0 1.2 ] x 14/44

Sémantique d un automate temporisé (1) Opérations sur les valuations X ensemble d horloges. Pour une valuation v : pour un sous-ensemble r de X, on obtient v[r 0] en remettant à 0 les horloges de r et en conservant les autres valeurs, pour une durée d, on obtient v + d en ajoutant d à toutes les valeurs d horloges. Vue géométrique avec deux horloges x et y y [ 0 0 ] [ 1.2 1.2 1.2 ] [ x:=0 0 1.2 ] 2 [ 2 3.2 ] x 14/44

Sémantique d un automate temporisé (1) Opérations sur les valuations X ensemble d horloges. Pour une valuation v : pour un sous-ensemble r de X, on obtient v[r 0] en remettant à 0 les horloges de r et en conservant les autres valeurs, pour une durée d, on obtient v + d en ajoutant d à toutes les valeurs d horloges. Vue géométrique avec deux horloges x et y y [ 0 0 ] [ 1.2 1.2 1.2 ] [ x:=0 0 1.2 ] 2 [ 2 3.2 ] y:=0 [ 2 0 ] x 14/44

Sémantique d un automate temporisé (2) Définition Pour un automate temporisé A = (Q, q 0, l, Inv, ), le système de transitions est T = (S, s 0, L, E) avec : ensemble de configurations S = {(q, v) Q R 0 v = Inv(q)}, configuration initiale s0 = (q 0,0), étiquetage L(q, v) = l(q) transitions d action (q, v) a (q, v ), s il existe une transition q g,a,r q de l automate telle que v = g et v = Inv(q ), avec v = v[r 0], de durée (q, v) d (q, v + d) si v + d = Inv(q). 15/44

Sémantique d un automate temporisé (2) Définition Pour un automate temporisé A = (Q, q 0, l, Inv, ), le système de transitions est T = (S, s 0, L, E) avec : ensemble de configurations S = {(q, v) Q R 0 v = Inv(q)}, configuration initiale s0 = (q 0,0), étiquetage L(q, v) = l(q) transitions d action (q, v) a (q, v ), s il existe une transition q g,a,r q de l automate telle que v = g et v = Inv(q ), avec v = v[r 0], de durée (q, v) d (q, v + d) si v + d = Inv(q). 15/44

Sémantique d un automate temporisé (2) Définition Pour un automate temporisé A = (Q, q 0, l, Inv, ), le système de transitions est T = (S, s 0, L, E) avec : ensemble de configurations S = {(q, v) Q R 0 v = Inv(q)}, configuration initiale s0 = (q 0,0), étiquetage L(q, v) = l(q) transitions d action (q, v) a (q, v ), s il existe une transition q g,a,r q de l automate telle que v = g et v = Inv(q ), avec v = v[r 0], de durée (q, v) d (q, v + d) si v + d = Inv(q). 15/44

Plan Modèles temporisés Logiques temporisées Model-checking Conclusion 16/44

Exemple : temps de réponse Logiques temporelles Tout signal est suivi d une réponse en CTL : AG(signal AF reponse) en LTL : G(signal F reponse) CTL et LTL, deux sous-classes incomparables de CTL* Logiques temporisées Tout signal est suivi d une réponse en moins de 5 unités de temps Comment étendre les modalités des logiques temporelles avec un temps explicite? 17/44

Exemple : temps de réponse Logiques temporelles Tout signal est suivi d une réponse en CTL : AG(signal AF reponse) en LTL : G(signal F reponse) CTL et LTL, deux sous-classes incomparables de CTL* Logiques temporisées Tout signal est suivi d une réponse en moins de 5 unités de temps Comment étendre les modalités des logiques temporelles avec un temps explicite? 17/44

Exemple : temps de réponse Logiques temporelles Tout signal est suivi d une réponse en CTL : AG(signal AF reponse) en LTL : G(signal F reponse) CTL et LTL, deux sous-classes incomparables de CTL* Logiques temporisées Tout signal est suivi d une réponse en moins de 5 unités de temps Comment étendre les modalités des logiques temporelles avec un temps explicite? 17/44

Exemple : temps de réponse Logiques temporelles Tout signal est suivi d une réponse en CTL : AG(signal AF reponse) en LTL : G(signal F reponse) CTL et LTL, deux sous-classes incomparables de CTL* Logiques temporisées Tout signal est suivi d une réponse en moins de 5 unités de temps Comment étendre les modalités des logiques temporelles avec un temps explicite? 17/44

Exemple : temps de réponse Logiques temporelles Tout signal est suivi d une réponse en CTL : AG(signal AF reponse) en LTL : G(signal F reponse) CTL et LTL, deux sous-classes incomparables de CTL* Logiques temporisées Tout signal est suivi d une réponse en moins de 5 unités de temps Comment étendre les modalités des logiques temporelles avec un temps explicite? 17/44

Exemple : temps de réponse Logiques temporelles Tout signal est suivi d une réponse en CTL : AG(signal AF reponse) en LTL : G(signal F reponse) CTL et LTL, deux sous-classes incomparables de CTL* Logiques temporisées Tout signal est suivi d une réponse en moins de 5 unités de temps Comment étendre les modalités des logiques temporelles avec un temps explicite? 17/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault q 2, alarm 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault avec un arbre d exécution fault ok alarm q 2, alarm ok fault ok. ok alarm fault ok........ 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault avec un arbre d exécution fault ok alarm q 2, alarm E : il existe un chemin X : position suivante (next) q 1 = EXok ok fault ok. ok alarm fault ok........ 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault avec un arbre d exécution fault ok alarm q 2, alarm A : pour tout chemin ϕuψ : until ok fault ok. ok alarm fault ok........ 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault avec un arbre d exécution fault ok alarm q 2, alarm Abréviations : AFψ pour A true Uψ q 1 = AFok ok fault ok. ok alarm fault ok........ 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault avec un arbre d exécution fault ok alarm q 2, alarm Abréviations : EFψ pour E true Uψ AGψ pour EF( ϕ) ok fault ok. ok alarm fault ok........ 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault avec un arbre d exécution fault ok alarm q 2, alarm ok fault ok q. 0 = AG(AFok) ok alarm fault ok de tout état, sur tout chemin partant........ de cet état, il est possible d atteindre ok 18/44

Syntaxe de CTL CTL ϕ, ψ ::= P ϕ EXϕ AXϕ ϕ ψ EϕUψ AϕUψ où P est une proposition atomique dans Prop. Interprétation : sur les états d une structure de Kripke q 0, ok q 1, fault avec un arbre d exécution fault ok alarm q 2, alarm K = AG(AFok) ok fault ok. ok alarm fault ok........ 18/44

CTL+temps : TCTL Syntaxe de TCTL [Alur - Henzinger 1991] ϕ, ψ ::= P ϕ ϕ ψ EϕU c ψ AϕU c ψ où P est une proposition atomique dans Prop, c est une constante dans N et l opérateur est dans {<, >,,, =}. Interprétation : sur des configurations d un STT 19/44

CTL+temps : TCTL Syntaxe de TCTL [Alur - Henzinger 1991] ϕ, ψ ::= P ϕ ϕ ψ EϕU c ψ AϕU c ψ où P est une proposition atomique dans Prop, c est une constante dans N et l opérateur est dans {<, >,,, =}. Interprétation : sur des configurations d un STT 19/44

CTL+temps : TCTL Syntaxe de TCTL [Alur - Henzinger 1991] ϕ, ψ ::= P ϕ ϕ ψ EϕU c ψ AϕU c ψ où P est une proposition atomique dans Prop, c est une constante dans N et l opérateur est dans {<, >,,, =}. Interprétation : sur des configurations d un STT s. Durée= 2 19/44

CTL+temps : TCTL Syntaxe de TCTL [Alur - Henzinger 1991] ϕ, ψ ::= P ϕ ϕ ψ EϕU c ψ AϕU c ψ où P est une proposition atomique dans Prop, c est une constante dans N et l opérateur est dans {<, >,,, =}. Interprétation : sur des configurations d un STT s s = EϕU 2 ψ ϕ ψ. Durée= 2 19/44

CTL+temps : TCTL Syntaxe de TCTL [Alur - Henzinger 1991] ϕ, ψ ::= P ϕ ϕ ψ EϕU c ψ AϕU c ψ où P est une proposition atomique dans Prop, c est une constante dans N et l opérateur est dans {<, >,,, =}. Interprétation : sur des configurations d un STT s s = AϕU 2 ψ ϕ ψ. Durée= 2 19/44

CTL+temps : TCTL Syntaxe de TCTL [Alur - Henzinger 1991] ϕ, ψ ::= P ϕ ϕ ψ EϕU c ψ AϕU c ψ où P est une proposition atomique dans Prop, c est une constante dans N et l opérateur est dans {<, >,,, =}. Interprétation : sur des configurations de T = (S,s 0,L,E) s = EϕU c ψ s = AϕU c ψ s il existe une exécution ρ partant de s telle que ρ = ϕu c ψ si, pour toute exécution ρ partant de s, ρ = ϕu c ψ avec ρ = ϕu c ψ s il existe une position p de ρ telle que Dur(ρ p ) c, s p = ψ et pour toute position p < ρ p, s p = ϕ 20/44

TCTL et temps de réponse Tout signal est suivi d une réponse en moins de 5 unités de temps : AG(signal AF 5 reponse) et automates temporisés A = (Q, q 0, l, Inv, ) un automate temporisé, T = (S, s 0, L, E) le système de transitions associé avec : la configuration initiale s0 = (q 0, v 0 ) où v 0 = 0, des exécutions de la forme (q 0, v 0 ) d 1 (q 0, v 0 + d 1 ) a 1 (q 1, v 1 ) d 2 (q 1, v 1 + d 2 ) a 2 (q 2, v 2 ) Pour une formule ϕ de TCTL, A = ϕ si s 0 = ϕ. 21/44

TCTL et temps de réponse Tout signal est suivi d une réponse en moins de 5 unités de temps : AG(signal AF 5 reponse) et automates temporisés A = (Q, q 0, l, Inv, ) un automate temporisé, T = (S, s 0, L, E) le système de transitions associé avec : la configuration initiale s0 = (q 0, v 0 ) où v 0 = 0, des exécutions de la forme (q 0, v 0 ) d 1 (q 0, v 0 + d 1 ) a 1 (q 1, v 1 ) d 2 (q 1, v 1 + d 2 ) a 2 (q 2, v 2 ) Pour une formule ϕ de TCTL, A = ϕ si s 0 = ϕ. 21/44

TCTL et temps de réponse Tout signal est suivi d une réponse en moins de 5 unités de temps : AG(signal AF 5 reponse) et automates temporisés A = (Q, q 0, l, Inv, ) un automate temporisé, T = (S, s 0, L, E) le système de transitions associé avec : la configuration initiale s0 = (q 0, v 0 ) où v 0 = 0, des exécutions de la forme (q 0, v 0 ) d 1 (q 0, v 0 + d 1 ) a 1 (q 1, v 1 ) d 2 (q 1, v 1 + d 2 ) a 2 (q 2, v 2 ) Pour une formule ϕ de TCTL, A = ϕ si s 0 = ϕ. 21/44

Exemple m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e satisfait AG(fault AF 8 ok) 22/44

Exemple m q 0, ok x 8, r, {x} x 4, p, {x} x < 3, r, {x} q 2, alarm q 1, fault x 3 x = 3, e satisfait AG(fault AF 8 ok) 22/44

D autres logiques du temps arborescent Extension de TCTL avec horloges AG(signal z AF(z 5 reponse)) z horloge de formule remise à zéro par z Logique Tµ, avec par exemple l opérateur, until en un pas z (true (P z 5)) P deviendra vraie en une seule transition, exécutée avant 5 unités de temps. etc. 23/44

D autres logiques du temps arborescent Extension de TCTL avec horloges AG(signal z AF(z 5 reponse)) z horloge de formule remise à zéro par z Logique Tµ, avec par exemple l opérateur, until en un pas z (true (P z 5)) P deviendra vraie en une seule transition, exécutée avant 5 unités de temps. etc. 23/44

D autres logiques du temps arborescent Extension de TCTL avec horloges AG(signal z AF(z 5 reponse)) z horloge de formule remise à zéro par z Logique Tµ, avec par exemple l opérateur, until en un pas z (true (P z 5)) P deviendra vraie en une seule transition, exécutée avant 5 unités de temps. etc. 23/44

Syntaxe de LTL LTL ϕ, ψ ::= P ϕ ϕ ψ Xϕ ϕuψ où P est une proposition atomique dans Prop. Interprétation : pour une structure de Kripke sur une position le long d une exécution 24/44

Syntaxe de LTL LTL ϕ, ψ ::= P ϕ ϕ ψ Xϕ ϕuψ où P est une proposition atomique dans Prop. Interprétation : pour une structure de Kripke sur une position le long d une exécution q 0, ok q 1, fault q 2, alarm 24/44

Syntaxe de LTL LTL ϕ, ψ ::= P ϕ ϕ ψ Xϕ ϕuψ où P est une proposition atomique dans Prop. Interprétation : pour une structure de Kripke sur une position le long d une exécution q 0, ok q 1, fault σ : q 0, q 0, q 1, q 0, q 1, q 2, q 0,... q 2, alarm σ, 2 = fault X ok σ, 4 = F ok 24/44

Syntaxe de LTL LTL ϕ, ψ ::= P ϕ ϕ ψ Xϕ ϕuψ où P est une proposition atomique dans Prop. Interprétation : pour une structure de Kripke sur une position le long d une exécution q 0, ok q 1, fault σ : q 0, q 0, q 1, q 0, q 1, q 2, q 0,... q 2, alarm σ, 2 = fault X ok σ, 4 = F ok σ, 0 = GF ok K = GF ok pour toute exécution σ de K, σ, 0 = GF ok 24/44

Syntaxe de MTL [Koymans 1990] LTL+temps : MTL ϕ, ψ ::= P ϕ ϕ ψ ϕu I ψ où P est une proposition atomique et I un intervalle. MITL : restriction à des intervalles non réduits à un point Sémantique Une formule s interprète sur une exécution s d 1 s d 1 2 s2 s a 2 2 s3 partant d une configuration quelconque s d un système de transition temporisé. Pour une formule ϕ de TCTL, et pour un automate temporisé A = (Q, q 0, l, Inv, ), avec le système de transitions temporisé associé T = (S, s 0, L, E) : a 1 A = ϕ si toute exécution partant de la configuration initiale s 0 = (q 0, v 0 ) avec v 0 = 0 satisfait ϕ. Temps de réponse G(signal F [0,5] reponse) 25/44

Syntaxe de MTL [Koymans 1990] LTL+temps : MTL ϕ, ψ ::= P ϕ ϕ ψ ϕu I ψ où P est une proposition atomique et I un intervalle. MITL : restriction à des intervalles non réduits à un point Sémantique Une formule s interprète sur une exécution s d 1 s d 1 2 s2 s a 2 2 s3 partant d une configuration quelconque s d un système de transition temporisé. Pour une formule ϕ de TCTL, et pour un automate temporisé A = (Q, q 0, l, Inv, ), avec le système de transitions temporisé associé T = (S, s 0, L, E) : a 1 A = ϕ si toute exécution partant de la configuration initiale s 0 = (q 0, v 0 ) avec v 0 = 0 satisfait ϕ. Temps de réponse G(signal F [0,5] reponse) 25/44

Syntaxe de MTL [Koymans 1990] LTL+temps : MTL ϕ, ψ ::= P ϕ ϕ ψ ϕu I ψ où P est une proposition atomique et I un intervalle. MITL : restriction à des intervalles non réduits à un point Sémantique Une formule s interprète sur une exécution s d 1 s d 1 2 s2 s a 2 2 s3 partant d une configuration quelconque s d un système de transition temporisé. Pour une formule ϕ de TCTL, et pour un automate temporisé A = (Q, q 0, l, Inv, ), avec le système de transitions temporisé associé T = (S, s 0, L, E) : a 1 A = ϕ si toute exécution partant de la configuration initiale s 0 = (q 0, v 0 ) avec v 0 = 0 satisfait ϕ. Temps de réponse G(signal F [0,5] reponse) 25/44

Syntaxe de MTL [Koymans 1990] LTL+temps : MTL ϕ, ψ ::= P ϕ ϕ ψ ϕu I ψ où P est une proposition atomique et I un intervalle. MITL : restriction à des intervalles non réduits à un point Sémantique Une formule s interprète sur une exécution s d 1 s d 1 2 s2 s a 2 2 s3 partant d une configuration quelconque s d un système de transition temporisé. Pour une formule ϕ de TCTL, et pour un automate temporisé A = (Q, q 0, l, Inv, ), avec le système de transitions temporisé associé T = (S, s 0, L, E) : a 1 A = ϕ si toute exécution partant de la configuration initiale s 0 = (q 0, v 0 ) avec v 0 = 0 satisfait ϕ. Temps de réponse G(signal F [0,5] reponse) 25/44

Syntaxe de MTL [Koymans 1990] LTL+temps : MTL ϕ, ψ ::= P ϕ ϕ ψ ϕu I ψ où P est une proposition atomique et I un intervalle. MITL : restriction à des intervalles non réduits à un point Sémantique Une formule s interprète sur une exécution s d 1 s d 1 2 s2 s a 2 2 s3 partant d une configuration quelconque s d un système de transition temporisé. Pour une formule ϕ de TCTL, et pour un automate temporisé A = (Q, q 0, l, Inv, ), avec le système de transitions temporisé associé T = (S, s 0, L, E) : a 1 A = ϕ si toute exécution partant de la configuration initiale s 0 = (q 0, v 0 ) avec v 0 = 0 satisfait ϕ. Temps de réponse G(signal F [0,5] reponse) 25/44

D autres logiques du temps linéaire TPTL, extension de LTL avec horloges Gx (signal Fy (reponse y x + 5)) x et y horloges de formule, gelées par x et y Variantes avec temps discret ou interprétation sur des séquences discrètes etc. 26/44

D autres logiques du temps linéaire TPTL, extension de LTL avec horloges Gx (signal Fy (reponse y x + 5)) x et y horloges de formule, gelées par x et y Variantes avec temps discret ou interprétation sur des séquences discrètes etc. 26/44

D autres logiques du temps linéaire TPTL, extension de LTL avec horloges Gx (signal Fy (reponse y x + 5)) x et y horloges de formule, gelées par x et y Variantes avec temps discret ou interprétation sur des séquences discrètes etc. 26/44

Plan Modèles temporisés Logiques temporisées Model-checking Conclusion 27/44

Model-checking de LTL Theorème [Sistla et Clarke 1985, Lichtenstein et al. 1985] Le problème du model-checking pour LTL sur des structures de Kripke est PSPACEcomplet. Procédure de décision Données : une formule ϕ de LTL et une structure de Kripke K 1. Construction d un automate (de Büchi) A ϕ dont les exécutions sont exactement les séquences d étiquettes satisfaisant la formule ϕ. 2. Construction de l automate H = K A ϕ acceptant exactement les exécutions communes à K et A ϕ (intersection). 3. Test du vide pour H. Difficulté : construire l automate A ϕ caractérisant ϕ 28/44

Model-checking de LTL Theorème [Sistla et Clarke 1985, Lichtenstein et al. 1985] Le problème du model-checking pour LTL sur des structures de Kripke est PSPACEcomplet. Procédure de décision Données : une formule ϕ de LTL et une structure de Kripke K 1. Construction d un automate (de Büchi) A ϕ dont les exécutions sont exactement les séquences d étiquettes satisfaisant la formule ϕ. 2. Construction de l automate H = K A ϕ acceptant exactement les exécutions communes à K et A ϕ (intersection). 3. Test du vide pour H. Difficulté : construire l automate A ϕ caractérisant ϕ 28/44

Model-checking de LTL Theorème [Sistla et Clarke 1985, Lichtenstein et al. 1985] Le problème du model-checking pour LTL sur des structures de Kripke est PSPACEcomplet. Procédure de décision Données : une formule ϕ de LTL et une structure de Kripke K 1. Construction d un automate (de Büchi) A ϕ dont les exécutions sont exactement les séquences d étiquettes satisfaisant la formule ϕ. 2. Construction de l automate H = K A ϕ acceptant exactement les exécutions communes à K et A ϕ (intersection). 3. Test du vide pour H. Difficulté : construire l automate A ϕ caractérisant ϕ Σ s r Σ r Σ = 2 Prop Σ s r 0 1 Σ r Σ r = {α Σ r α} Σ r = Σ \ Σ r, etc. 28/44

Model-checking de LTL Theorème [Sistla et Clarke 1985, Lichtenstein et al. 1985] Le problème du model-checking pour LTL sur des structures de Kripke est PSPACEcomplet. Procédure de décision Données : une formule ϕ de LTL et une structure de Kripke K 1. Construction d un automate (de Büchi) A ϕ dont les exécutions sont exactement les séquences d étiquettes satisfaisant la formule ϕ. 2. Construction de l automate H = K A ϕ acceptant exactement les exécutions communes à K et A ϕ (intersection). 3. Test du vide pour H. Difficulté : construire l automate A ϕ caractérisant ϕ Σ s r Σ r Σ s r pour la formule du temps de réponse : 0 1 G(s F r) Σ r 28/44

Model-checking de LTL Theorème [Sistla et Clarke 1985, Lichtenstein et al. 1985] Le problème du model-checking pour LTL sur des structures de Kripke est PSPACEcomplet. Procédure de décision Données : une formule ϕ de LTL et une structure de Kripke K 1. Construction d un automate (de Büchi) A ϕ dont les exécutions sont exactement les séquences d étiquettes satisfaisant la formule ϕ. 2. Construction de l automate H = K A ϕ acceptant exactement les exécutions communes à K et A ϕ (intersection). 3. Test du vide pour H. Difficulté : construire l automate A ϕ caractérisant ϕ Pire cas : O(2 ϕ ) 28/44

Model-checking de MTL et MITL Theorèmes Le problème du model-checking pour MTL sur des automates temporisés est indécidable [Henzinger 1991]. Le problème du model-checking pour MITL sur des automates temporisés est EXPSPACE-complet [Alur et al. 1996]. Procédure de décision pour MITL Données : une formule ϕ de MITL et un automate temporisé A 1. Construction d un automate temporisé A ϕ dont les exécutions sont exactement celles qui satisfont la formule ϕ. 2. Construction de l automate temporisé B = A A ϕ acceptant les exécutions communes à A et A ϕ. 3. Test du vide pour B. Remarque Les points 1 et 3 sont plus difficiles pour des automates temporisés. 29/44

Model-checking de MTL et MITL Theorèmes Le problème du model-checking pour MTL sur des automates temporisés est indécidable [Henzinger 1991]. Le problème du model-checking pour MITL sur des automates temporisés est EXPSPACE-complet [Alur et al. 1996]. Procédure de décision pour MITL Données : une formule ϕ de MITL et un automate temporisé A 1. Construction d un automate temporisé A ϕ dont les exécutions sont exactement celles qui satisfont la formule ϕ. 2. Construction de l automate temporisé B = A A ϕ acceptant les exécutions communes à A et A ϕ. 3. Test du vide pour B. Remarque Les points 1 et 3 sont plus difficiles pour des automates temporisés. 29/44

Model-checking de MTL et MITL Theorèmes Le problème du model-checking pour MTL sur des automates temporisés est indécidable [Henzinger 1991]. Le problème du model-checking pour MITL sur des automates temporisés est EXPSPACE-complet [Alur et al. 1996]. Procédure de décision pour MITL Données : une formule ϕ de MITL et un automate temporisé A 1. Construction d un automate temporisé A ϕ dont les exécutions sont exactement celles qui satisfont la formule ϕ. 2. Construction de l automate temporisé B = A A ϕ acceptant les exécutions communes à A et A ϕ. 3. Test du vide pour B. Remarque Les points 1 et 3 sont plus difficiles pour des automates temporisés. 29/44

Model-checking de MTL et MITL Theorèmes Le problème du model-checking pour MTL sur des automates temporisés est indécidable [Henzinger 1991]. Le problème du model-checking pour MITL sur des automates temporisés est EXPSPACE-complet [Alur et al. 1996]. Procédure de décision pour MITL Données : une formule ϕ de MITL et un automate temporisé A 1. Construction d un automate temporisé A ϕ dont les exécutions sont exactement celles qui satisfont la formule ϕ. 2. Construction de l automate temporisé B = A A ϕ acceptant les exécutions communes à A et A ϕ. 3. Test du vide pour B. Remarque Les points 1 et 3 sont plus difficiles pour des automates temporisés. 29/44

Exemple de construction de A ϕ pour ϕ : G ]0,1] (s F [1,2] r) On suppose que s et r sont vraies seulement sur des intervalles réduits à un point, avec au moins une configuration vérifiant r dans ]1, 2[ et dans ]2, 3[, et que r est fausse au temps 2. x := 0 z = 0 z < 1 y := 0 s z < 1 x, y := 0 z < 1 y := 0 z < 2 x := 0 r 1 < z < 2 x = 1 r z < 3 r 2 < z < 3 y = 2 Rq : impossible pour G ]0,1[ (s F [1,1] r) 30/44

Exemple de construction de A ϕ pour ϕ : G ]0,1] (s F [1,2] r) On suppose que s et r sont vraies seulement sur des intervalles réduits à un point, avec au moins une configuration vérifiant r dans ]1, 2[ et dans ]2, 3[, et que r est fausse au temps 2. x := 0 z = 0 z < 1 y := 0 s z < 1 x, y := 0 z < 1 y := 0 z < 2 x := 0 r 1 < z < 2 x = 1 r z < 3 r 2 < z < 3 y = 2 Rq : impossible pour G ]0,1[ (s F [1,1] r) 30/44

Theorème [Alur et Dill 1990] Test du vide Le test du vide pour les automates temporisés est PSPACE-complet. Procédure de décision Donnée : un automate temporisé A = (Q, q 0, l, Inv, ) sur un ensemble d horloges X, avec domaine de temps R 0 Construction d un automate (de Büchi) non temporisé H, tel que : A n a aucune exécution H n a aucune exécution. Test du vide pour H. 31/44

Theorème [Alur et Dill 1990] Test du vide Le test du vide pour les automates temporisés est PSPACE-complet. Procédure de décision Donnée : un automate temporisé A = (Q, q 0, l, Inv, ) sur un ensemble d horloges X, avec domaine de temps R 0 Construction d un automate (de Büchi) non temporisé H, tel que : A n a aucune exécution H n a aucune exécution. Test du vide pour H. 31/44

Theorème [Alur et Dill 1990] Test du vide Le test du vide pour les automates temporisés est PSPACE-complet. Procédure de décision Donnée : un automate temporisé A = (Q, q 0, l, Inv, ) sur un ensemble d horloges X, avec domaine de temps R 0 Construction d un automate (de Büchi) non temporisé H, tel que : A n a aucune exécution H n a aucune exécution. Test du vide pour H. T = (S, s 0, L, E) système de transition associé à A états : (q, v) q Q, v R X 0 quotient H automate des régions de A états : (q, [v]) q Q, [v] classe d équivalence pour une relation sur R X 0 31/44

Construction d un quotient (1) avec les propriétés suivantes : Pour deux valuations équivalentes v v 1. si une transition d action q g,a,r q est possible depuis v, alors la même transition est possible depuis v et les valuations obtenues v[r 0] et v [r 0] sont équivalentes, 2. si une transition de délai d est possible depuis v, alors une transition de délai d est possible depuis v et les valuations obtenues v + d et v + d sont équivalentes. Remarques Cette relation est une bisimulation avec abstraction du temps entre les états de T : Q R X 0 et ceux de H : Q RX 0 /. Pour la première condition, il suffit de considérer les contraintes x k, pour les horloges de X et les constantes 0 k m, où m est la plus grande constante apparaissant dans les contraintes de A. 32/44

Construction d un quotient (1) avec les propriétés suivantes : Pour deux valuations équivalentes v v 1. si une transition d action q g,a,r q est possible depuis v, alors la même transition est possible depuis v et les valuations obtenues v[r 0] et v [r 0] sont équivalentes, 2. si une transition de délai d est possible depuis v, alors une transition de délai d est possible depuis v et les valuations obtenues v + d et v + d sont équivalentes. Remarques Cette relation est une bisimulation avec abstraction du temps entre les états de T : Q R X 0 et ceux de H : Q RX 0 /. Pour la première condition, il suffit de considérer les contraintes x k, pour les horloges de X et les constantes 0 k m, où m est la plus grande constante apparaissant dans les contraintes de A. 32/44

Construction d un quotient (1) avec les propriétés suivantes : Pour deux valuations équivalentes v v 1. si une transition d action q g,a,r q est possible depuis v, alors la même transition est possible depuis v et les valuations obtenues v[r 0] et v [r 0] sont équivalentes, 2. si une transition de délai d est possible depuis v, alors une transition de délai d est possible depuis v et les valuations obtenues v + d et v + d sont équivalentes. Remarques Cette relation est une bisimulation avec abstraction du temps entre les états de T : Q R X 0 et ceux de H : Q RX 0 /. Pour la première condition, il suffit de considérer les contraintes x k, pour les horloges de X et les constantes 0 k m, où m est la plus grande constante apparaissant dans les contraintes de A. 32/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 1 0 1 2 x 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 1 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 1 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 1 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 1 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 1 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 R Successeur de R pour le temps I x = [1; 1], I y =]1; 2[ 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 R Successeur de R pour le temps I x = [1; 1], I y =]1; 2[ 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 R Successeur de R pour le temps I x = [1; 1], I y =]1; 2[ 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 R Successeur de R pour le temps I x = [1; 1], I y =]1; 2[ 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 R Successeur de R pour le temps I x = [1; 1], I y =]1; 2[ 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 R Successeur de R pour le temps I x = [1; 1], I y =]1; 2[ 0 1 2 x Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (2) Vue géométrique avec deux horloges x et y, pour m = 2 y 2 région R définie par I x =]0; 1[, I y =]1; 2[ frac(x) > frac(y) 1 R Successeur de R pour le temps I x = [1; 1], I y =]1; 2[ 0 1 2 x Successeur de R pour une action avec y := 0 I x =]0; 1[, I y = [0; 0] Compatibilité de valuations équivalentes avec les contraintes x k Compatibilité de valuations équivalentes avec l écoulement du temps 33/44

Construction d un quotient (3) Automate des régions H A pour l automate temporisé A = (Q, q 0, l, Inv, ), avec ensemble d horloges X et constante maximale m, quotient R X 0 / noté R X,m. états Q RX,M transitions de délai (abstraites) : (q, R) (q, succ(r)) transitions d action : (q, R) a (q, R ) s il existe une transition q g,a,r q de A avec R = g et R = R[r 0] Nombre d états La taille de R X,m est en O( X! m X ), à multiplier par Q. 34/44

Construction d un quotient (3) Automate des régions H A pour l automate temporisé A = (Q, q 0, l, Inv, ), avec ensemble d horloges X et constante maximale m, quotient R X 0 / noté R X,m. états Q RX,M transitions de délai (abstraites) : (q, R) (q, succ(r)) transitions d action : (q, R) a (q, R ) s il existe une transition q g,a,r q de A avec R = g et R = R[r 0] Nombre d états La taille de R X,m est en O( X! m X ), à multiplier par Q. 34/44

Exemple [Alur et Dill, 1990] y 1 0 1 x 35/44