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