• Aucun résultat trouvé

S´emantique des mod`eles `a temps discret

6.2 S´emantique des mod`eles pour une it´eration

6.2.1 S´emantique des mod`eles `a temps discret

Nous d´efinissons la s´emantique des mod`eles `a temps discret pour une it´eration i de la boucle de simulation. Nous supposons que le mod`ele ne poss`ede pas de sous-syst`eme. Cette s´emantique est la plus simple des deux s´emantiques utilis´ees pour d´efinir l’analyse statique de mod`eles hybrides Simulink. En effet, le calcul des ´etats d’un mod`ele `a temps discret ne n´ecessite pas la mise en œuvre

d’un algorithme complexe. Nous notons L.MKEDla s´emantique issue de la combinaison du domaine

des s´equences et du domaine des nombres flottants avec erreurs diff´erenti´ees et nous notons L.MD la s´emantique des mod`eles Simulink `a temps discret. De plus, nous supposons que l’instant i de l’´evaluation est encod´e dans les ´equations. Par exemple, l’´equation ℓ(i) = e est la i-i`eme ´evaluation de l’´equation ℓ = e ou, autrement dit, l’´evaluation de ℓ = e au i-i`eme instant. Nous notons alors EiJMK le syst`eme d’´equations de M `a l’instant i et nous notons EoiJMK et EsiJMK, les syst`emes d’´equations d´ecrivant les sorties et les ´etats de M `a l’instant i. Par extension, Io

iJMK et IsiJMK d´ecrivent les s´equences d’´equations (c’est-`a-dire l’ordre d’´evaluation) `a l’instant i des syst`emes Eo

iJMK et EsiJMK.

Soit M un mod`ele Simulink `a temps discret. Nous notons VJMK l’ensemble des variables

de M . Nous rappelons que ED est l’ensemble des nombres flottants avec erreurs diff´erenti´ees

