• Aucun résultat trouvé

Partie I : L’analyse des systèmes 13

8.3 Modèles graphiques

flow f1, f2: bool; event Pression; state ouvert: bool; trans true |- Pression

-> ouvert: = not ouvert; assert (not ouvert) => (f1=f2); edon Interrupteur s ouvert: bool e f1: bool e f2: bool 3 Pression

Figure 8.15: À gauche la description textuelle d’un interrupteur et à droite la représentation graphique de ses variables et de son événement.

d’être graphique et expose de manière simple les comportements modélisés. Malheu-reusement la syntaxe du langage AltaRica n’autorise pas une représentation systéma-tique de l’ensemble des transitions sous la forme d’un automate. Nous autorisons pas conséquent deux écritures (graphique ou textuelle).

La forme textuelle est évidemment nécessaire. La partie Automate contiendra alors le texte des macro-transitions tel qu’il serait écrit dans un fichier AltaRica. Un automate dessiné graphiquement : si l’ensemble des variables d’état du

compo-sant décrit est

S

alors un sous-ensemble

S

0



S

des variables d’état est choisi afin de représenter les états de l’automate graphique. Chaque état de cet automate est une description d’une valuation des variables d’états de

S

0

. À chaque état

s

(c-à-d. à chaque valuation) est associée une assertion

as

représentée à l’intérieur de l’état. L’ensemble des couples(

s;as

)se traduit par la conjonction des for-mules

s

)

as

où la valuation

s

est considérée comme une formule (c-à-d. une conjonction d’égalité

vs

=

s

(

vs

)

vs

2

S

0

).

Une transition est étiquetée par : une condition

g

sur les variables syntaxique-ment autorisées par le langage AltaRica, un événesyntaxique-ment

e

et une affectation

a

des variables de

S

n

S

0

. Graphiquement, les macro-transitions sont donc repré-sentées sous la forme

s g;e;a

!

s

0

g

est la condition,

e

l’événement et

a

l’affectation. Une telle représentation correspond à la macro-transition AltaRica: (

s

^

g;e;a

[

s

0

)c’est à dire la valuation

s

est considérée comme une garde et

s

0 est transformée en affectation.

La transition de l’interrupteur représenté sur la figure 8.15 esttrue |- Pression

-> ouvert: = not ouvert. Celle-ci peut se décrire graphiquement de deux manières (figure 8.16) suivant l’ensemble

S

0

de variable choisi.

8.3.5 L

A HIÉRARCHIE

La représentation de la hiérarchie est très classique et consiste simplement à dessi-ner les sous-composants à l’intérieur de la partie Structure d’un noeud. La figure 8.17 représente graphiquement le noeud Main de la description ci-dessous.

ouvert := not ouvert Pression, true, ouvert=true ouvert=false true,Pression, true,Pression,

Figure 8.16: Représentation graphique de la macro-transitions de l’interrup-teur de la figure 8.15. À gauche le sous-ensemble des variables représentatif de l’état est vide.

node Source flow f: bool; assert f = true; edon //L’interrupteur de la figure 8.15 node Interrupteur

:::

edon node Ampoule flow f: bool; edon node Main sub S: Source; I: Interrupteur; A: Ampoule;

assert S.f = I.f1; I.f2 = A.f; edon S:Source f:bool A:Ampoule f:bool Main

ouvert := not ouvert Pression,

true,

I:Interrupteur

f1:bool f2:bool Pression

Figure 8.17: Représentation de la hiérarchie

8.3.6 L

ES INTERACTIONS

:

ASSERTIONS ET VECTEURS DE

SYNCHRONISATION

Les interactions entre les sous-composants d’un noeud sont décrites par des assertions et des vecteurs de synchronisation. Ces deux types d’interactions se décrivent de ma-nière similaire par un hypergraphe dont les arêtes connectent les objects impliqués dans l’interaction:

 Pour une assertion il s’agit des variables contenues dans l’expression; l’hyper-arête est alors représentée par un  .

8.3. MODÈLES GRAPHIQUES

 Pour un vecteur de synchronisation, il s’agit des événements des sous-composants impliqués; l’hyper-arête est alors représentée par un.

La figure 8.18 représente le système de la figure 8.17 avec, cette fois-ci, les connexions entre les composants S,I et A.

Main

A:Ampoule

f:bool

S ouvert := not ouvert

Pression, true, S:Source f:bool I:Interrupteur ouvert:bool Pression f1:bool f2:bool S.f=I.f1 I.f2=A.f f=true not ouvert=>(f1=f2)

9

9

SÉMANTIQUE

Dans ce chapitre nous présentons la sémantique du langage AltaRica. Celle-ci s’ex-prime en terme de systèmes de transition interfacé [143]. Nous présentons ce modèle pour lequel nous définissons une relation de bisimulation; celle-ci nous permet de mettre en évidence la compositionalité de la sémantique.

Après la présentation des systèmes de transition interfacés nous donnons succes-sivement la sémantique des composants et des nœuds AltaRica. Nous montrons que, moyennant une quantification existentielle des variables de flux, les nœuds peuvent être réécrit sous la forme de composants possédant la même sémantique.

Nous terminons ce chapitre en montrant que les composants AltaRica permettent sous certaines hypothèses de décrire les automates temps-réel d’Alur et Dill.

9.1 SYSTÈMES DE TRANSITIONS INTERFACÉS

Définition 9.1.1 (Système de transitions interfacé)

Un

système de transitions interfacé

(STI) est un quintupletA=h

E;F;S;;T

ioù : 

E

=

E

+

[f



gest un ensemble fini d’événements où



est un événement distingué n’appartenant pas à

E

+.



F

est un ensemble de valeurs de flux.



S

est l’ensemble des états du STI et



:

S

!2

F

est une application qui associe

à tout état l’ensemble des valeurs de flux qu’il autorise. De plus, nous supposons que pour tout

s

2

S

,



(

s

)6=;.



T



S



F



E



S

est la relation de transition supposée vérifier : (

s;f;e;s

0

)2

T

)

f

2



(

s

) 8

s

2

S

,(

s;f;;s

)2

T

.

Une

conguration

d’un STI est un couple(

s;f

)2

S



F

tel que

f

2



(

s

).

2 Définition 9.1.2 (STI avec priorités)

SoitA=h

E;F;S;;T

iun STI et

<

un ordre partiel strict sur

E

. Nous notonsA

<

= h

E; F; S; ; T



<

ile STI dont l’ensemble des transitions est défini par(

s;f;e;s

0

)2

T



<

si et seulement si(

s;f;e;s

0 ) 2

T

et pour tout

s

00 2

S

et pour tout

e

0 2

E

, (

s;f;e

0

;s

00 )2

T

)

