• Aucun résultat trouvé

S´emantique d´enotationnelle hybride

Dans le document The DART-Europe E-theses Portal (Page 101-104)

Dans la s´emantique discr`ete d´efinie `a la section 5.4, nous supposons qu’`a chaque instructionact, on peut calculer la s´emantique de l’environnement continu, c’est-`a-dire la solution d’une ´equation diff´erentielle comme d´efini en section 5.3. Cependant, nous avons vu que ce calcul n´ecessite une it´eration infinie de l’op´erateur de Picard modifi´e (d´efinition 5.15). Nous allons donc essayer de ne pas calculer ce point fixe `a chaque instruction actmais de calculer en parall`ele la s´emantique discr`ete et la s´emantique continue. Soit Ω =¡

∆, κ¢

un syst`eme hybride, avec ∆ =¡

CV ar, m, P¢ etκ=¡

V ar, m,{Fk}kBm, y0

¢. Pour construire sa s´emantique, nous allons calculer la s´emantique du programme P ainsi que l’´evolution du milieu continu en parall`ele, en respectant les types de communications entre les deux :

– des donn´ees sont pass´ees, via les capteurs, de κ`a ∆ (instructionssens). Cette communi-cation est bloquante : il faut que le programme et l’environnement continu aient atteint le mˆeme temps d’ex´ecution pour que l’´echange de donn´ees s’ex´ecute.

5.5. S´EMANTIQUE D´ENOTATIONNELLE HYBRIDE 99 – desordres sont pass´es, via les actionneurs, de ∆ `aκ. En effet, le programme indique seule-ment via les instructions act comment l’environnement continu ´evoluera dans le futur en choisissant une des fonctions Fk comme dynamique du syst`eme. Cette communication n’est donc pas bloquante : l’environnement continu ne doit pas forc´ement avoir atteint le temps d’ex´ecution du programme lorsque l’instruction est ex´ecut´ee.

La s´emantique que nous construisons et notamment les d´enotations des instructions sens et act respectent ces principes. Nous d´efinissons la s´emantique ainsi : nous introduisons d’abord des environnements hybrides (section 5.5.1) qui comportent une approximation du r´esultat du programme et une approximation de l’´evolution continue, puis nous d´efinissons les d´enotations de chaque instruction comme des fonctions entre environnements hybrides (sections 5.5.2 et 5.5.3), et enfin nous pr´esentons la s´emantique hybride (section 5.5.4).

5.5.1 Environnements hybrides

Un environnement hybride est un couple (σδ, σκ) tel queσδ est un environnement discret etσκ

un environnement continu. Les environnements discretsσδrepr´esentent l’´evolution du programme : ils associent donc `a chaque variable discr`ete un nombre `a valeur flottante, et comme pour la s´emantique discr`ete (section 5.4), ils poss`edent deux variables suppl´ementaires : t qui repr´esente le temps d’ex´ecution et act qui repr´esente la valeur de la commande envoy´ee aux actionneurs.

L’environnementσδ associe `atun nombre r´eel positif et `aactun vecteur de bool´eensb∈Bm. On note Σ l’ensemble des environnements discrets :

Σ=˘`

V ar→V al´

×`

{t} →R+´

×`

{act} →Bm¯

. (5.16)

