• Aucun résultat trouvé

Mod`ele s´emantique polychrone

4.2 Quelques propri´et´es formelles

4.2.1 Mod`ele s´emantique polychrone

Soient :

X un ensemble d´enombrable de variables ;

B={ff,tt}l’ensemble des bool´eens o`u ff et tt d´enotent respectivement faux etvrai; V un ensemble repr´esentant le domaine des op´erandes dans une expression, contenant au

moinsB;

Tun ensemble dense muni d’une relation d’ordre partiel not´ee ≤, dont les ´el´ements sont appel´es tags, tel que : toute paire {t1, t2} avec (t1, t2) T2 admet une borne inf´erieure

inf{t1, t2} dansT.

4.2.1.1 D´efinitions de base

Nous introduisons dans cette section les notions de base qui permettent de caract´eriser le mod`ele polychrone. Nous commen¸cons par la notion de points d’observation :

D´efinition 3 (points d’observation) On appelle ensemble de points d’observation (ou points d’observation en abr´eg´e) tout ensemble de tags T qui satisfait les propri´et´es suivantes :

1. T ⊂T,

2. T est d´enombrable,

3. toute paire de tags de T poss`ede un minorant dans T.

T fournit une ´echelle de temps discret correspondant aux instants logiques auxquels sont “observ´es” les ´ev´enements, ou l’absence d’´ev´enement d’un syst`eme qui s’ex´ecute ;

T permet de plonger les comportements du syst`eme, d´ecrits suivant l’´echelle de temps logiqueT, dans une ´echelle de “temps r´eel” pour refl´eter une mise en œuvre de ce syst`eme sur une plate-forme donn´ee.

On appelle chaˆıne tout sous-ensemble C de T totalement ordonn´e poss´edant un minorant. L’ensemble des chaˆınes est repr´esent´e par le symboleC. Pour un ensemble de points d’observation

T, on note CT l’ensemble des chaˆınes de T. Les notations min(C) et predC(t) repr´esentent respectivement le minimum et le pr´ed´ecesseur imm´ediat du tag t dans une chaˆıne C. Nous pr´esentons ci-apr`es les notions de base (illustr´ees sur la Fig. 4.3). Les d´efinitions sont toutes relatives `a un ensemble de points d’observation donn´e. Cela ne sera pas mis explicitement en indice afin d’all´eger l’´ecriture.

D´efinition 4 (´ev´enement) Un ´ev´enementesur un ensemble de points d’observation T (un ´ev´enement e, en abr´eg´e) est un couple (t, v)∈ T × V.

L’ensemble des ´ev´enements sur T est not´e ET. La notion d´efinie ci-apr`es, appel´ee signal, constitue un ensemble d’´ev´enements.

D´efinition 5 (signal) Un signal sur un ensemble de points d’observation T (un signal, en abr´eg´e) est une fonction partielle s∈ CT V, qui aux points d’observation d’une chaˆıne dans

CT associe des valeurs.

Le domaine de d´efinition d’un signal s (l’ensemble des t de T tels que s(t) est d´efini) est not´etags(s). L’ensemble des signaux surT est not´eST.

D´efinition 6 (comportement) Pour un ensemble de points d’observation T, un compor-tement b sur X ⊆ X est une fonction b X −→ ST qui associe `a chaque variable x X un

signal ssur T.

