• Aucun résultat trouvé

S´emantique des mod`eles hybrides

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

6.2.4 S´emantique des mod`eles hybrides

Dans cette section, nous utilisons les fonctions sample, activate ainsi que la s´emantique L.MD des mod`eles `a temps discret et la s´emantique L.MC des mod`eles `a temps continu pour d´efinir la s´emantique des mod`eles hybrides. Cette s´emantique introduit explicitement les capteurs et les actionneurs dans le mod`ele Simulink. Nous sommes ainsi capables de valider les comportements num´eriques d’une sp´ecification d’un syst`eme embarqu´e en prenant en compte tous les ´el´ements

introduisant des approximations. Nous notons L.MH la s´emantique des mod`eles hybrides Simulink

et nous la d´efinissons pour une it´eration i de la boucle de simulation.

La s´emantique hybride des mod`eles Simulink introduit une nouvelle approche de l’analyse statique de programmes. En effet, nous prenons en compte, dans une unique repr´esentation, des ´el´ements aux propri´et´es math´ematiques diff´erentes, la r´esolution d’´equations diff´erentielles, uti- lis´ees dans les mod`eles `a temps continu, et l’´etude de la pr´ecision num´erique dans les mod`eles `a temps discret. De plus, l’introduction des capteurs et des actionneurs sont une nouveaut´e dans le cadre de la validation des logiciels embarqu´es. Nous consid´erons ainsi tous les acteurs importants, du point de vue de la qualit´e num´erique, qui entrent dans la composition d’un syst`eme embarqu´e. Ce qui signifie que nous validons les comportements num´eriques d’un logiciel embarqu´e en le plon- geant dans un mod`ele d’environnement physique et en le faisant interagir avec ce dernier au travers de capteurs et d’actionneurs. Nous sommes alors en mesure d’´etudier toutes les sources potentielles d’approximations num´eriques. La seconde originalit´e de notre approche r´eside dans l’interaction ´etroite entre deux s´emantiques permettant de d´efinir une s´emantique de mod`eles hybrides Simu- link. Nous introduisons, dans cette section, les interactions entre diff´erentes s´emantiques. Ce qui constituent une nouveaut´e du point de vue de la s´emantique des langages de programmation. En

effet, il est rare de trouver un langage de programmation qui n´ecessite diff´erentes interpr´etations de ces constructions syntaxiques. En g´en´eral, ces diff´erences sont li´ees uniquement aux types de bases tels que les nombres entiers ou les nombres flottants. Ces types entraˆınent uniquement diff´erents modes d’´evaluation des expressions arithm´etiques, mais ils ne changent pas de mani`ere importante la s´emantique du langage. Dans notre cas, l’interpr´etation des mod`eles `a temps continu et celle des mod`eles `a temps discret sont tr`es diff´erentes. Ce qui se traduit, dans la s´emantique des mod`eles hybrides, par une interaction inhabituelle entre deux s´emantiques ind´ependantes.

La s´emantique concr`ete L.MH des mod`eles hybrides est d´efinie par la combinaison de la

s´emantique L.MCdes mod`eles `a temps continu et de la s´emantique L.MDdes mod`eles `a temps discret. Nous rappelons qu’un mod`ele M est soit `a temps continu, soit `a temps discret. L’aspect hybride vient des sous-syst`emes de M qui peuvent ˆetre `a temps continu ou `a temps discret. Par exemple, le syst`eme de la figure 4.2(a) est un syst`eme hybride. La s´emantique L.MHd´etermine la s´emantique `

a utiliser suivant le type du sous-syst`eme. Nous utilisons les r`egles de conversion suivantes : – si le mod`ele M est `a temps continu alors nous utilisons la s´emantique L.MCet

– si le mod`ele M′ est `a temps continu alors nous continuons avec la s´emantique L.M C ; – si le mod`ele M′ est `a temps discret alors nous choisissons la s´emantique L.M

D. Ce cas de figure correspond `a l’utilisation d’un capteur dans un syst`eme embarqu´e. Nous utilisons alors la fonction sample ;

– si le mod`ele M est `a temps discret alors nous utilisons la s´emantique L.MDet – si le mod`ele M′ est `a temps continu alors nous optons pour la s´emantique L.M

C. Ce cas de figure correspond `a l’utilisation d’un actionneur dans un syst`eme embarqu´e. Nous utilisons, dans ce cas, la fonction activate ;

– si le mod`ele M′ est `a temps discret alors nous continuons avec la s´emantique L.M D. Nous supposons que tous les syst`emes d’un mod`ele Simulink sont typ´es. Ce qui signifie qu’`a chaque sous-syst`eme d’un mod`ele Simulink M est associ´ee une information stipulant sa nature, `a temps continu ou `a temps discret.

Les versions concr`etes et abstraites de la s´emantique des mod`eles hybrides sont sensiblement les mˆemes. Nous d´etaillons uniquement la version abstraite L.M♯H de la s´emantique des mod`eles hybrides pour une it´eration i. Chaque sous-syst`eme poss`ede son propre environnement d´ependant

