• Aucun résultat trouvé

6 Concepts de définition de type dans le SDL

6.1 Types, instances et accès

6.1.1 Définitions de types

Grammaire textuelle concrète

<system type definition> ::=

system type {<system type name> | <system type identifier>}

[<formal context parameters>]

[<specialization>] <end>

{<entity in system>}*

endsystem type [<system type name> | <system type identifier> ] <end>

<textual system type reference>::=

system type <system type name> referenced <end>

Un paramètre <formal context parameter> des paramètres <formal context parameters> ne doit pas être un paramètre

<process context parameter>, ni un paramètre <variable context parameter> ni un paramètre <timer context parameter>.

Grammaire graphique concrète

<system type diagram> ::=

is associated with

<frame symbol> contains {<system type heading>

{ {<system text area>}*

{<macro diagram>}*

<block interaction area>

{<type in system area>}*} set }

<system type heading> ::=

system type {<system type name> | <system type identifier>}

[<formal context parameters>]

[<specialization>]

<type in system area> ::=

<block type diagram>

| <block type reference>

| <process type diagram>

| <process type reference>

| <service type diagram>

| <service type reference>

| <procedure diagram>

| <graphical procedure reference>

<system type reference>::=

<system type symbol> contains { system <system type name> }

<system type symbol>::=

<block type symbol>

Sémantique

Une définition <system type definition> définit un type de système. Tous les systèmes d'un type de système donné ont les mêmes propriétés que celles qui sont définies pour ce type de système.

6.1.1.2 Type de bloc Grammaire textuelle concrète

<block type definition> ::=

[<virtuality>]

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

[<formal context parameters>]

[ <virtuality constraint> ] [<specialization>] <end>

{<gate definition>}*

{<entity in block>}*

[ <block substructure definition>

| <textual block substructure reference>]

endblock type [ <block type name> | <block type identifier> ] <end>

<textual block type reference>::=

[<virtuality>] block type <block type name>

referenced <end>

Un paramètre <formal context parameter> des paramètres <formal context parameters> ne doit pas être un paramètre

<process context parameter>, ni un paramètre <variable context parameter> ni un paramètre <timer context parameter>.

Grammaire graphique concrète

<block type diagram> ::=

<frame symbol>

contains {<block type heading>

{ {<block text area>}* {<macro diagram>}*

{<type in block area>}*

[<process interaction area> ]

[<block substructure area>]} set}

is associated with

{{{ <gate> }* { <graphical gate constraint> }* } set }

<block type heading> ::=

[<virtuality>]

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

[<formal context parameters>] [<virtuality constraint>]

[<specialization>]

<type in block area>::=

<block type diagram>

| <block type reference>

| <process type diagram>

| <process type reference>

| <service type diagram>

| <service type reference>

| <procedure diagram>

| <graphical procedure reference>

<block type reference>::=

<block type symbol> contains {[<virtuality>] <block name> }

<block type symbol>::=

Sémantique

Une définition <bloc type definition> définit un type de bloc. Tous les blocs d'un type de bloc donné ont les mêmes propriétés que celles qui sont définies pour ce type de bloc.

6.1.1.3 Type de processus Grammaire textuelle concrète

<process type definition> ::=

[<virtuality>]

process type { <process type name> | <process type identifier> } [<formal context parameters>]

[<virtuality constraint>]

[<specialization>] <end>

[<formal parameters> <end>] [<valid input signal set>]

{<gate definition> }*

{<entity in process>}*

[ <process type body> ]

endprocess type [<process type name> | <process type identifier>] <end>

<process type body> ::=

<procedure body>

<textual process type reference> ::=

[<virtuality>] process type <process type name>

referenced <end>

Un paramètre <formal context parameter> des paramètres <formal context parameters> ne doit pas être un paramètre

<variable context parameter> ni un paramètre <timer context parameter>.

Grammaire graphique concrète

<process type diagram> ::=

<frame symbol>

contains {<process type heading>

{ {<process text area>}*

{<type in process area>}*

{<macro diagram> }*

{<process type graph area> | <service interaction area> }}set } is associated with

{{ {<gate>}* {<graphical gate constraint>}*} set }

<process type heading> ::=

[<virtuality>]

process type {<process type name> | <process type identifier>}

[<formal context parameters>]

[ <virtuality constraint> ] [<specialization>] [<end>]

[<formal parameters>]

<process type graph area> ::=

[<start area>] { <state area> | <in-connector area> }*

<type in process area>::=

<service type diagram>

| <service type reference>

| <procedure diagram>

| <graphical procedure reference>

<process type reference>::=

<process type symbol> contains

{[<virtuality>] <process type name> }

<process type symbol>::=

Sémantique

Une définition <process type definition> définit un type de processus. Tous les processus d'un type de processus donné ont les mêmes propriétés que celles qui sont définies pour ce type de processus.

L'ensemble complet des signaux d'entrées valides d'un type de processus est l'union de l'ensemble complet des signaux d'entrée valides de son supertype, des listes <signal list> au niveau de tous les accès en direction du type de processus, l'ensemble <valid input signal set>, les signaux d'entrée implicites introduits par les concepts supplémentaires des paragraphes 4.10-4.14 et leurs signaux de temporisation.

Les signaux mentionnés dans les sorties <output> d'un type de processus doivent faire partie de l'ensemble complet des signaux d'entrée valides du type de processus ou de la liste <signal list> à l'accès partant du type de processus.

6.1.1.4 Type de service Grammaire textuelle concrète

<service type definition> ::=

[ <virtuality> ]

service type{<service type name> | <service type identifier>}

[<formal context parameters>]

[<virtuality constraint>]

[<specialization>] <end>

[<valid input signal set>]

{<gate definition>}*

{<entity in service>}*

[ <service type body> ]

endservice type [{<service type name> | <service type identifier>}] <end>

<service type body>::=

<process type body>

<textual service type reference>::=

[<virtuality>] service type <service type name>

referenced <end>

Un paramètre <formal context parameter> des paramètres <formal context parameters> ne doit pas être un paramètre

<timer context parameter>.

Une définition <variable definition> dans une définition <service type definition> ne doit pas contenir le mot clé revealed.

Grammaire graphique concrète

<service type diagram> ::=

<frame symbol> contains

{<service type heading>

{ {<service text area> }*

{<graphical procedure reference>}*

{<procedure diagram>}*

{<macro diagram>}*

<service graph area> } set } is associated with

{ { {<gate>}* {<graphical gate constraint>}*} set }

<service type heading> ::=

[<virtuality>]

service type {<service type name> | <service type identifier>}

[<formal context parameters>]

[<virtuality constraint> ] [<specialization>]

<service type reference>::=

<service type symbol> contains

{[<virtuality>] <service type name>}

<service type symbol> ::=

Sémantique

Une définition <service type definition> définit un type de service. Tous les services d'un type de service donné ont les mêmes propriétés que celles qui sont définies pour ce type de service.

L'ensemble complet des signaux d'entrées valides d'un type de service est l'union de l'ensemble complet des signaux d'entrée valides de son supertype, des listes <signal list> au niveau de tous les accès en direction du type de service, l'ensemble <valid input signal set>, les signaux d'entrée implicites introduits par les concepts supplémentaires des paragraphes 4.10-4.14 et leurs signaux de temporisation.

Les signaux mentionnés dans les sorties <output> d'un type de service doivent faire partie de l'ensemble complet des signaux d'entrée valides du type de service ou de la liste <signal list> à l'accès partant du type de service.