Les environnements continus contiennent une approximation des variables continues (c’est-`a-dire un ´el´ement de D0) ainsi que la fonction F qui d´efinit la dynamique continue. Cette fonction est une fonction continue par morceaux qui alterne entre toutes les fonctions Fk de κ, et sera progressivement d´efinie par les instructions act du programme P. On note Σκ l’ensemble des environnements continus :

Σκ=˘`

y∈ D0´

×`

F∈ C0m(R)´¯

. (5.17)

On note alors ΣH l’ensemble de tous les environnements hybrides : ΣH =˘`

σδ, σκ

´ : σδ∈Σ, σκ∈Σκ

¯ (5.18)

Remarque (Notations) Pour toutσκ∈Σκκ.y∈ D0 est donc un couple (f, t) avecf ∈ IF0

ett∈R+. Par abus de notations on notera pour toutx∈R+ σκ.y(x) la valeur prise parf enx.

On d´efinit enfin Πδ : (σδ, σκ) 7→ σδ et Πκ : (σδ, σκ) 7→ σκ les projections d’un environnement hybride vers les environnements discrets et continus, respectivement.

5.5.2 D´ enotations hybrides des instructions discr` etes

Les d´enotations des instructions discr`etes sont des extensions simples des d´enotations donn´ees au chapitre 2 pour les environnements hybrides : on applique simplement la d´enotation discr`ete `a la partie discr`ete de l’environnement, la partie continue restant inchang´ee. Les r`egles donnant ces d´enotations hybrides sont d´etaill´ees `a la figure 5.13.

5.5.3 D´ enotations hybrides des instructions hybrides

Les d´enotations des instructions hybrides sont des fonctions entre environnements hybrides, donn´ees par les ´equations de la figure 5.14. Pour l’instructionwait, l’environnement continu reste inchang´e et seul le temps d’ex´ecution est modifi´e dans l’environnement discret (´equation (5.25)).

L’instruction sens.y?X modifie un couple (σδ, σκ) ainsi : on commence par am´eliorer l’approxi-mation continue en appliquant ΓF,y0. On s’assure en particulier que la fonction intervalle y est significative au tempsσδ.t. On applique donc ΓF,y0 n=⌈σδ.t⌉+ 1 fois ; on effectue ainsi un certain

JX:=a||κKH = ˘`

Fig. 5.13 – D´enotations hybrides pour les instructionsStmt.

nombre de pas dans le calcul de la s´emantique continue. Ensuite, on affecte `a X le milieu de la valeur prise par σκ.y `a l’instant σδ.t, c’est-`a-dire l’approximation courante de la s´emantique continue. Lors de cette affectation, on effectue une approximation de la valeur r´eelle fournie par la s´emantique continue en le nombre `a virgule flottante le plus proche (c’est le rˆole de la fonction

dans l’´equation (5.23)). La premi`ere ´etape correspond au calcul deσκ dans l’´equation (5.23), la seconde au calcul deσδ. Dans l’´equation (5.23), l’entiernest donn´e parn=⌈σδ.t⌉+ 1.

Enfin, l’instructionact.k!c modifie un couple (σδ, σκ) ainsi : on modifie d’abord dansσδ la valeur deactpour que la k-i`eme coordonn´ee prenne la valeurc (σδ.actdevient doncσδ.act[k7→c]), puis on modifie dansσκ la fonctionF pour qu’elle suive, `a partir de l’instantσδ.t, les valeurs fournie par la fonction correspondant `a l’actionneur choisi. La premi`ere ´etape correspond au calcul deσδ dans l’´equation (5.24), la seconde correspond au calcul deσκ.

Jsens.y?X||κKH=

Fig.5.14 – D´enotations pour les instructions hybridesHStmt.

5.5.4 S´ emantique hybride

Nous pouvons maintenant d´efinir la s´emantique d’un syst`eme hybride Ω = ¡

∆, κ¢

. Si ∆ =

¡CV ar, m, P¢

, on veut poserJΩKH =JP||κKH. Cependant, avec cette formulation, on ne calcule pas forc´ement exactement la s´emantique continue. En effet, comme nous l’avons vu `a la section 5.3, le calcul de la s´emantique continue n´ecessite une it´eration infinie de l’op´erateur de Picard modifi´e.

Dans le calcul deJP||κKH, on ne va pas forc´ement effectuer un nombre infini d’´etapes de calcul.

Par exemple, si le programme ne poss`ede pas de boucles while, on ne calculera quet it´erations de l’op´erateur de Picard, o`u t est le temps d’ex´ecution du programme. On doit donc ajouter un calcul de point fixe qui permet de calculer ´egalement l’´evolution continue. La s´emantiqueJΩKHest

5.6. EXEMPLE DE CALCUL DE LA S´EMANTIQUE 101

Dans le document The DART-Europe E-theses Portal (Page 101-104)