Rubriques

Introduction Haut de la page

Dans le monde réel, des choses se passent, souvent de manière simultanée et imprévisible. Les "choses qui se passent" sont appelées "événements".

Dans le contexte des automates à états, les événements modélisent l'occurrence d'une impulsion pouvant déclencher une transition d'état. Les événements peuvent être des signaux, des appels, le passage d'heure ou un changement d'état. Des événements peuvent être synchrones ou asynchrones.

Un signal est une sorte d'événement qui représente la spécification d'une impulsion asynchrone entre deux instances.

Types d'événements Haut de la page

Des événements peuvent être externes ou internes. Les événements externes sont ceux qui sont transmis entre le système et ses acteurs. Les événements internes sont ceux qui sont transmis avec les objets résidant dans le système. Il existe quatre types d'événements : signaux, appels, passage d'heure et changement d'état.

Signaux Haut de la page

Un signal représente un objet diffusé (émis) de manière asynchrone par un objet, puis reçu (intercepté) par un autre. Les exceptions sont un exemple de type de signal.

Les signaux peuvent comporter des instances, bien que celles-ci ne soient pas généralement modélisées de manière explicite. Les signaux peuvent être impliqués dans des relations de généralisation, activant la modélisation des hiérarchies d'événements.

Les signaux peuvent être dotés d'attributs et d'opérations. Les attributs d'un signal lui servent de paramètres.

Un signal peut être émis en tant qu'action d'une transition d'état dans un automate à états ou l'envoi d'un message dans une interaction. L'exécution d'une opération peut également émettre des signaux. Lors de la modélisation d'une classe ou d'une interface, une part importante de la spécification du comportement de l'élément réside dans la spécification des signaux pouvant être émis par ses opérations. La relation entre une opération et les événements qu'il peut émettre est modélisée à l'aide d'une relation de dépendance, stéréotypée par <<send>>.

Evénements d'appel Haut de la page

Juste comme un événement de signal représente l'occurrence d'un signal, un événement d'appel représente la diffusion d'une opération. Dans les deux cas, l'événement peut déclencher une transition d'état dans un automate à états.

Alors qu'un signal est un événement asynchrone, un événement d'appel est, en général, synchrone. Ceci signifie que lorsqu'un objet invoque une opération sur un autre, le contrôle passe de l'émetteur au récepteur jusqu'à ce que l'opération soit terminée, moment où l'émetteur reprend le contrôle. La modélisation d'un événement d'appel est visualisée de la même façon qu'un événement de signal. Dans les deux cas, l'événement s'affiche avec ses paramètres comme déclencheur d'une transition d'état.

Bien qu'il n'y ait pas d'aides visuelles permettant de distinguer un événement de signal d'un événement d'appel, la différence apparaît dans la classe du récepteur, étant donné qu'il va déclarer une opération traitant l'événement d'appel. Dans le cas d'un signal, il y a une transition dans l'automate à états qui est déclenchée par le signal.

Evénements temporels et de changement Haut de la page

Un événement temporel représente le passage d'heure. Les événements temporels sont utilisés pour synchroniser des parties du système dépendantes de l'heure à l'aide d'un mécanisme d'horloge commun. Un événement de changement représente un changement de l'état du système ou de la satisfaction de certaines conditions.

Envoi et réception d'événements Haut de la page

Les événements de signaux et d'appel impliquent au moins deux objets : un émetteur et un récepteur. Lorsque le signal est émis, l'émetteur le diffuse, puis continue son flux de contrôle sans attendre de retour émanant du récepteur. Ceci est en parfait contraste avec la sémantique de l'appel d'opération dans lequel l'émetteur attend que le récepteur réponde avant de reprendre son flux de contrôle. Pour cette raison, les opérations sont généralement utilisées pour représenter un comportement "bloquant" (comportement qui bloque ou empêche d'autres choses de se produire), alors que les signaux représentent un comportement non bloquant.

L'acte d'un objet émettant un signal à un ensemble d'objets est appelé "multidiffusion" et est représenté par l'envoi d'un signal à un conteneur contenant un ensemble de récepteurs. La diffusion est l'acte d'émission d'un signal à tous les objets d'un système. Elle est représentée par l'émission d'un signal à un objet qui représente le système dans sa totalité. Cet "objet système" en retour réalise le mécanisme de distribution du message qui s'assure que le signale est envoyé à tous les objets appropriés du système.



RUP (Rational Unified Process)   2003.06.15