• Aucun résultat trouvé

2 Le SDL de base

2.5 Communication

2.5.2 Acheminement du signal

Signal-route-definition :: Signal-route-name

Signal-route-path

[Signal-route-path ]

Signal-route-path :: Origin

Destination

Signal-identifier-set

Origin = Process-identifier | Service-identifier | ENVIRONMENT Destination = Process-identifier |

Service-identifier | ENVIRONMENT Signal-route-name = Name

Process-identifier = Identifier Service-identifier = Identifier

Un des points extrêmes au moins du trajet d'acheminement du signal doit être un identificateur Process-identifier ou Service-identifier.

Si les deux points extrêmes sont des processus, les identificateurs Process-identifier doivent être différents. Si les deux points extrêmes sont des services, les identificateurs Service-identifier doivent être différents.

Le ou les point(s) extrême(s) du processus ou du service doivent être définis dans la même unité de portée que celle de l'acheminement du signal.

Grammaire textuelle concrète

<signal route definition> ::=

signalroute <signal route name>

<signal route path>

[ <signal route path> ]

<signal route path>::=

from <signal route endpoint> to <signal route endpoint>

with <signal list> <end>

<signal route endpoint> ::=

{<process identifier> | <service identifier> | env } [ via <gate>]

Lorsque deux <signal route path> sont définis, l'un doit être en sens opposé à l'autre.

L'accès <gate> doit être spécifié si et seulement si:

a) <signal route endpoint> désigne une connexion à une définition <textual typebased process definition> ou

<textual typebased service definition>, auquel cas l'accès <gate> doit être directement défini dans le type de processus ou de service respectivement; ou

b) env est spécifié et le trajet d'acheminement du signal est défini dans un type de bloc ou un type de processus, auquel cas l'accès <gate> doit être défini dans ce type de bloc ou type de processus respectivement.

Grammaire graphique concrète

<signal route definition area> ::=

<signal route symbol>

is associated with {<signal route name>

{[ <channel identifiers> | <external signal route identifiers> |

<gate> ]

<signal list area> [<signal list area>] }set } is connected to

{{<process area> | <service area>}

{<process area> | <service area> | <frame symbol>} }set

<signal route symbol> ::=

<signal route symbol 1> | <signal route symbol 2>

<signal route symbol 1> ::=

<signal route symbol 2> ::=

Un symbole d'acheminement de signal comprend une tête de flèche à une extrémité (une direction) ou une tête de flèche à chaque extrémité (deux directions) pour montrer la direction du flot des signaux.

Pour chaque flèche située sur le symbole <signal route symbol>, il doit y avoir une zone <signal list area>. Une zone

<signal list area> doit être suffisamment proche de la flèche à laquelle elle est associée pour éviter toute ambiguïté.

Lorsque le symbole <signal route symbol> est relié au symbole <frame symbol> dans le cas d'un diagramme <block type diagram>, l'accès <gate> qui lui est associé est l'accès défini pour ce type de bloc au moyen d'un accès <gate> ou d'une contrainte <graphical gate constraint> associée au diagramme <block type diagram>. Lorsque le symbole <signal route symbol> est relié au symbole <frame symbol> dans le cas d'un diagramme <process type diagram>, l'accès <gate> qui lui est associé est l'accès défini pour ce type de processus au moyen d'un accès <gate> ou d'une contrainte <graphical gate constraint> associée au diagramme <process type diagram>.

Sémantique

Un acheminement de signal est un moyen de transport pour les signaux. Un acheminement de signal peut être considéré comme étant un ou deux trajets d'acheminement de signal unidirectionnels et indépendants entre deux ensembles d'instances de processus désignés chacun par une définition de processus ou entre un ensemble d'instances de processus et l'environnement du bloc englobant, ou entre deux services, ou entre un service et l'environnement du processus englobant.

Les signaux acheminés par des acheminements de signaux sont délivrés au point extrême de destination.

Un acheminement de signaux n'introduit aucun retard dans le transport des signaux.

Lorsqu'une instance de signal est envoyée à une instance du même ensemble d'instances de processus, l'interprétation du noeud Output-node implique que le signal est appliqué directement dans l'accès d'entrée du processus destinataire.

