• Aucun résultat trouvé

L’AO est l’agent déclencheur de la négociation entre l’ensemble d’agent concernés. Il englobe la totalité d’informations sur les patients telles que leurs pathologies et type de soins nécessaire. Néanmoins, cet agent ignore les informations concernant les ressources à allouer aux tâches de soins. La négociation est déclenchée grâce à l’envoie d’une requête par l’AO à l’ensemble des agents représentant le personnel médical qui est censé avoir les compétences médicales les plus adéquates pour l’exécution des tâches de soins. Dans cette requête, nous spécifions d’une partla date de dispo- nibilité qui représentent la date au plus tôt où le personnel médical doit être disponible. D’autre

partl’ensemble des tâches de soins à exécuter à un instant t. Chaque membre de cette équipe médicale

analyse la requête et en fonction de sa disponibilité actuelle répond à l’AO. Ce dernier choisit en fonction des réponses reçues l’équipe médicale la plus adaptée pour les besoins d’un patient donné. Chaque membre du personnel soignant doit confirmer ou refuser son association à cette équipe soignante pour un patient donnée. L’AO enregistre l’ensemble d’informations échangées durant la négociation afin de les exploiter dans une nouvelle négociation au profit d’une modification d’exécution d’une instance du workflow.

Nous avons un agent AO par coalition pour négocier les ressources en termes de personnel soignant pour chaque patient sachant que lorsqu’un personnel soignant est alloué à un patient, cette ressource reste bloquée et inaccessible par les autres agents (AO) (sauf en cas d’extrême urgence si le besoin est imminent) jusqu’à sa libération (fin du soins d’un patient). Les créneaux horaires réservés par l’AO pour la réalisation des tâches de soins appartiennent à des plages horaires bien définies liées aux instances concernées du workflow. Chaque réservation doit contenir le patient et les priorités des tâches de soins le concernant. À la fin de cette interaction, l’agent personnel médical sélectionne la tâche de soins du planning pour l’exécuter durant le créneau horaire réservé. Une fois la tâche en question est exécutée, l’AO continue à piloter le workflow de la même manière pour las autres tâches de soins suivantes du planning. Néanmoins, l’AO peut ne pas piloter l’exécution des tâches lorsqu’il est en attente de la date de fin de l’exécution de la tâche qui précède la tâche en cours.

3.12

Les difficultés d’exécution du workflow collaboratif

3.12. Les difficultés d’exécution du workflow collaboratif 75 • la cohérence globale : l’ensemble des tâches de soins a réalisé pour un patient dans les différentes structures du SUA sont liées par des contraintes. Afin de respecter ces contraintes, l’AO doit informer les différentes structures médicales de l’état de santé du patient. Puis, l’exécution des tâches de soins est faite après la vérification de la disponibilité des ressources matérielles et humaines appropriées à un instant donné.

les comportements périodiques répétitifs : durant l’échange d’informations entre les agents d’une même coalition, l’état de chaque agent est mis à jours en fonction des informations reçues. Cette mise à jours est essentielle pour la suite de la négociation au sein de la coalition. Dans ce contexte, et pour faire face à ces problématiques, nous proposons des solutions dans les paragraphes suivants.

3.12.1 Validation de la cohérence globale

Parmi les problèmes liés au workflow collaboratif est la propagation asynchrone des infor- mations sur les soins déjà réalisés et les soins à faire pour un patient, tout en tenant compte des contraintes de précédence. Si nous considérons que la durée de négociation entre l’ensemble des agents est minime par rapport au créneau horaire disponible, alors les contraintes de précédences sont forcément respectées, parce que l’information spécifique aux tâches de soins prédécesseurs (précédent la tâche en cours) est obligatoirement transmise avant le début de l’exécution des tâches de soins successeurs (suivent la tâche en cours).

Dans ce contexte, la durée d’une négociation agent doit être assez courte pour que l’allocation des ressources soit cohérente avec leur disponibilité en temps réel. Dans la pratique, la solution adoptée utilise une heuristique [Ben Othman, 2015].

3.12.2 Les états oscillants du workflow

L’exécution d’une tâche de soins nécessite que chaque AO d’une coalition réserve les ressources nécessaires et selon la durée totale estimée pour cette tâche. Néanmoins, cette estimation est fondée fortement sur les probabilités d’exécution des tâches prédécesseurs. Ce qui rend l’état du système de gestion du workflow oscillant. Par exemple, lorsqu’un AO alloue une ressource médicale (médecin) pour l’exécution d’une tâche de soins et que les dates estimées d’exécution de cette tâche sont dépassées, cette ressource devient indisponible pour l’exécution des tâches de soins successeurs (pour lesquelles ce médecin est alloué). Par conséquent, l’AO administrateur de cette allocation informe l’ensemble des agents qui ont réservé cette ressource de la nouvelle indisponibilité. En effet, ces agents recalculent de nouveau les nouvelles dates d’exécution.

Afin d’éviter les états oscillants, nous insérons une variable d’amortissement dans les instances du workflow pour limiter l’impacte des nouvelles réservations sur l’estimation des disponibilités de personnel médical et atteindre ainsi une situation stable. Néanmoins, ce phénomène ne garantit pas forcément une situation stable optimale par rapport à notre objectif multicritère. Dans le chapitre

4, nous présentons une architecture agent doté de cette approche permettant d’ordonnancer et d’orchestrer notre workflow collaboratif.