On noteBT,X l’ensemble des comportements de domaineX⊆ X sur un ensemble de points d’observation T, etBT l’ensemble des comportements d´efinis sur l’union de tous les ensembles de variables sur T. On note vars(b) le domaine d’un comportement b. L’ensemble destags as-soci´e `abest repr´esent´e partags(b) =S

x∈vars(b)tags(b(x)). Pour un ensemble de comportements

B, on notetags(B) =S

b∈Btags(b).

Pour un comportement b, d´efini sur Y et un ensemble X Y, on note b|X sa projec-tion sur X, c’est-`a-dire, vars(b|X) = X et ∀x X, b|X(x) = b(x). La projection de b sur le compl´ementaire de X dans Y est d´enot´ee parb/X. Pour tout signal s, l’expression s|≤t d´enote le pr´efixe des jusqu’autag t, c’est-`a-dire :s|≤t={(t′, v)∈s |t′ ≤t}. Le pr´efixe d’un compor-tement est obtenu en consid´erant le pr´efixe de chacun de ses signaux.

Dans le mod`ele polychrone, les comportements d’un syst`eme sont sp´ecifi´es sur un ensemble discret tel que chaque instant d´enote l’occurrence d’´ev´enements du syst`eme. Une telle descrip-tion prend pleinement en compte la simultan´eit´e et la pr´ec´edence d’´ev´enements. C’est une vision qui facilite l’´etude des aspects comportementaux d’un syst`eme temps r´eel (par exemple, l’or-donnancement). La validation des sp´ecifications polychrones ainsi d´efinies est r´ealis´ee `a travers

evenements ’ ’ variable x2 : x1 : signal valeurs comportement points d’observation

Figure 4.3 – ´Ev´enements, signaux, et comportements.

un d´eploiement sur une ´echelle de temps continu (repr´esentant le temps physique). `A chaque ´ev´enement du mod`ele polychrone, on peut alors associer l’instant physique auquel il apparaˆıt lors d’une ex´ecution effective sur une plate-forme donn´ee. Des aspects quantitatifs non trait´es dans le mod`ele polychrone abstrait peuvent alors l’ˆetre (par exemple, v´erification de contraintes sur les dur´ees des calculs).

Pour un mod`ele quelconque de syst`eme temps r´eel, le passage d’une ´echelle de temps discret `

a une ´echelle de temps continu doit tenir compte des performances de la plate-forme d’implan-tation. Selon la vitesse des processeurs disponibles pour r´ealiser les calculs et communications, un ´ev´enementeobserv´e `a l’instant logiquetpeut ˆetre produit `a des instants physiques diff´erents durant des ex´ecutions effectives. Pour une suite d’´ev´enements (i.e. un signal), cela induit des d´elais variables entre ses ´ev´enements successifs. Par contre, ces derniers sont toujours produits dans le mˆeme ordre.

Le plongement d’un ensemble de comportements d´efinis sur une ´echelle de temps initiale dans une autre ´echelle est facilement mod´elisable dans le mod`ele polychrone. L’intuition consiste `a voir un signal comme un ´elastique qui porte des marques ordonn´ees. Lorsqu’il est ´etir´e, ses marques demeurent dans le mˆeme ordre et on peut en ajouter d’autres entre deux marques ´etir´ees. Quand on le relˆache, toutes les marques redeviennent proches les unes des autres. De plus, elles restent dans le mˆeme ordre. Au sein d’un comportement, si chaque signal est ´etir´e de fa¸con identique, l’ordre partiel entre les marques reste inchang´e. Le m´ecanisme d’´etirement de comportements (en anglais,stretching) est d´efini ci-apr`es.

D´efinition 7 (´etirement d’un comportement) Pour un ensemble de points d’observation

T, et b1, b2 deux comportements de BT, b1 est moins ´etir´e que b2 (ou b2 est un ´etirement de

b1), not´e b1 ≤BT b2, ssi vars(b1) =vars(b2) et il existe une bijection f : tags(b1)→tags(b2)

suivant laquelle b1 et b2 sont isomorphes :

∀x∈vars(b1) f(tags(b1(x))) =tags(b2(x)),

∀x∈vars(b1) ∀t∈tags(b1(x)) b1(x)(t) =b2(x)(f(t)),

∀t1, t2 ∈tags(b1) t1 ≤t2 ⇔f(t1)≤f(t2),

et telle que

∀C ∈ CT,∀t∈C t≤f(t).

Sur laFig. 4.4, nous avons illustr´e deux fonctions d´efinissant deux ´etirements possibles (f′et

f′′) d’un comportement. Comme nous le verrons par la suite, la notion d’´etirement joue un rˆole tr`es important dans la description de comportements temps r´eel. L’´etirement ´etant une relation d’ordre partiel sur l’ensemble des comportements, on d´efinit l’´equivalence de comportements

