• Aucun résultat trouvé

3 Concepts structurels dans le SDL

3.2 Subdivision

3.2.2 Subdivision des blocs

Block-substructure-definition :: Block-substructure-name

Sub-block-definition-set

Channel-connection-set

Channel-definition-set

Signal-definition-set

Data-type-definition

Syntype-definition-set

Block-substructure-name = Name

Sub-block-definition = Block-definition Channel-connection :: Channel-identifier-set

Sub-channel-identifier-set

Sub-channel-identifier = Channel-identifier Channel-identifier = Identifier

La définition Block-substructure-definition doit contenir au moins une définition Sub-block-definition. Sauf indication contraire, on suppose dans la suite que la définition Block-substructure-definition contient un terme de syntaxe abstraite.

Un identificateur Block-identifier contenu dans une définition Channel-definition doit indiquer une définition Sub-block-definition. Une définition Channel-definition reliant une définition Sub-block-definition à la frontière de la définition Block-substructure-definition est appelée définition de sous-canal.

Chaque définition Channel-definition dans le bloc englobant rattachée à la définition Block-substructure-definition doit être membre d'exactement une connexion Channel-connection. Les identificateurs Channel-identifiers dans la connexion

Channel-connection doivent identifier les définitions Channel-definition dans la définition du bloc englobant. Chaque identificateur Sub-channel-identifier doit apparaître dans une connexion Channel-connection exactement.

Pour les signaux qui sortent de la définition Block-substructure-definition, l'union des ensembles Signal-identifier-sets associés à l'ensemble Sub-channel-identifier-set contenu dans une connexion Channel-connection doit être identique à l'union des ensembles Signal-identifier-sets associés à l'ensemble Channel-identifier-set contenu dans la connexion Channel-connection. La même règle s'applique aux signaux qui pénètrent dans la définition Block-substructure-definition. Toutefois, cette règle est modifiée en cas d'affinement du signal, voir 3.3.

Etant donné qu'une définition Sub-block-definition est une définition Block-definition, elle peut être subdivisée; cette opération peut être répétée un nombre quelconque de fois, et donne une structure hiérarchique en arbre de définitions Block-definitions et leurs définitions Sub-block-definitions. On dit que les définitions Sub-block-definitions d'une définition Block-definition existent au niveau inférieur suivant de l'arbre de blocs, voir aussi la Figure 3.2.2.

A

A1 A2

A21 A22

T1007190-92/d14 Level n – 1

Level n

Level n + 1

FIGURE 3.2.2/Z.100 Diagramme d’arbre de blocs FIGURE 3.2.2/Z.100...[D14] = 9 CM

Le diagramme d’arbre de blocs est un diagramme auxiliaire.

Grammaire textuelle concrète

<block substructure definition> ::=

substructure

{[<block substructure name> ]

| <block substructure identifier> } <end>

{ <entity in system> | <channel connection> }+

endsubstructure

[{ <block substructure name> | <block substructure identifier>}] <end>

Si le nom <block substructure name> après le mot clé substructure est omis, il est le même que le nom de la définition

<block definition> ou <block type definition> englobante.

<textual block substructure reference> ::=

substructure <block substructure name> referenced <end>

<channel connection> ::=

connect <channel identifiers>

and <subchannel identifiers> <end>

<subchannel identifiers> ::=

<channel identifiers>

Si une définition <block substructure definition> contient des définitions <channel definition> et <textual typebased block definition>, alors chaque accès des définitions <block type definition> des définitions <textual typebased block definition> doit être connecté à un canal.

S'agissant d'une définition <block substructure definition> dans une définition <block type definition>, les connexions

<channel connection> ne peuvent pas être données. Elles sont dérivées pour les définitions <textual typebased block definition> résultantes selon la définition donnée en 6.1.4.

Grammaire graphique concrète

<block substructure diagram> ::=

<frame symbol>

contains {<block substructure heading>

{ {<block substructure text area>}*

{<macro diagram>}*

<block interaction area>

{<type in system area> }*}set } is associated with {<channel identifiers>}*

Les identificateurs <channel identifiers> identifient des canaux reliés à des sous-canaux dans le diagramme <block substructure diagram>. Ils sont placés à l'extérieur du symbole <frame symbol>, à proximité du point d'extrémité des sous-canaux, sur le symbole <frame symbol>.

Un symbole <channel symbol> à l'intérieur du symbole <frame symbol> et relié à ce dernier, désigne un sous-canal.

<block substructure heading> ::=

substructure

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

<block substructure text area> ::=

<system text area>

<block substructure area> ::=

<graphical block substructure reference>

| <block substructure diagram>

| <open block substructure diagram>

<graphical block substructure reference> ::=

<block substructure symbol> contains <block substructure name>

<block substructure symbol> ::=

<block symbol>

<open block substructure diagram> ::=

{ {<block substructure text area>}*

{<macro diagram>}*

<block interaction area>} set

Lorsqu'une zone <block substructure area> est un diagramme <open block substructure diagram>, le diagramme <block diagram> ou <block type diagram> englobant ne doit pas contenir d'autres définitions que celles des paramètres de contexte formel, des accès et de la sous-structure.

Sémantique Voir 3.2.1.

Modèle

Un diagramme <open block substructure diagram> est transformé en un diagramme <block substructure diagram> de manière telle que dans l'en-tête <block substructure heading>, le nom <block substructure name> soit le même que nom

<name> du diagramme <block diagram> ou <block type diagram> englobant.

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