e

6

< e

0 .

2 L’ensemble

F

d’un système de transition interfacé peut être considéré comme un ensemble de propriétés associées aux états du système par l’application



. Une bisimu-lation interfacée est une rebisimu-lation de bisimubisimu-lation qui préserve ces propriétés.

Définition 9.1.3 (Bisimulation interfacée) SiA 1 =h

E;F;S

1

;

1

;T

1 ietA 2 =h

E;F;S

2

;

2

;T

2

isont des systèmes de transition interfacés alors

R



S

1



S

2est une relation de

bisimulation interfacée

si : 1. 8

s

1 2

S

1

;

9

s

2 2

S

2

;

(

s

1

;s

2 )2

R

et8

s

2 2

S

2

;

9

s

1 2

S

1

;

(

s

1

;s

2 )2

R

2. 8(

s

1

;s

2 )2

R;

1 (

s

1 )=



2 (

s

2 ) 3. 8(

s

1

;f;e;s

0 1 )2

T

1

;s

2 2

S

2

;

(

s

1

;s

2 )2

R

)9(

s

2

;f;e;s

0 2 )2

T

2

;

(

s

0 1

;s

0 2 )2

R

4. 8(

s

2

;f;e;s

0 2 )2

T

2

;s

1 2

S

1

;

(

s

1

;s

2 )2

R

)9(

s

1

;f;e;s

0 1 )2

T

1

;

(

s

0 1

;s

0 2 )2

R

2 Dans [22] il est montré que la bisimulation de deux systèmes de transitions peut être définie à l’aide d’homomorphismes possèdant les propriétés suivantes :

Définition 9.1.4 (Homomorphisme de bisimulation interfacée) SoientA 1 =h

E;F;S

1

;

1

;T

1 ietA 2 = h

E;F;S

2

;

2

;T

2

ideux systèmes de transi-tions interfacés. Un

homomorphisme de bisimulation interfacéeh

: A

1 !A 2est une application

h

:

S

1 !

S

2telle que : (h1)

h

est surjective (h2) 8

s

2

S

1,



1 (

s

)=



2 (

h

(

s

)) (h3) 8h

s;f;e;s

0 i2

T

1,h

h

(

s

)

;f;e;h

(

s

0 )i2

T

2 (h4) 8

s

1 2

S

1

; s

0 2 2

S

2

;

h

h

(

s

1 )

;f;e;s

0 2 i2

T

2 )9

s

0 1 2

S

1

;h

(

s

0 1 )=

s

0 2 ^h

s

1

; f; e;

s

0 1 i2

T

1 2 Théorème 9.1 ([22])

Deux systèmes de transition interfacés,A

1 etA2, sont en bisimulation interfacée si et seulement si il existe un système de transition interfacéBet deux homomor-phismes de bisimulation interfacés

h

1

:A 1 !Bet

h

2 :A 2 !B.

Le fait que deux systèmes de transition interfacés soient en bisimulation est conservé si l’on applique des priorités aux événements de ces STI.

Proposition 9.1 (Priorités et bisimulation [143]) SoientA 1 =h

E;F;S

1

;

1

;T

1 ietA 2 =h

E;F;S

2

;

2

;T

2

ideux systèmes de tran-sition interfacés et

<

un ordre sur

E

. Si

h

: A

1

! A

2 est un homomorphisme de bisimulation alors

h

est aussi un homorphisme de bisimulation deA

1



<

vers A

2 

<

.

Preuve : En annexe, section A.1.1, page 133.