modulo ´etirement. t”1 t”2 t”3 t”4 t”5 t5 t4 t3 t2 t1 t1 t2 t3 t4 t5 f′ f” T

Figure4.4 – Exemples d’´etirements de comportement.

D´efinition 8 (´equivalence modulo ´etirement) Pour un ensemble de points d’observation

T, deux comportements b1 et b2 sont dits ´equivalents modulo ´etirement, not´e b1 b2, ssi il existe un comportement b3 moins ´etir´e que chacun d’entre eux, c’est-`a-dire :

b1≶b2 ssi ∃b3 b3 ≤BT b1 et b3 ≤BT b2

La classe d’´equivalence d’un comportementb selon ´etirement forme un semi-treillis admet-tant un comportement minimal. On appelle comportementsstrictsles comportementsminimaux

pour l’´etirement surT. ´Etant donn´e un comportementb, l’ensemble de tous les comportements qui lui sont ´equivalents par ´etirement surT d´efinit saclˆoture par ´etirement sur T not´ee b∗.

D´efinition 9 (clˆoture d’un ensemble de comportements) On appelle clˆoture d’un ensemble

p de comportements sur un ensemble de points d’observation T, l’ensemble not´e p union des clˆoturesb∗ des comportements b de p :

p= [

b∈p

b

On d´efinit de cette fa¸con les processus.

D´efinition 10 (processus) Pour un ensemble de points d’observationT, on appelle processus tout ensemble de comportements p∈ P(BT) clos par ´etirement, i.e., p∗ =p.

On notera vars(p) l’ensemble des variables des comportements que contient le processusp. On dira quepest d´efini survars(p). Tout processus non videpcomporte un sous-ensemblep⊆p

de comportements stricts (pour toutb1∈p, il existe un uniqueb2∈p tel queb2 ≶b1). Dans le reste de ce chapitre, on distinguera la repr´esentation syntaxique d’un processus Signal not´ee

P, de sa repr´esentation s´emantique associ´ee, not´ee [[P]] (i.e., l’ensemble clos par ´etirement qui contient tous les comportements admis par P). Nous d´efinissons ci-apr`es les op´erations sur les processus.

D´efinition 11 (composition) Pour un ensemble de points d’observation T sur lequel sont d´efinis deux processusp1 etp2, la composition synchrone p=p1 |p2 est un processus (ensemble de comportements clos par ´etirement surT), tel que :

vars(p) = vars(p1)∪vars(p2),

p = ({b | b|vars(p1)∈p1, b|vars(p2)∈p2})

Nous avons mentionn´e quelques propri´et´es alg´ebriques importantes de l’op´erateur de com-position dans la section 4.1.1.2. Une autre propri´et´e de la comcom-position est lamonotonie [147].

Propri´et´e 1 (monotonie) Pour tous processus p1, p2, p3, on a

p1 ⊆p2 ⇒(p1 | p3)⊆(p2 |p3)

D´efinition 12 (restriction) La restriction, not´ee p/x, d’un processus p d´efini sur X `a un processus d´efini sur X\{x}, est d´efinie par :

p/x= ({b2 | ∃b1∈p b2 =b1/{x}})

Dans la d´efinition ci-dessus, la clˆoture est n´ecessaire comme nous pouvons le constater dans la situation suivante : si dans tout comportement dep d´efini sur{x, y}, les occurrences dexet

y alternent, alors dans tout comportement b1/{x} il existe, entre tout couple d’´ev´enements de tagst1 ett2, au moins un tagt1auquel n’est associ´e aucun ´ev´enement (seulx´etait pr´esent `at1).

