• Aucun résultat trouvé

3 Concepts structurels dans le SDL

3.2 Subdivision

3.2.3 Subdivision des canaux

Exemple

La Figure 3.3.1 illustre un exemple de diagramme <open block substructure diagram>.

Un exemple de définition <block substructure definition> est donné ci-après.

substructure A ;

signal s5(nat), s6, s8, s9(min);

block a1 referenced;

block a2 referenced;

block a3 referenced;

channel c1 from a2 to env with s1, s2; endchannel c1;

channel c2 from env to a1 with s3;

from a1 to env with s1; endchannel c2;

channel d1 from a2 to env with s7; endchannel d1;

channel d2 from a3 to env with s10; endchannel d2;

channel e1 from a1 to a2 with s5, s6; endchannel e1;

channel e2 from a3 to a1 with s8; endchannel e2;

channel e3 from a2 to a3 with s9; endchannel e3;

connect c and c1, c2 ; connect d and d1, d2 ; endsubstructure A;

Le diagramme <block substructure diagram> du même exemple est représenté par la Figure 3.2.3.

T1007790-93/d15

c1 [s1,s2]

e1 [s5,s6]

e3 [s9]

e2 [s8]

a1 a2

a3

c d

c2 [s3] [s1]

d2 [s10]

d1 [s7]

substructure A

signal s5(nat), s6, s8, s9(min);

FIGURE 3.2.3/Z.100

Diagramme de sous-structure de bloc pour le bloc A FIGURE 3.2.3/Z.100...[D15] = 10 CM

Grammaire textuelle concrète

<channel substructure definition> ::=

substructure {[<channel substructure name>]

| <channel substructure identifier> } <end>

{ <entity in system>

| <channel endpoint connection> }+

endsubstructure [{ <channel substructure name>

| <channel substructure identifier>}] <end>

Si le nom <channel substructure name> après le mot clé substructure est omis, il est le même nom que le nom <channel name> dans la définition <channel definition> englobante.

<textual channel substructure reference> ::=

substructure <channel substructure name> referenced <end>

<channel endpoint connection> ::=

connect {<block identifier> | env}

and <subchannel identifiers> <end>

Les deux points d'extrémité de la définition <channel definition> subdivisée doivent être distincts et pour chaque point d'extrémité on doit avoir exactement une connexion <channel endpoint connection>. L'identificateur <block identifier>

ou env dans une connexion <channel endpoint connection> doit identifier un des points d'extrémité de la définition

<channel definition> subdivisée.

Des conditions statiques supplémentaires d'une définition <channel substructure definition> sont définies au moyen de la définition <block definition> qui résulte de la transformation décrite dans Modèle.

Grammaire graphique concrète

<channel substructure diagram> ::=

<frame symbol>

contains {<channel substructure heading>

{ {<channel substructure text area>}*

{<macro diagram>}*

{<type in system area>}*

<block interaction area> } set } is associated with {<block identifier> | env}+

L’identificateur <block identifier> ou env désigne un point d'extrémité du canal subdivisé. L'identificateur <block identifier> est placé à l'extérieur du symbole <frame symbol> au voisinage du point d'extrémité du sous-canal associé au symbole <frame symbol>. Le symbole <channel symbol> à l'intérieur du symbole <frame symbol> et qui est relié à ce dernier indique un sous-canal.

<channel substructure heading> ::=

substructure

{ <channel substructure name> | <channel substructure identifier>}

<channel substructure text area> ::=

<system text area>

<channel substructure association area> ::=

<dashed association symbol>

is connected to <channel substructure area>

<channel substructure area> ::=

<graphical channel substructure reference>

| <channel substructure diagram>

<graphical channel substructure reference> ::=

<channel substructure symbol> contains <channel substructure name>

<channel substructure symbol> ::=

<block symbol>

Modèle

Une définition <channel definition> qui contient une définition <channel substructure definition> est transformée en une définition <block definition> et deux définitions <channel definition> telles que:

a) Les deux définitions <channel definition> sont chacune connectées au bloc et à un point d'extrémité du canal d'origine. Les définitions <channel definition> ont des nouveaux noms distincts et chaque référence au canal d'origine dans les constructions via est remplacée par une référence au nouveau canal approprié.

Les deux canaux implicites sont des canaux à retard si et seulement si le canal subdivisé est un canal à retard.

b) La définition <block definition> a un nouveau nom distinct et contient uniquement une définition <block substructure definition> portant le même nom et contenant les mêmes définitions que la définition

<channel substructure definition> d'origine. Les qualificatifs de la nouvelle définition <block definition>

sont modifiés afin d'inclure le nom de bloc. Les deux connexions <channel endpoint connection> de la définition <channel substructure definition> d'origine sont représentées par deux connexions <channel connection> dans lesquelles l'identificateur <block identifier> ou env est remplacé par le nouveau canal approprié.

c) Les sorties <output> à l'intérieur de la sous-structure du canal qui mentionne le canal dans un trajet <via path> ont leur clause via qui mentionne l'identificateur <channel identifier> remplacée par une clause via contenant un ou deux des canaux implicites du trajet <via path> de sorte qu'un canal qui a l'identificateur

<signal identifier> dans sa liste <signal list> pour une direction à partir de la définition <block definition>

se trouve dans le trajet <via path>. Dans le cas où l'identificateur <channel identifier> est remplacé par deux canaux implicites dans le trajet <via path>, cela se produit dans un ordre arbitraire.

Exemple

Un exemple de définition <channel substructure definition> est donné ci-après.

channel C from A to B with s1;

from B to A with s2;

substructure C;

signal s3(hel), s4(boo), s5;

block b1 referenced;

block b2 referenced;

channel c1 from env to b1 with s1;

from b1 to env with s2; endchannel c1;

channel c2 from b2 to env with s1;

from env to b2 with s2; endchannel c2;

channel e1 from b1 to b2 with s3; endchannel e1;

channel e2 from b2 to b1 with s4, s5; endchannel e2;

connect A and c1;

connect B and c2;

endsubstructure C;

endchannel C;

Le diagramme <channel substructure diagram> pour cet exemple est représenté par la Figure 3.2.4.

T1007800-93/d16 e1 [s3]

b1 b2

A B

c1 [s1] [s2]

e2 [s4,s5]

c2 [s1] [s2]

substructure c

signal s3(hel), s4(boo), s5;

FIGURE 3.2.4/Z.100

Diagramme de sous-structure de canal pour le canal C FIGURE 3.2.4/Z.100...[D16] = 7 CM