Plusieurs trajets de signaux peuvent exister entre deux points extrêmes. Le même type de signal peut être acheminé sur différents acheminements de signaux.

Modèle

Si une définition <block definition> ou <block type definition> contient des définitions <signal route definition>, l'ensemble <valid input signal set> dans une définition <process definition>, s'il y en a un, n'a pas besoin de contenir des signaux dans des acheminements de signaux conduisant à l'ensemble d'instances de processus.

Si une définition <process type definition> ou <process definition> contient des services, l'ensemble <valid input signal set> est formé par l'union des signaux d'entrée aux accès (dans le cas de <process type definition>) ou des signaux dans les acheminements de signaux conduisant au processus (dans le cas de <process definition>), des signaux d'entrée sur les acheminements des signaux conduisant aux services et des ensembles <valid input signal set> des services. Cet ensemble est appelé l'ensemble implicite <valid input signal set>. Si l'ensemble <valid input signal set> pour un processus est spécifié explicitement, il doit être un sous-ensemble de l'ensemble implicite <valid input signal set>.

Si une définition <process definition> ou <process type definition> contient des définitions <signal route definition>, il n'est pas nécessaire que l'ensemble <valid input signal set> dans une définition <service definition>, s'il existe, contienne les signaux sur les acheminements de signaux conduisant au service.

Si une définition <block definition> ne contient aucune définition <signal route definition>, toutes les définitions

<process definition> dans cette portée doivent (implicitement ou explicitement) contenir un ensemble <valid input signal set>. Dans ce cas, les définitions <signal route definition> et les connexions <channel to route connection> sont tirées de l'ensemble <valid input signal set>, des sorties <output> et des canaux qui se terminent à la frontière des blocs.

Si une définition <block type definition> ne contient aucune définition <signal route definition>, toutes les définitions

<process definition> dans cette portée doivent (implicitement ou explicitement) contenir un ensemble <valid input signal set>. Dans ce cas, les définitions <signal route definition> sont tirées de l'ensemble <valid input signal set>, des sorties

<output> et des listes <signal list> aux accès de la définition <block type definition>.

Les signaux correspondant à une direction donnée entre deux ensembles d'instances de processus dans l'acheminement de signal implicite sont constitués par l'intersection des signaux spécifiés dans l'ensemble <valid input signal set> du processus de destination et les signaux mentionnés dans une sortie du processus d'origine. Si l'un des points extrêmes est l'environnement, l'ensemble d'entrée/ensemble de sortie est constitué par les signaux acheminés par le canal ou l'accès (dans le cas d'un type de bloc) dans la direction donnée.

Si une définition de processus est une <textual typebased process definition>, la dérivation n'est pas fondée sur les ensembles <valid input signal set> et les sorties <output>, mais sur les listes <signal list> des signaux entrant et sortant des accès du type de processus.

Si une définition <process definition> ou <process type definition> ne contient aucune définition <signal route definition>, toutes les définitions <service definition> dans cette portée doivent contenir un ensemble <valid input signal set>. Dans ce cas, les définitions <signal route definition> et les connexions <signal route to route connection> sont tirées de l'ensemble <valid input signal set>, des sorties <output> et des acheminements de signaux externes qui se terminent à la frontière du processus ou aux accès du type de processus.

Les signaux correspondant à une direction donnée entre deux services dans l'acheminement de signal implicite sont constitués par l'intersection des signaux spécifiés dans l'ensemble <valid input signal set> du service de destination et les signaux mentionnés dans une sortie du service d'origine. Si l'un des points extrêmes est l'environnement, l'ensemble d'entrée/ensemble de sortie est constitué par les signaux acheminés par l'acheminement de signal externe ou l'accès (dans le cas d'un type de bloc) dans la direction donnée.

Si une définition de service est une <textual typebased service definition>, la dérivation n'est pas fondée sur les ensembles <valid input signal set> et les sorties <output>, mais sur les listes <signal list> des signaux entrant et sortant des accès du type de service.

2.5.3 Connexion