On note par le mˆeme symbole “|” la composition dans la syntaxe et dans la s´emantique, et on a pour tous processusSignal PetQ:

[[P | Q]] = [[P]] |[[Q]] De mˆeme pour la restriction, on a :

[[P/x]] = [[P]]/x

`

A pr´esent, nous introduisons deux notions importantes permettant d’´etablir l’´equivalence de comportements polychrones, y compris apr`es leur d´esynchronisation. Pour cela, nous pr´ecisons d’abord la notion desynchronisation entre signaux dans le mod`ele polychrone. ´Etant donn´e un signal identifi´e par la variablex, son horloge, not´ee ˆx, est un signal qui porte la valeurvrai si et seulement si le signal est pr´esent (les instants de pr´esence ´etant d´efinis par l’ensemble des tags

tags : t1 t2 t3 t4 ...

x : v1 v2 v3 v4 ...

ˆ

x : tt tt tt tt ...

Les relations de synchronisation sont exprim´ees `a l’aide d’´equations entre horloges de si-gnaux. Par exemple, pour exprimer le fait que deux signaux identifi´es parxetysont synchrones, on ´ecrit : ˆx= ˆy.

4.2.1.2 Comparaison de comportements d´esynchronis´es

L’´etirement d´efinit une relation d’´equivalence qui pr´eserve `a la fois la simultan´eit´e et l’ordre des ´ev´enements au sein d’un comportement. En d’autres termes, deux comportements dont l’un repr´esente un ´etirement de l’autre poss`edent les mˆemes relations de synchronisation. Le mod`ele polychrone d´efinit une notion de relˆachement de comportement (en anglais,relaxation), moins “contraignante” que l’´etirement dans le sens o`u, au sein d’un comportement issu du relˆachement d’un autre comportement, les relations de synchronisation ne sont pas n´ecessairement pr´eserv´ees. En revanche, l’ordre des ´ev´enements pour chaque signal reste inchang´e. Le relˆachement per-met ainsi de comparer des comportements suivant l’ordre des points d’observation. Cela est utile notamment pour caract´eriser la d´esynchronisation de descriptions synchrones. En effet, le d´eploiement de ces derni`eres sur un mod`ele d’architecture distribu´ee requiert souvent un relˆachement de certaines contraintes sur les horloges des signaux.

D´efinition 13 (relˆachement d’un comportement) Pour un ensemble de points d’observa-tion T, un comportement b2 est un relˆachement du comportement b1, not´eb1⊑b2, ssi

vars(b1) =vars(b2) et ∀x∈vars(b1), b1|{x}≤BT b2|{x}

Le relˆachement est aussi une relation d’ordre partiel sur les comportements. Il permet de d´efinir l’´equivalence des flots de valeurs de signaux appartenant `a diff´erents comportements. In-tuitivement, deux comportements sont flot-´equivalents (en anglais,flow-equivalent) si et seule-ment si ils ont le mˆeme domaine et les valeurs de chacun de leurs signaux sont dans le mˆeme ordre.

D´efinition 14 (´equivalence de flots) Pour un ensemble de points d’observation T, deux comportements b1 etb2 sont dits flot-´equivalents, not´eb1≈b2, ssi il existe un comportementb3

tel que

b3 ⊑b1 et b3 ⊑b2

La classe d’´equivalence d’un comportementbselon l’´equivalence de flots forme un semi-treillis qui admet un comportement strict, not´e b (i.e. le repr´esentant de la classe). Dans le mod`ele polychrone, l’´equivalence de flots est un crit`ere “minimal” de correction pour les raffinements d’une description purement synchrone d’un syst`eme sur une architecture asynchrone. En effet, les comportements initiaux de la description et ceux r´esultant de transformations de celle-ci en vue d’une ex´ecution asynchrone, doivent avoir les occurrences de leurs signaux qui apparaissent dans le mˆeme ordre.