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-ensembleS
0S
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 deS
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-muless
)as
où la valuations
est considérée comme une formule (c-à-d. une conjonction d’égalitévs
=s
(vs
)oùvs
2S
0).
Une transition est étiquetée par : une condition
g
sur les variables syntaxique-ment autorisées par le langage AltaRica, un événesyntaxique-mente
et une affectationa
des variables de
S
nS
0. Graphiquement, les macro-transitions sont donc repré-sentées sous la forme
s g;e;a
!s
0 oùg
est la condition,e
l’événement eta
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 ets
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
0de variable choisi.
8.3.5 L
A HIÉRARCHIELa 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 DESYNCHRONISATION
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=hE;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
!2F
est une application qui associeà tout état l’ensemble des valeurs de flux qu’il autorise. De plus, nous supposons que pour tout
s
2S
,(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
) – 8s
2S
,(s;f;;s
)2T
.Une
conguration
d’un STI est un couple(s;f
)2S
F
tel quef
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 surE
. Nous notonsA<
= hE; 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 ) 2T
et pour touts
00 2S
et pour toute
0 2E
, (s;f;e
0;s
00 )2T
)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 =hE;F;S
2;
2;T
2isont des systèmes de transition interfacés alors
R
S
1S
2est une relation debisimulation interfacée
si : 1. 8s
1 2S
1;
9s
2 2S
2;
(s
1;s
2 )2R
et8s
2 2S
2;
9s
1 2S
1;
(s
1;s
2 )2R
2. 8(s
1;s
2 )2R;
1 (s
1 )=2 (s
2 ) 3. 8(s
1;f;e;s
0 1 )2T
1;s
2 2S
2;
(s
1;s
2 )2R
)9(s
2;f;e;s
0 2 )2T
2;
(s
0 1;s
0 2 )2R
4. 8(s
2;f;e;s
0 2 )2T
2;s
1 2S
1;
(s
1;s
2 )2R
)9(s
1;f;e;s
0 1 )2T
1;
(s
0 1;s
0 2 )2R
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 = hE;F;S
2;
2;T
2ideux systèmes de transi-tions interfacés. Un
homomorphisme de bisimulation interfacéeh
: A1 !A 2est une application
h
:S
1 !S
2telle que : (h1)h
est surjective (h2) 8s
2S
1,1 (s
)=2 (h
(s
)) (h3) 8hs;f;e;s
0 i2T
1,hh
(s
);f;e;h
(s
0 )i2T
2 (h4) 8s
1 2S
1; s
0 2 2S
2;
hh
(s
1 );f;e;s
0 2 i2T
2 )9s
0 1 2S
1;h
(s
0 1 )=s
0 2 ^hs
1; f; e;
s
0 1 i2T
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 =hE;F;S
2;
2;T
2ideux systèmes de tran-sition interfacés et
<
un ordre surE
. Sih
: A1
! A
2 est un homomorphisme de bisimulation alors
h
est aussi un homorphisme de bisimulation deA1
<
vers A2
<
.Preuve : En annexe, section A.1.1, page 133.