1)Quelle la différence entre un signal et un appel de méthode asynchrone sachant que ce sont tout deux des messages qui peuvent déclencher l’exécution d’activités associées à un objet? Cela peut être par exemple l’exécution d’une machine à états pour un signal, une méthode pour un appel.
2) quelle est la différence entre le déroulement d'une machine à états pour un objet donné et l'exécution d'une méthode pour un même objet ?
De plus dans un diagramme à état, une transition peut être modélisée par un signal ou une opération.
3)Un signal est défini comme un message asynchrone et peut contenir des attributs (BroadcastSignalAction p 241, SendSignalAction p 282; Reception, Signal p 448 à 451et BehavioredClassifier p 434 de la doc officielle de l'omg sur UML version 2.2). Un appel de méthode est défini comme un message pouvant être asynchrone ou synchrone déclenchant une suite d'opération contenu dans une méthode de l'objet (CallOperationAction p 245 ,CallEvent p436 de la doc officielle de l'omg sur UML version 2.2) .
D'après ce que j'ai compris on peut imposer des contraintes temps réels à tous les messages (signal ou appel de méthode).Pour être reçu par l'objet cible, un signal doit être déclaré dans son interface. Le signal étant de nature asynchrone il est stocké dans une file, l'exécution d'une suite d'opérations peut se faire de manière immédiate ou différée suivant l'état de la file qui dépend du contexte du système.A la réception du signal, une suite d'action est effectué mais la transition entre ces actions peut nécessiter la réception de nouveaux messages.
Un appel de méthode nécessite que l'objet cible possède cette méthode, c'est à dire l'aptitude d'exécuter une suite d'opérations définies. La transition entre ces opérations ne nécessite pas la réception de messages mais peut être l'appel de méthode de ce même objet ou d'objets différents. Un appel de méthode peut être synchrone ou asynchrone. Synchrone signifie que l'objet appelant est bloqué tant que l'objet cible n'a pas terminé l'exécution de cette méthode associé à un résultat retourné à l'objet appelant.
Asynchrone signifie que l'objet appelant n' a pas besoin d'attendre la fin de l'exécution de la méthode de l'objet cible pour continuer ses activités. Comment se fait la prise en compte différée d'une méthode quel est le mécanisme associé, est le même que celui des messages?
En conclusion, qu'est ce qui différencie fondamentalement, l'envoi d'un message qui provoque une suite d'actions de l'appel asynchrone d'une méthode?
Partager