I Modélisation et Représentation des Connaissances Master IAD mathieu.sassolas@lip6.fr Université Pierre et Marie Curie
Plan du cours 1 Modélisation du temps 2 Le modèle des automates Définition formelle 3 D autres modèles 4 d automates 5 Abstraction du temps par l automate des 2 / 19
Plan du cours 1 Modélisation du temps 2 Le modèle des automates Définition formelle 3 D autres modèles 4 d automates 5 Abstraction du temps par l automate des 3 / 19
Besoin de modéliser le temps Les intervalles d Allen et les logiques temporelles donnent une spécification de l ordre dans lequel s effectue les actions. «Si j ai une requête, j aurais un jour une réponse.» On veut une spécification de la durée des actions. «Si j ai une requête, j aurais une réponse dans la minute.» 4 / 19
: la lumière à deux modes «Si j e sur le bouton la lumière s allume. Si j e deux fois (rapidement) sur le bouton, la lumière s allume plus fort. Si je re sur le bouton, la lumière s éteint.» Bright Ambiguïté! Off On Le temps n a pas été spécifié 5 / 19
Le temps discret On utilise une action spéciale tick. Ici tick marque l écoulement de 1 10 secondes. On modélise l «rapide» par deux s en moins d une seconde. Bright Off On 0 tick tick On 1... tick On 9 6 / 19 On 10 La taille du modèle croît avec la finesse du temps... tick tick
Le temps continu Le temps est modélisé par R 0. Il est donc arbitrairement précis. L exécution est contrainte par des constantes (dans Q 0 ). Au sein du modèle, des horloges mesurent ce temps. Bright Off, x := 0 On x 1, x > 1, Une exécution possible de ce système : 7 / 19 Off 0,42 Off On 0,197 On Bright π Bright Off...
Plan du cours 1 Modélisation du temps Définition 2 Le modèle des automates Définition formelle 3 D autres modèles 4 d automates 5 Abstraction du temps par l automate des 8 / 19
Syntaxe [Alur & Dill, 1990] Définition 9 / 19 Un automate temporisé (TA) est formé : d un ensemble fini d états Q ; d un ensemble fini d horloges X = {x, y, z,...} d un alphabet fini Σ = {a, b, c...} ; d un ensemble de transitions dont chacune est formée : d une garde g : une condition sur les horloges : x X x c (c Q 0, {>,, =,, <}) ; d une lettre de Σ ; de remises à zéro r : x := 0, y := 0,..., parfois noté comme le sous ensemble des horloges remises à zéro : {x, y...} ; d invariants Inv(q) dans les états (gardes) ; d un état initial ; d états finaux ; x 3 a y := 0 q 0 z < 2 q 1 y < 1
Sémantique Définition 10 / 19 Une valuation est un élément de R X 0 càd une fonction qui associe à chaque horloge sa valeur : v(x) = 1, 2, v(y) = 3, 24, v(z) = 2. Une configuration est un élément de Q R X 0 càd un état et une valuation : ( q 0 ; ( 1, 2 ; 3, 24 ; 2 )). Une valuation satisfait une garde g si pour toute horloge x X et toute contrainte x c de g, v(x) c. On note alors v g. Pour d R 0, v + d est la valuation x v(x) + d. { 0 si x r Pour r X, v[r := 0] est la valuation x v(x) si x / r. Un TA génère un système de transition temporisé infini : La configuration initiale est (q 0, 0) : état initial, valuation nulle. Si q g,a,r q, v g et v[r := 0] Inv(q ), alors (q, v) a (q, v[r := 0]). Pour d R 0, si v + d Inv(q) alors (q, v) d (q, v + d).
Sémantique (suite) Définition 11 / 19 Si q g,a,r q, v g et v[r := 0] Inv(q ), alors (q, v) a (q, v[r := 0]). Transition discrète Pour d R 0, si v + d Inv(q) alors (q, v) d (q, v + d). Pas de temps Une exécution est un chemin dans le système de transition temporisé où alternent les pas de temps et les transitions discrètes. (q 0 ; (0 ; 0)) 1,2 (q 0 ; (1, 2 ; 1, 2)) x 2,b,x:=0 (q 1 ; (0 ; 1, 2)) 0,37 (q 1 ; (0, 37 ; 1, 57)) y 1,a,x:=0 (q 1 ; (0 ; 1, 57))... Une exécution génère un mot temporisé : une suite d actions couplées avec l instant auquel elle se produisent. (b ; 1, 2)(a ; 1, 57)... Les exécutions acceptantes sont celles qui se terminent dans un état final ou qui visitent infiniment un état final (comme dans les automates de Büchi). Ceci définit le langage temporisé du TA. On choisira la sémantique adaptée à ce qu on modélise. Souvent, on considèrera que tous les états sont acceptants.
: un système de webmail L automate temporisé t 600 d Définition 12 / 19 idle t = 15 d t 3 b l t := 0 t = 15 d t = 15 d passwd 1 t 15 b t := 0 passwd 2 t 15 t 3 b t := 0 passwd 3 t 15 g t := 0 t 3 g t := 0 a t := 0 auth t 600 t 3 g t := 0 l = login entré, g = mot de passe correct, b = mot de passe incorrect, a = actions diverses, d = déconnexion.
: un système de webmail Une exécution Définition Un premier essai de mot de passe infructueux, puis une action, avant d être déconnecté par timeout : (idle ; 0) 2,71 (idle ; 2, 71) l (passwd 1 ; 0) 12,34 (passwd 1 ; 12, 34)... b (passwd 2 ; 0) 5,73 (passwd 2 ; 5, 73) g (auth ; 0) 215,21... (auth ; 215, 21) a (auth ; 0) 600 (auth ; 600) d (idle ; 600) Le mot temporisé généré par cette exécution : (l ; 2, 71)(b ; 15, 05)(g ; 20, 78)(a ; 235, 99)(d ; 835, 99) 13 / 19
Plan du cours 1 Modélisation du temps 2 Le modèle des automates Définition formelle 3 D autres modèles 4 d automates 5 Abstraction du temps par l automate des 14 / 19
Les automates hybrides [Henzinger, 1996] Les automates sont limités : Toutes les horloges ont la même vitesse. N autorise que des comparaisons simples et les remises à zéro. Modélise le temps, mais n est pas adaptable à la modélisation d autres modèles continus. On définit les automates hybrides (HA) : Les horloges sont remplacées par des variable. Dans chaque état, chaque variable varie linéairement : ẋ = 1 2. Les comparaisons peuvent faire intervenir des combinaisons linéaires de variables : x + 2y 3. Les mise à jour peuvent aussi être plus complexes : x := y 1 3. 15 / 19
d automate hybride : un chauffe-eau Un chauffe-eau est soit allumé soit éteint. La température de l eau est modélisée par la variable t. Elle croît de 15 C par minute lorsque le chauffe-eau est allumé (ṫ = 15), et décroît de 2 C par minute lorsque le chauffe-eau est éteint (ṫ = 2). Initialement, l eau est à 20 C, et elle doit être maintenue entre 80 et 100 C. t > 80, heatoff t := 20 on ṫ = 15 off ṫ = 2 t < 100 16 / 19 t < 100, heaton
Comparaison des différents modèles Les automates hybrides sont plus expressifs : on peut modéliser plein de choses avec. On va jouer avec en TD...... et en TME avec HyTech. Par contre il est plus difficile (voire impossible) de vérifier des choses sur les automates hybrides. La vérification est possible sur les automates. En particulier le problème d accessibilité est décidable sur les TA (prochain cours) mais pas sur les HA. 17 / 19
Plan du cours 1 Modélisation du temps 2 Le modèle des automates Définition formelle 3 D autres modèles 4 d automates 5 Abstraction du temps par l automate des 18 / 19
Plan du cours 1 Modélisation du temps 2 Le modèle des automates Définition formelle 3 D autres modèles 4 d automates 5 Abstraction du temps par l automate des 19 / 19