de son type. Soit µ une fonction de partition. Nous notons σ♯

µ l’environnement repr´esentant soit un environnement d’un mod`ele `a temps continu θ♯

µ, soit un environnement d’un mod`ele `a temps discret φ♯

µ. La d´efinition de la s´emantique abstraite L.M ♯

H suit les s´emantiques L.M ♯ C et L.M

♯ D. Nous d´efinissons la s´emantique du syst`eme d’´equations des sorties Eo

iJMK celle du syst`eme d’´equations des ´etats Es

iJMK.

L’aspect hybride des mod`eles Simulink se situe, dans notre formalisme, dans le syst`eme d’´equations EoJMK. En effet, la pr´esence de sous-syst`emes dans le mod`ele est traduite par des ´equations de la forme ℓ = f (~xin). Nous d´efinissons la s´emantique du syst`eme d’´equations EoiJMK associ´ees aux sorties du mod`ele M en consid´erant la pr´esence d’appels de fonctions. Pour des raisons de lisibilit´e, nous pr´esentons l’´evaluation de la s´equence d’´equations Io

iJMK sous la forme

d’un algorithme. En effet, la s´emantique du syst`eme d’´equations Eo

iJMK d’un mod`ele hybride M

est d´efinie suivant la forme des ´equations et elle d´epend du type de M . L’ensemble des cas `a ´etudier est alors plus ais´ement mis en avant sous la forme d’un algorithme. L’algorithme 1 d´ecrit l’´evaluation de la s´equence d’´equations IoiJMK. La s´equence ´evalue chaque ´equation une `a une. Suivant le type du mod`ele M , `a temps continu ou `a temps discret, les ´equations sont ´evalu´ees dans la s´emantique des mod`eles `a temps continu L.M♯Cou dans la s´emantique des mod`eles `a temps discret L.M♯D. Si l’´equation contient un appel de fonction les r`egles de conversion pr´ec´edemment d´efinies sont appliqu´ees.

La s´emantique abstraite du syst`eme d’´equations Eo

iJMK se fonde sur l’´evaluation de la s´equence d’´equations Io

iJMK d´ecrite par l’algorithme 1. Cependant, la pr´esence potentielle de boucle dans la graphe de d´ependance de EoiJMK n´ecessite le calcul d’un plus petit point fixe. Nous avons alors la d´efinition suivante : LEo iJMKM♯H(σ ♯ µ) = lfp  LIo iJMKM♯H(σ ♯ µ)  . (6.16)

La s´emantique abstraite du syst`eme d’´equations des ´etats Es

choisissant la s´emantique associ´ee au type de M . Nous avons alors la d´efinition suivante : LEsiJMKM ♯ H(σ ♯ µ) = ( LEs iJMKM ♯ C σµ♯ 

si M est `a temps continu LEs iJMKM ♯ D σ ♯ µ 

si M est `a temps discret . (6.17)

Au final la s´emantique abstraite L.M♯Hd’un mod`ele hybride M pour l’it´eration i est donn´ee par : LEiJMKM♯H(σ ♯ µ) = LEsiJMKM ♯ H  LEoiJMKM ♯ H(σ ♯ µ)  . (6.18)

Algorithme 1 Evaluation de la s´equence d’´equations Io

iJMK.

Entr´ee(s): Io

iJMK une s´equence d’´equations, σ♯µ un environnement abstrait. Sortie(s): σ♯

µ environnement contenant les sorties de M .

pour toute ´equation e∈ Io

iJMK faire

si M continu alors

si e est de la forme ℓ = f (~xin) alors si f = E JM′K est `a temps continu alors

σ♯= LE JMKM♯ C(σ

)

sinon{ f = E JMK est `a temps discret } φ♯= sampleσ, ~x in  σ♯= activate♯LE JMKM♯ D(φ♯), ℓ  fin si

sinon{ e est de la forme ℓ = exp }

σ♯= LeM♯ KT(σ

) fin si

sinon{M est discret}

si e est de la forme ℓ = f (~xin) alors si f = E JM′K est `a temps continu alors

θ♯= activateσ, ~x in σ♯= sample♯LE JMKM

C(θ♯), ℓ 

sinon{ E JMK est `a temps discret} σ♯= LE JMKM

D(σ♯) fin si

sinon{ e est de la forme ℓ = exp }

σ♯= LeM♯ KED(σ ♯) fin si fin si fin pour

La correction de la s´emantique abstraite L.M♯H par rapport `a la s´emantique concr`ete L.MH est obtenue par les th´eor`emes de correction de la s´emantique des mod`eles `a temps discret (voir th´eor`eme 6.1), de la s´emantique des mod`eles `a temps continu (voir th´eor`eme 6.2), de la fonction activate (voir th´eor`eme 6.3) et de la fonction sample (voir th´eor`eme 6.4).