Les protocoles permettent de définir et de réutiliser la spécification d'un ensemble de port de Produit : Capsule. Le protocole définit un ensemble de types de
messages entrant et sortant (par ex., opérations, signaux) et éventuellement, une collaboration (généralement un
ensemble de diagrammes de séquence, voir Instructions :
diagrammes de séquence) qui définit l'ordre requis des messages et une machine d'état (décrit par un ensemble de
diagrammes état-transition, voir Instructions :
diagramme état-transition) qui indique le comportement abstrait dont les participants du protocole doivent
disposer.
Un protocole est une définition du comportement désiré qui peut se dérouler sur un connecteur, une définition
explicite de l'accord contractuel entre les participants au protocole. Il n'existe que sur le plan du comportement et
ne contient aucun élément structurel. Un protocole est composé d'un ensemble de participants qui jouent chacun un rôle
particulier.
Chaque rôle de protocole est défini par un nom unique, par un ensemble de signaux reçus par le rôle et par un
ensemble de signaux envoyés par le rôle (ces deux ensembles pouvant être vides). Facultativement, le protocole peut
également disposer d'une définition des séquences de communication acceptées, définies par une machine d'état.
Finalement, un protocole peut également disposer d'un ensemble de séquences d'interaction prototype (qui peuvent être
affichées comme un diagramme de séquence). Ces dernières doivent être conformes à la machine d'état du protocole, si
elle existe.
Les protocoles binaires, ne concernant que deux participants, sont de loin les plus communs et les plus simples
à définir. Un avantage de ces protocoles est qu'il suffit de spécifier un rôle, le rôle de base. L'autre, appelé
rôle conjugué, peut être facilement déduit du rôle de base en inversant les ensembles de signaux d'entrée et de
sortie. Cette opération d'inversion est appelée conjugaison.
Composition de la classe <<protocole>>.
Comme indiqué ci-dessus, un protocole contient généralement un ou plusieurs diagrammes de séquence qui illustrent les
séquences d'échange de messages valides définies par le protocole. Le protocole est également constitué d'un ensemble
de messages sortants (requête) et d'un ensemble de messages entrants (réponse). Une machine d'état facultative permet
de définir le comportement que les participants doivent prendre en charge.
|