3.6.3.1. Comportement de l’agent « Liv ».

Le comportement de l’agent « Liv » dépend du type de l’acteur, qui peut être une usine fabriquant un produit, un distributeur (acteur ne possédant pas l’activité de production) ou un détaillant. La figure 3.16 illustre son comportement de base pour une usine. Dans le cas d’un distributeur, l’événement « Message_AgentFab » provoqué par la réception d’un message provenant de l’agent « Fab » sera remplacé par un événement qu’on appellera « Message_AgentApp » et qui sera provoqué cette fois-ci par tout message provenant de l’agent « App » du même acteur.

F
Fig. 3.16 - Diagramme d’états-transitions de l’agent « Liv » d’un acteur de type « usine »

Le tableau 3.3 donne la description des états de l’agent « Liv » d’un acteur de type « Usine ».

Tab. 3.3 : Etats de l’agent « Liv » pour une usine.
Etat Description
Gestion_Stock_Commandes Lorsque l’agent est dans cet état, il gère le stock de produits finis (stock de distribution) en utilisant une méthode de gestion de stock. Par exemple, le système à point de commande, le système à re-complètement périodique, etc. Il maintient aussi un plan de livraison des commandes confirmées. Selon la méthode utilisée pour la gestion du stock, des événements internes peuvent être déclenchés. Par exemple la période de révision est atteinte (dans le cas d’un système à re-complètement périodique). L’action devant être exécutée suite au déclenchement de ce type d’événement est l’envoi d’un message de performative égale à « REQUEST » à l’agent « Fab » dans le cas d’une usine ou à l’agent « App » dans le cas d’un distributeur. Au même temps, il attend l’arrivée d’une commande provenant de l’agent « Appi » d’un autre acteur. L’événement « Message_AgentAppi » montre que l’agent peut traiter plusieurs commandes en même temps provenant d’acteurs différents. Il attend aussi des réponses provenant de l’agent « Fab ».
Etudier_Commande Dans cet état, l’agent « Liv » étudie la possibilité de livraison de la commande qui peut être nouvelle ou en cours d’étude. Pour ce faire, il consulte le stock et le programme de livraison, puis communique avec l’agent « Fab » si nécessaire. Il peut répondre à ce moment à l’agent « Appi » ou ultérieurement quand il reçoit la réponse de l’agent « Fab ».
Mettre_à_jour_Plan_Livraison Dans cet état, l’agent « Liv » met à jour le plan de livraison pour tenir compte de la commande confirmée par l’agent « Appi ». Eventuellement, il peut envoyer un message de confirmation à l’agent « Fab ».
Annuler_Commande Dans cet état, l’agent « Liv » doit annuler la commande confirmée ou se trouvant en cours d’étude.
Envoyer_Confirmation Deux cas de figures sont possibles dans cet état :
L’agent « Liv » envoie un message de réponse à l’agent « Appi » en lui indiquant que la livraison de la commande passée est possible et attendra sa confirmation.
L’agent « Liv » envoie un message de confirmation à l’agent « Fab » pour commencer la production (par exemple, dans le cas de la mise à jour du stock dans un système à point de commande).
Envoyer_Nouvelle_Proposition_à_AgentAppi Dans cet état, l’agent identifie les raisons pour lesquelles l’agent « Fab » n’a pas accepté la demande d’effectuer l’action de production, il cherche ensuite une nouvelle proposition et l’envoie à l’agent « Appi ».
Mettre_à_jour_Stock Dans cet état, l’agent « Liv » met à jour le stock après la fin de la production.
Livraison Dans cet état, l’agent livre la commande programmée dans le plan de livraison.
Calcul_Prévisions Dans cet état, l’agent calcule les prévisions et met à jour les plans nécessaires.