(voir section 5.2) et que◆ → ℘(ED) repr´esente l’ensemble des s´equences (concr`etes) de nombres

flottants avec erreurs diff´erenti´ees. Nous notons φ l’environnement concret qui, `a chaque variable de M , associe une s´equence dont les ´el´ements sont un ensemble de nombres flottants avec erreurs diff´erenti´ees, c’est-`a-dire :

φ : VJMK → (◆ → ℘(ED)) .

Nous notons Φ l’ensemble des environnements concrets. Nous d´efinissons la s´emantique d’un mod`ele Simulink `a temps discret `a partir de la s´equence d’´equations associ´ee `a E JMK. Nous pr´esentons tout d’abord la s´emantique d’une composition de deux ´equations quelconques avant de la d´efinir pour le calcul des sorties et des ´etats. Nous nous appuyons sur la d´efinition classique de la s´emantique d´enotationnelle de la composition d’instructions dans les langages de programmation imp´eratifs [Win93, section 5.2]. La s´emantique concr`ete L.MD de la composition de deux ´equations eq1et eq2 est :

Leq1; eq2MD(φ) = Leq2MKED(Leq1MKED(φ)) .

Chaque ´equation est ´evalu´ee dans la s´emantique L.MKED. Nous ´evaluons l’´equation eq2 dans l’envi- ronnement r´esultat de l’´evaluation de l’´equation eq1 dans l’environnement φ.

Nous rappelons queED♯est l’ensemble abstrait des nombres flottants avec erreurs diff´erenti´ees

(voir section 5.2) et que D → ED♯ repr´esente l’ensemble des s´equences (abstraites) de nombres

flottants avec erreurs diff´erenti´ees, d´efini par la fonction de partition µ :◆ → D (voir section 5.3). Nous notons φ♯

µ l’environnement abstrait qui, `a chaque variable d’un mod`ele Simulink M , associe une s´equence abstraite utilisant la fonction de partition µ et dont les ´el´ements sont des nombres flottants avec erreurs diff´erenti´ees abstraits, c’est-`a-dire :

φ♯µ : VJMK →



D→ ED♯.

Nous notons Φ♯ l’ensemble des environnements abstraits. La s´emantique abstraite L.M

Dde la com-

position de deux ´equations est obtenue de la mˆeme mani`ere que la version concr`ete par : Leq1; eq2M♯D(φ ♯ µ) = Leq2M♯KED  Leq1M♯KED(φ ♯ µ)  .

La s´emantique concr`ete d’un mod`ele Simulink `a temps discret M `a l’it´eration i est donn´ee par le calcul des sorties du mod`ele, suivi du calcul des ´etats. Elle est d´efinie par l’´evaluation de la s´equence d’´equations IoJMK suivie de celle de la s´equence d’´equations IsJMK. Autrement dit, nous ´evaluons la s´equence d’´equations IoJMK; IsJMK. N´eanmoins, la pr´esence potentielle de boucles dans le graphe de d´ependance de EoJMK induit une d´efinition de la s´emantique L.M

D comme le calcul

d’un plus petit point fixe (lfp). En effet, les boucles de r´etroactions dans les mod`eles Simulink sont

pr´esentes, dans notre formalisme, uniquement dans le syst`eme d’´equations EoJMK. Par exemple,

le syst`eme S du r´egulateur du papillon des gaz, d´ecrit `a la figure 4.2(a), poss`ede une telle boucle. La s´emantique de EoJMK suit alors la s´emantique classique des structures r´ep´etitives dans les

langages de programmation [Win93, section 5.2]. La s´emantique du syst`eme d’´equations Eo

iJMK,

`

a l’instant i, est alors obtenue en calculant le plus petit point fixe, solution de Io

iJMK. Ce calcul a pour objectif de collecter l’ensemble des valeurs pouvant ˆetre atteintes pour toutes les it´erations de la boucle. La d´efinition de la s´emantique L.MD d’un mod`ele M `a temps discret est

LE JMKMD(φ) = LIsiJMKMD lfp LIoiJMKMD(φ) .

La s´emantique abstraite L.M♯D est d´efinie `a partir de la mˆeme s´equence d’´equations mais en s’ap- puyant sur la fonction de partition µ et la s´emantique abstraite L.M♯KED, c’est-`a-dire :

LE JMKM♯D(φ ♯ µ) = LIsiJMKM ♯ D  lfpLIoiJMKM ♯ D(φ ♯ µ)  .

La s´emantique concr`ete L.MDest une fonction croissante du treillis complet Φ dans lui-mˆeme, c’est- `

a-dire L.MD : Φ→ Φ. La s´emantique abstraite L.M♯Dest une fonction croissante du treillis complet Φ♯ dans lui-mˆeme, c’est-`a-dire L.M♯D : Φ

→ Φ♯. Dans les deux cas, par le th´eor`eme de Tarski [Win93, section 5.5], nous savons que le plus petit point fixe existe.

L’exemple 6.1 pr´esente une ´evaluation `a l’it´eration i du syst`eme d’´equations E JS2K du syst`eme de la figure 6.1(b) dans la s´emantique abstraite L.M♯D.

Exemple 6.1 Prenons le syst`eme S2 de la figure 6.1(b). Supposons qu’`a l’instant i l’environne- ment φ♯i soit d´efini par :

φ♯i(in1) = (f1, t1) et φ♯(x2) = (f2, t2).

La notation (f, t) repr´esente un nombre flottant avec erreurs diff´erenti´ees. Pour simplifier les nota- tions, nous ne d´etaillons pas la diff´erentiation des erreurs. Nous ne consid´erons les environnements qu’`a une it´eration i donn´ee, c’est-`a-dire que nous ne donnons pas la s´equence associ´ee `a chaque variable mais uniquement leur valeur du i-i`eme ´el´ement de la s´equence. L’´evaluation de E JS2K dans l’environnement φ♯i suivant la s´emantique L.M

D conduit `a l’environnement suivant : φ♯µ,i(in1) = (f1, t1) ; φ♯µ,i(x2) = (f2, t2) ; φ♯µ,i(ℓ3) = (f1, t1) ; φ♯µ,i(ℓ6) = (0.01× f1, 0.01× t1+↓ (ℓ6)) ; φ♯µ,i(ℓ5) = (f2, t2) ; φ♯µ,i(ℓ4) = (0.01× f1+ f2, 0.01× t1+↓ (ℓ6) + t2+↓ (ℓ4)) ; φ♯µ,i(out1) = (0.01× f1+ f2, 0.01× t1+↓ (ℓ6) + t2+↓ (ℓ4)) ; φ♯µ,i+1(x2) = (0.01× f1+ f2, 0.01× t1+↓ (ℓ6) + t2+↓ (ℓ4)).

Nous supposons que la constante 0.01 est repr´esent´ee exactement en m´emoire sinon une erreur pourrait lui ˆetre associ´ee. La notation ↓ (ℓj) repr´esente l’erreur d’arrondi de l’´evaluation de l’ex- pression associ´ee `a la variable ℓj. Par exemple,↓ (ℓ6) =↓ (0.01 × f1). La sortie de S2 est donn´ee par la valeur φ♯µ,i(out1) et la valeur initiale de la prochaine it´eration est donn´ee par φ♯µ,i+1(x2).

Nous rappelons que l’ensemble des environnements concrets Φ forme un treillis complet [NNH99]. En effet, un environnement est une fonction totale des variables dans les valeurs. Si l’ensemble des valeurs forme un treillis complet alors l’environnement forme un treillis complet. L’ordre d´efini sur un tel treillis est obtenu en appliquant ´el´ement par ´el´ement la relation d’ordre des valeurs. Autrement dit, la relation d’ordreΦsur Φ est d´efinie par

∀φ1, φ2∈ Φ, φ1⊑Φφ2⇔ ∀v ∈ VJMK, φ1(v)⊆ φ1(v) (6.4)

Nous notons⊆ la relation d’inclusion des ensembles.

Le th´eor`eme 6.1 assure la correction de la s´emantique abstraite L.M♯Dvis-`a-vis de la s´emantique concr`ete L.MDpour une it´eration i de la boucle de simulation. Il faut noter que la correction de la s´emantique abstraite L.M♯D au regard de la s´emantique concr`ete L.MD est obtenue par la correction de L.M♯KEDpar rapport `a L.MKED.

Th´eor`eme 6.1 Soit M un mod`ele `a temps discret sans sous-syst`eme, µ une fonction de partition et P ⊆ Φ tel que φ♯ µ= αΦ(P ) alors [ φ∈P LEiJMKMD(φ)⊑ΦγΦ  LEiJMKM♯D(φ ♯ µ)  .

Les fonctions d’abstraction αΦet de concr´etisation γΦdes environnements sont d´efinies par : αΦ(P ) = φ♯µ tel que∀v ∈ VJMK, φ♯(v) = (αµ◦ α′ED) (P (v)) ;

γΦ(φ♯µ) = P tel que∀v ∈ VJMK, P (v) = (γED′ ◦ γµ) φ♯(v) . Les fonctions α′

ED et γED′ sont les fonctions d’abstraction et de concr´etisation des ´el´ements des s´equences d´efinies par l’´equation (5.7). Ces ´el´ements sont dans ce cas des nombres flottants avec erreurs diff´erenti´ees. Les fonctions αµ et γµ sont les fonctions d’abstraction et de concr´etisation des s´equences d´efinies au th´eor`eme 5.9 dont les valeurs sont des nombres flottants avec erreurs diff´erenti´ees.

Preuve La s´emantique abstraite de E JMK est obtenue par l’´evaluation en s´equence de ces ´equations. Chaque ´equation est ´evalu´ee dans la s´emantique abstraite L.M♯KED. Par le th´eor`eme 5.7 et le th´eor`eme 5.10, nous savons que la s´emantique abstraite L.M♯KED associ´ee `a une ´equation est correcte par rapport `a L.MKED. Nous en d´eduisons que la s´emantique d’une suite d’´equations dans cette s´emantique est ´egalement correcte. La s´emantique L.M♯D est alors correcte par rapport `a la

version concr`ete L.MD.