Les Interfaces
Une interface (ou ensemble d'opérations),
représente le ou les services d'un composant. Elle peut
être « synchrone » ou
« asynchrone » (car fonction de certains
évènements) ou encore dite « de
contrôle » lorsqu'elle regroupe les opérations
nécessaire à la validation d'un contenu par exemple (formulaire
HTML, document XML etc ...), d'une authentification ... Une même
interface peut se situer sur plusieurs ports.
Les ports
L'assemblage de plusieurs composants nécessite la mise
en oeuvre d'un ensemble de « ports requis » et de
« ports fournis ». Ils constituent des portes
d'accès au composant en terme de réponse à une invocation
(port requis) ou en terme d'invocation (port fourni). Ces ports
représentent le point d'ancrage d'un ensemble d'interfaces
cohérentes vis à vis des fonctionnalités qu'elles
apportent.
Les contrats
Le « contrat exigé » fixe les
critères (aussi appelés « dimensions ») de
compatibilité d'assemblage entre deux composants. Le « contrat
offert » quant à lui offre des valeurs mis en regard avec le
contrat exigé. Le langage d'expression des contrats est le langage des
contraintes UML : OCL, déjà présenté dans la
première partie. Un contrat peut être :
q syntaxique : dans la mesure où il définit
l'ensemble des opérations.
q sémantique : car il précise le fonctionnement
des opérations.
q pragmatique : lorsqu'il est a l'écoute de
l'environnement et entre autre des contraintes de temps, d'espace
(répartition des données).
Les connecteurs
Les connecteurs sont des objets permettant une interaction
entre plusieurs composants. Autant ils restent abstraits dans la partie PIM de
la démarche MDA, autant ils deviennent concrets dans la partie PSM. Ils
peuvent être de différentes natures : de diffusion quand il
s'agit de données à transmettre, de synchronisation, de
coordination etc ...
|