utilisation de l`approche multi-agents pour le pilotage en temps reel
Transcription
utilisation de l`approche multi-agents pour le pilotage en temps reel
3e Conférence Francophone de Modélisation et Simulation « Conception, Analyse et Gestion des Systèmes Industriels » MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) UTILISATION DE L’APPROCHE MULTI-AGENTS POUR LE PILOTAGE EN TEMPS REEL DES SYSTEMES DE PRODUCTION Younès HAFRI Najib M. NAJID Université de Nantes/IRIN/BaDRI Ecole Polytechnique de Nantes BP 13522 1 quai de Tourville,44035 Nantes Cedex 1, FRANCE Mél: [email protected] IRCCyN/IUT de Nantes Institut de Recherche en Communications et Cybernétique de Nantes UMR 6597 1 rue de la Noé,44300 Nantes, FRANCE Mél: [email protected] RESUME : Dans cet article nous présentons une application de l’approche multi-agents au pilotage d’une cellule flexible de production (le système A+). Ce système est un système multi-agents à base d’acteurs conçu pour assurer le contrôle de l’activité de production dans une cellule flexible de production. Le système est distribué aussi bien physiquement (il est réparti sur un ensemble de sites), que fonctionnellement (il est constitué d’un ensemble d’agents cognitifs et réactifs) qui coopèrent pour accomplir des fonctions d’ordonnancement dynamique et de contrôle. Les agents utilisent une stratégie d’ordonnancement dynamique, basée sur l’utilisation d’un protocole d’interactions entre les agents. Grâce à ce protocole, la coordination des actions des agents pour la réalisation des taches n’est pas dédiée à un superviseur central, mais émerge de l’interaction de ces agents. MOTS-CLES : multi-agents, pilotage en temps réel, cellules flexibles 1. un problème. Un problème est défini par la donnée d’un état initial connu et d’un état final souhaité ; la résolution du problème consiste à définir les étapes intermédiaires pour passer de l’état initial à l’état final. Le principe des SMA est donc de fédérer l’ensemble des connaissances et la capacité de raisonnement détenu par les agents, que ceux-ci soient intelligents ou non. Chacun des agents peut être spécialisé dans un sous-domaine du domaine global et c’est l’unification de leurs compétences qui permet de résoudre la totalité du problème posé. INTRODUCTION Les systèmes de production et plus particulièrement les systèmes de production dits “ flexibles ” imposent d’utiliser au mieux les ressources de leur système opérant afin de réagir le plus rapidement possible à la flexibilité de la demande. Les commandes déterministes conduisent fréquemment à des situations chaotiques. Par conséquent, une gestion adaptée du système de production s’impose. Il est nécessaire de proposer une conduite au plus près (voire en temps réel) du système de production, c’est à dire une gestion du système de production qui prenne en compte l’état réel de celui-ci, ainsi qu’une conduite réactive, c’est à dire une conduite permettant au système de réagir et de s’adapter, en fonction des objectifs de production, aux fluctuations des besoins et aux aléas du système. Mettre en œuvre une telle conduite qu’on appelle pilotage en temps réel est une opération délicate car la production est confrontée à un changement continu de flux de production, une demande urgente peut être arrivée à n’importe quel moment, en plus, les systèmes de fabrication flexibles sont caractérisés par leur instabilité face aux aléas. Les recherches en SMA sont très actives et des systèmes opérationnels ont déjà été développés dans de nombreux domaines comme le diagnostic, l’enseignement, la conception, contrôle de réseaux de communication, etc. (Burg et Arlabosse, 94), (Ramos, 94), (Ferber, 95), (Roy et Vernadat, 1997) (Balasubramanian et Norrie, 97), (Shen et Norrie, 98), (Gouardères, 99), (Coudert, Archimede et Grabot, 99), (Archimede, Coudert et Priem, 99), (Tranvouez, Espinasse et A. Ferrarini, 99), etc. Ces recherches concernent l’utilisation de l’approche multi-agents pour structurer des architectures pour le contrôle des processus. Les principales motivations sont de concevoir des applications (non limitée à un domaine spécifique) pour encapsuler des systèmes experts existants en vue de la coopération. Pour notre part nous avons utilisé l’approche multi-agents pour la mise en œuvre du pilotage en temps réel d’une cellule flexible de production, nous développons dans cet article une L’avènement des systèmes multi-agents qui permettent de distribuer les problèmes sur des ensembles autoorganisés vers une gestion locale, favorisant réactivité et comportements émergents peut faciliter la mise en œuvre du pilotage en temps réel . En effet, Le but principal d’un système multi-agents (SMA) est de faire collaborer un certain nombre d’agents afin de résoudre - 255 - MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) structure de pilotage générique basée sur des agents cognitifs et réactifs. 2. ARCHITECTURE MULTI-AGENTS DU PILOTAGE EN TEMPS RÉEL Nous considérons un système de production composé de plusieurs centres de travail (station), chacun étant constitué d’une ou plusieurs ressources. La figure 1 présente l’architecture multi-agents retenue. Dans cette architecture nous distinguons un agent superviseur (Agent facilitateur) et plusieurs autres agents simples dédiés chacun à un centre de travail spécifique (Agent station). Agent facilitateur Agent station 1 Ressource 1 Agent station 2 Ressource 2 Agent station n Ressource n Figure 1. Architecture du système A+ Concernant ces deux niveaux de pilotage, nous insisterons sur quatre fonctions qui nous sont apparues importantes : la fonction gestion des ordres de production par l’agent facilitateur pour le niveau cellule ; la fonction gestion des opérations et celle des équipements pour le niveau station. Pour la gestion des ordres et la gestion des opérations, nous appliquerons une approche d’affectation et d’ordonnancement des opérations établie par (Najid, Coeurdeuil et Vachot, 94). 3. Il s’agit d’une interface qui permet d’assurer le dialogue entre les autres agents du système et celui de l’unité considérée. Les informations qui transitent par cette couche, sont essentiellement les données de production (gammes opératoires, opérations, quantités, etc.) et les comptes rendus ou ordres. La mission principale assignée à la couche conversationnelle est la collection et l’interprétation des informations pour aider le noyau réactif à prendre les décisions adéquates pour satisfaire la mission demandée. Alors, cette couche est constituée de deux modules qui jouent des rôles symétriques : - le module interpréteur qui a pour rôle la recherche et l’interprétation des informations venant des autres agents du système. Il s’occupe du contrôle des informations et du décodage des messages et leur protocole. Il doit aussi assurer la collecte d’informations venant des niveaux inférieurs et qui sont essentiellement des comptes rendus et de détecter les informations urgentes (par exemple la détection des dysfonctionnements). Plan de production Comptesrendus 3.1. La couche conversationnelle MODÉLISATION Dans cette structure de pilotage, les niveaux n’utilisent pas forcément les mêmes protocoles de communication; d’où la nécessité d’avoir des couches qui jouent les rôles d’interfaces entre les niveaux. Pour cela, nous avons proposé une nouvelle décomposition fonctionnelle du centre de pilotage en deux principaux modules: une couche conversationnelle et un noyau réactif. - le module émetteur a pour mission essentielle de rapporter sur le déroulement de l’exécution des tâches demandées et d’assurer la transmission des informations aux autres agents du système. Les comptes rendus sont destinés au niveau supérieur (agent facilitateur). Avant de les transmettre, le module rapporteur les traduits et les met en forme pour l’envoi. Il doit aussi acheminer les informations qui sont mises en forme et adaptées au langage perçu et reconnu par son destinataire . 3.2. Le noyau réactif Ce module représente le cœur d’un agent A+. Son rôle est de prendre des décisions en fonction des informations issues de la couche conversationnelle et de l’état courant de l’agent. Il est représenté dans l’agent station par le module d’analyse et de réaction et dans l’agent facilitateur par le module d’analyse et de suivi des tâches. Comme son nom l’indique, ce module réagi en fonction de l’état présent ; il doit prendre des décisions en temps réel pour la gestion de ses ressources, pallier aux dysfonctionnements, et répondre aux demandes des autres agents. Il gère ses différents comportements en exécutant en priorité ceux qui engendrent les ordres les plus urgents ; ce choix se fait en fonction des données mémorisées et acquises par la couche conversationnelle et en fonction de l’état courant de ses ressources. C’est le module qui intervient le premier en cas de dysfonctionnement pour résoudre l’aléa localement. Le noyau réactif possède des capacités (compétences) pour conserver l’historique de ses ressources et des événements passés ou présents. Cela lui permet de s’y MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) référer à chaque fois qu’il en a besoin . Ces capacités de mémorisation permettent, par exemple, de mettre en évidence des corrélations entre les aléas et des causes qui sont propres à des types de produits, d’outils, de matériaux, etc. Des statistiques sont calculées à l’aide de données acquises sur l’unité de production au cours de son fonctionnement. Si lors de l’apparition de dysfonctionnement de type i dans un contexte de type j, une même cause k est souvent incriminée, alors ceci sert de base de décision au noyau réactif ; la première solution qu’il émettra sera celle de la cause k (utilisation d’un moteur d’inférence généralement). 4. LES AGENTS DU SYSTÈME A+ Le système A+ est un système multi-agents à base d’acteurs (CSELT, 2000) conçus pour assurer le contrôle de l’activité de production dans une cellule flexible de production. Le système est distribué aussi bien physiquement (il est réparti sur un ensemble de sites), que fonctionnellement (il est constitué d’un ensemble d’agents cognitifs et réactifs) qui coopèrent pour accomplir des fonctions d’ordonnancement et de contrôle. Les agents utilisent une stratégie d’ordonnancement dynamique, basé sur l’utilisation d’un protocole d’interactions entre les agents. Grâce à ce protocole, la coordination des actions des agents pour la réalisation des taches n’est pas dédiée à un superviseur central, mais émerge de l’interaction de ces agents. 4.1. La configuration de la cellule La configuration de la cellule dans le système A+ est établie en deux étapes : Etape 1 : l’opérateur au niveau de l’agent facilitateur, a besoin de connaître les capacités de la cellule flexible. Des connaissances globales sur la configuration doivent donc être nécessairement accessibles à son niveau, la liste de toutes les ressources disponibles, la liste de toutes les opérations réalisables par les ressources de la cellule, la liste de tous les outils utilisables par les ressources de la cellule, et la liste de toutes les pièces réalisables dans la cellule. Ces connaissances globales (sauf les types de pièces) ne sont pas saisies au niveau de l’agent facilitateur, mais sont obtenues dynamiquement, grâce aux messages envoyés par les agents stations lors des modifications de la configuration matérielle de la cellule. D’autres part, il faut configurer chaque agent station en lui fournissant toutes les connaissances techniques relatives à ses ressources; en plus des connaissances relatives aux capacités des autres agents qui forment ses accointances : le nom de la ressource, les noms des opérations réalisables par cette ressource et leurs propriétés, la liste de ces propres outils, et le voisinage qui représente les ressources qui sont directement connectées à cette ressource par les moyens de transport (selon l’agencement de la cellule). Ces connaissances sont saisies au niveau de chaque agent station et son ensuite diffusées dans tout le système au moment où l’agent l’intègre. En échange, cet agent station reçoit les connaissances semi-globales sur les autres et par conséquent devient une partie du système. Le système A+ comme expliqué, inclus donc une gestion automatisée et dynamique de la configuration de la cellule, ce qui lui permet de s’adapter très aisément à toute modification de la configuration matérielle (ajout ou suppression de ressource) sans trop d’intervention de l’opérateur humain, garantissant ainsi la consistance des connaissances du système. 4.2. L’agent facilitateur Outre les caractéristiques décrites auparavant, le facilitateur (figure 2) doit Maintenir une vue globale sur l’état du système. Pour cela L’agent facilitateur maintient un agenda global qui lui permet de suivre l’exécution de toutes les tâches dans la cellule, de leur lancement jusqu’à leur sorties du système de production. Cet agenda permet aussi de reconstituer les informations de n’importe quel agenda local, qui serait sur un agent station. En outre, dans le système A+, la fonction ordonnancement dynamique n’est pas attribuée à un agent unique, mais émerge d’un processus de négociation inter-agents. Ce processus de négociation est lancé par l’agent facilitateur. Ceci permet de diminuer la charge de l’agent facilitateur, qui n’a plus à gérer que la première opération de la gamme à réaliser (au lieu de gérer toutes les opérations), et de faire participer efficacement les autres agents aussi bien à la réalisation de toutes les opérations de la gamme de fabrication, qu’au contrôle (un agent station pouvant être ainsi, à la fois superviseur de certaines opérations et contractant pour d’autres). L’agent facilitateur pour accomplir sa tache dispose d’un ensemble de comportements : Comportements CPC : sert à la recherche de la station satisfaisant au mieux des objectifs à atteindre pour la fabrication d’un produit (cela concerne la réalisation de la première opération du produit ). Ce comportement est spécialisé dans le traitement de cet événement, et s’active à sa détection. Le CPM de la configuration matérielle: Ce comportement traite les informations reçus par l’agent facilitateur sur la configuration de la cellule, les gammes, etc. (ie. ajout ou suppression de ressource, nouvelle gamme, etc.). La liste des événements : Les événements que contient cette liste sont constitués des demandes, contrats et acquittements gérés par l’agent facilitateur. L’agenda global : permet à l’agent facilitateur de représenter et de suivre l’évolution de toutes les tâches dans le système. MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) de décision Tpd, l’agent tâche met à jour dynamiquement la priorité de sa pièce en fonction du temps qu’elle a passé sur chaque station selon la formule suivante : Le module d’analyse et de suivi des tâches: Comportement qui analyse continuellement les messages que l’agent facilitateur reçoit, à travers son interface de communication, et active les CPi qui leur correspondent. Il met à jour aussi les états des opérations, dans l’agenda global, suite aux messages envoyés par les agents stations concernant l’état d’avancement des opérations. Il coordonne les agents stations et gère leurs dysfonctionnements non résolus. Le filtre : la première phase du processus d’ordonnancement d’une tâche commence par la transmission d’une requête, de l’agent facilitateur, vers les agents stations, pour la réalisation de la première opération. Le filtre permet de n’envoyer la requête qu’aux agents capables de réaliser cette opération. β i = β i + ηξ ω avec η = 0.03 et ω = 3 β i est la priorité de la pièce i ξ est le temps passé par la pièce dans le système où : Cette formule et les différents paramètres ont été calibré après plusieurs essais par (Arzi, 93). Maj. de la configuration/des gammes de production CPM Activation CP i CPC Interface experte Horloge Analyse d’événement Configuration matérielle -cellule- BD Liste d’événements Événement Opération suivante Liste des agents candidats Résultat analyse Agenda global Maj de l’état des clients Gammes de production Filtre Module d’analyse et de suivi des tâches Message Interface de communication Monde extérieur Figure 2. Architecture de l’agent facilitateur L’interface de communication : Comportement qui gère les messages en transit entre l’agent facilitateur et les autres agents du système. L’horloge temps réel : Elle génère le facteur temps réel dans l’agent facilitateur 4.3. L’agent tâche Tous les agents du système A+ sont des agents cognitifs sauf l’agent tâche. Ce dernier représente l’évolution d’une pièce à produire parmi un lot de pièces pour un client donné. Il permet de suivre pas à pas les étapes de fabrication de la pièce qu’il représente sur toutes les stations par où elle passe. L’agent tâche est un agent réactif possédant une seule et unique tendance à satisfaire “ il veille à ce que la pièce soit fabriquée sans être retardée ”. L’agent tâche responsable de la pièce lui augmente sa priorité chaque fois que c’est nécessaire et à des intervalles de temps bien précis. En particulier et à chaque instant de prise Le mécanisme d’interaction de l’agent se résume à de simples scrutations de variables et de mise à jour de celle-ci. Il met aussi à la disposition des agents stations où ils se trouvent les données disponibles à son niveau sans présenter aucune interface graphique. Si lors de l’évolution de la fabrication d’une pièce donnée, l’agent tâche correspondant détecte que sa date limite de fabrication a été dépassée , il la passe alors en état d’urgence. Chaque agent tâche détient toutes les caractéristiques pour la fabrication de sa pièce dont voici les principales : - - id_client : le client à qui appartient la pièce id_pièce : identificateur de la pièce dans le lot demandé par le client sous_gamme : les opérations qui ne sont pas encore transformées pour la fabrication de la pièce date_début, date_fin de fabrication βi la priorité donnée à la pièce MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) Après l’achèvement de toutes les opérations sur la pièce, l’agent tâche est automatiquement détruit. Il peut l’être aussi après suppression de toutes les occurrences (pièces) d’un client donné en rapport avec l’agent tâche par l’agent facilitateur (voir plus loin). L’agenda local : Chaque agent station est muni d’un agenda local qui lui permet de représenter ses engagements. La manipulation de l’agenda local obéit aux règles suivantes : 4.4. L’agent station • Chaque agent station (figure 3) assure la supervision de l’activité de production des ressources qu’il contrôle. A chaque début d’exécution d’une opération, l’agent station inscrit dans son agenda local le début de cette opération et le signale à l’agent facilitateur. Interface experte Maj de la configuration de la ressource/connaissances CPM CPF Activation CP i CPO Analyse d’événement Maj Ressource/Autrui Configuration de la ressource/Modèle d’autrui BD Horloge Filtre Liste d’événements Opération suivante Liste des agents candidats Monde extérieur Message émis Événement Résultat analyse Agenda local Maj de l’état des opérations Interface de communication Module d’analyse et de réaction Extraction de Opération à exécuter l’opération Message reçu Contrôleur de ressource Module d’exécution Ordre de fabrication Commandes Module de détection et de diagnostic État de la Ressource/Opération Statut/Activation Figure 3. Architecture générale d’un agent Station Les composants d’un agent station sont les suivants : • Les CPF , CPO de négociation : Elles sont identiques à celle utilisées par l’agent facilitateur. Le comportement CPF a pour but de gérer la file d’attente de l’agent station en sélectionnant la prochaine opération à exécuter selon certains critères; tandis que le CPO a pour objectif de rechercher la prochaine station (la meilleure) pour traiter la pièce en cours. Le CPM de la configuration matérielle : Il permet à l’agent station de représenter sa capacité productive et celles des autres agents stations. Les connaissances sur la configuration matérielle sont représentées par des structures de données dynamiques. L’interface experte : Elle permet à l’expert (l’opérateur humain) de consulter et de modifier la configuration de la station, de connaître l’état actuel des ressources, et de suivre l‘évolution de l’activité de production sur cette station. La liste des événements, le filtre, l’interface de communication, l’horloge temps réel : Même explication que dans l’agent facilitateur A chaque fin d’opération, l’agent station inscrit dans son agenda local la fin de cette opération et signale à l’agent facilitateur la fin de celle-ci. En plus des comportements décrits ci dessus, l’agent Station est composé de modules suivants : MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) - Le module d’analyse et de réaction : Ce comportement analyse continuellement les messages que l’agent station reçoit, à travers son interface de communication et active les CPi qui correspondent aux événements reçus. Il met à jour aussi l’état des opérations, dans l’agenda local, suite aux messages envoyés par le module d’exécution. Il gère aussi les dysfonctionnements - Le module de détection : La fonction du module de détection consiste à comparer l’état observé, décrit par les informations recueillies à travers le contrôleur de la ressource, avec l’état de référence représenté par l’agent tâche de la pièce en exécution. Ce module analyse continuellement l’état des ressources contrôlées et de l’opération en exécution. La détection d’anomalie est effectuée avant (pré-contrôle) et après (post-contrôle) chaque exécution d’opération et si aucune erreur n’a été détectée, alors il y a mise à jour de l’état de l’opération dans l’agenda local, sinon le module de diagnostic est sollicité (figure 4). contenant les informations sur l’état des ressources concernées par la situation anormale détectée. - Le module d’exécution : Comportement qui permet de lancer l’exécution des opérations sous contrat. Pour cela, il consulte l’agenda local qui contient les informations relatives aux opérations pour lesquelles l’agent station est contractant. Aussi, il signale les événements 'début / fin d’opération' au module d’analyse et de réaction qui mettra alors à jour l’agenda local, et informera l’agent facilitateur. Ce module exécute continuellement le cycle suivant (figure 5) : Sélection Agenda local C1 C2 T1 T2 DL1 DL2 Cn Tn DLn Interface de communication Phase de pré-contrôle Succès Phase de post-contrôle Opération à exécuter Lancement de l’opération État du contrôleur Opération Résultats de CPO Inférence Échec et diagnostic Contrôleur de la ressource Suivi de l’opération États Figure 5. Lancement d’une opération par le module d’exécution Succès poursuite Figure 4. Fonctionnement du module de détection Le Lancement de la procédure de pré-contrôle s’effectue avant le lancement de l’opération à exécuter, cette procédure fait appel au contrôleur de ressource afin d’obtenir les informations concernant la présence et l’identité des pièces sur lesquelles doit agir l’opération, afin de vérifier la conformité de l’état réel avec l’état initial représenté. Le Lancement de la procédure de post-contrôle s’effectue Après l’exécution de l’opération, cette procédure fait appel au contrôleur de ressource afin d’obtenir les informations concernant la présence et l’identité de la pièce résultante, afin de vérifier la conformité de l’état réel avec l’état final représenté. - Le module de diagnostic : Il établit, en cas d’anomalie, le diagnostic relatif à la panne détectée et transfert le résultat de son analyse au module d’analyse et de réaction. Il est composé d’un moteur d’inférence, d’une base de connaissance de diagnostic qui contient l’expertise nécessaire pour traiter les pannes concernant la ressource, et d’une base de faits Étape1 : sélectionner l’opération suivante à exécuter. Pour cela, le module d’exécution attend du noyau réactif l’identificateur de l’opération à exécuter et l’extrait de l’agenda local de l’agent station. Étape 2 : lancer l’exécution de l’opération sélectionnée. Étape 3 : suivre la progression de l’opération lancée de son début jusqu’à sa fin, à mettre à jour l’agenda local à chaque changement d’état discernable (arrêt, reprise ou fin de l’opération courante) et à avertir l’agent facilitateur de chacun de ses changements par le biais du module de communication. Revenir à l’étape 1 à la fin de l’opération. 5. GESTION DES ÉQUIPEMENTS Cette fonction s’occupe du lancement de la production au sein de chaque agent station et de la surveillance des équipements ; ceci se traduit par la détection des dysfonctionnements locaux et leur résolution si c’est possible. Dans le cas où la résolution du dysfonctionnement détecté peut être effectuée localement, le noyau réactif de l’agent station en question le fait, et signale la nature du problème à l’agent facilitateur et aux autres agents stations. Par exemple dans le cas d’un bris d’outil, l’agent station envoie des ordres de changement d’outil à l’équipement chargé de le faire remplacer, puis MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) signale l’incident. Dans le cas où l’outil en question ne serait pas disponible dans le magasin de la machine, l’agent station ne peut plus résoudre le dysfonctionnement individuellement, il aura besoin de coopérer avec d’autres agents stations pour s’approvisionner (remplacer l’outil défectueux) le plus rapidement possible. Dans le cas où l’agent station ne pourrait résoudre l’aléa individuellement ni en coopération avec les autres agents stations, il le signale au pilote de la cellule (nature, gravité, échec de résolution, etc.). L’agent station tentera dans tous les cas, d’abord de résoudre le dysfonctionnement individuellement, en coopérant, et en dernier lieu en le remontant au pilote de la cellule. Aussi, le système doit donc répondre dynamiquement aux ordres de productions émergents (urgence pour un client) et aux situations indésirables. Nous avons implémenté quelques mécanismes pour répondre à ce genre de situations Nous distinguons essentiellement deux catégories de messages, les deux basées sur la spécification FIPA’97 (FIPA-ACL, 1997) : - Les messages de contrôle : ce sont les messages utilisés par les agents lors des négociations (état, contrats, acquittement, fin d’une tâche, échec d’ordonnancement d’une tâche …), ainsi que les messages de notification envoyés par les agents stations vers l’agent facilitateur pour la mise à jour de l’agenda global lors de l’évolution d’un processus de négociation ou d’un changement d’état productif (début, fin, arrêt ou reprise d’une opération). Cas 1 : Réordonnancement des ordres urgents Comme le système développé est orienté client, le réordonnancement de nouveaux ordres est fréquent et très important. Quand une urgence arrive après un ordonnancement normal de tâches, l’agent facilitateur l’envoi d’urgence dans le système, de telle sorte que l’ordre passe en priorité sur toutes les stations du système sans attente. - Les messages de configuration : Le système A+ intègre, comme déjà expliqué, une gestion automatique des données de la configuration matérielle des ressources. Chaque message de configuration correspond à une connaissance particulière. Un agent du système utilisera ce type de message s’il veut obtenir des informations sur la configuration globale (ressources existantes, opérations réalisables par ses ressources, outils disponibles,…), ou qu’il veut diffuser la configuration de sa ressource. On utilise aussi deux messages spécifiques permettant à un agent de se connecter et de se déconnecter du système. Le module de communication (figure 6) de chaque agent est constitué des sous modules suivants : Cas 2 : Réordonnancement d’ordres supprimés Pour tous les ordres à arrêter pour un client donné, il suffit de libérer les agents stations en possession de pièces (agents tâches) les concernants. Les autres tâches des autres clients ne sont guère affectées. - Le module de préparation des messages : Ce module effectue la mise en forme et le codage des objets messages qu’un agent veut envoyer à d’autres agents du système selon la nature du message à transmettre et le destinataire. Cas 3 : Réordonnancement lors d’une panne d’outil Après l’occurrence d’un bris d’outil, et selon les cas où la pièce a été détruite ou pas, un ordre pour sa reproduction sera immédiatement lancé depuis l’agent station concerné par la panne. Elle sera considérée comme urgente. Dans le second cas (pièce non détruite), seule les opérations restantes sur la pièce seront exécutées. Nous avons choisi de garder la pièce au niveau de l’agent station jusqu’à la réparation de l’outil en panne s’il y en a qu’un. 6. GESTION DE LA COMMUNICATION Le système A+, d’après son architecture et son fonctionnement, apparaît comme un système ayant un grand besoin en matière de communication. En effet, le module de communication (figure 6) du système A+ doit assurer d’une manière fiable, asynchrone, concurrente et dynamique, la gestion de la messagerie entre les agents du système (ie. la construction, la transmission et l’interprétation des messages) pour aboutir au recouvrement des fonctions du contrôle. Ainsi, une conversation établie entre deux agents est une demande de service faite par un agent (client) vers un autre agent (serveur) qui devra fournir une réponse. Messages reçus Messages émis Interprétation des messages reçus Préparation des messages à émettre Interface de communication Réception des messages Interpréteur Émission des messages Émetteur Autres agents du système Figure 6. Fonctionnement du module de communication - Le module d’interprétation des messages : Son rôle est l’inverse de celui du précédent. Il procède au décodage et à l’interprétation des objets messages reçus. Les messages décodés sont ensuite dirigés vers MOSIM’01 – du 25 au 27 avril 2001 – Troyes (France) les modules ou les sources de connaissances spécialisées dans leur traitement. Lors d’un transfert de données, il est important de déterminer à qui les messages seront destinés. Un message se compose toujours d’un expéditeur, d’un destinataire (ces informations sont définies automatiquement par les agents du système ), du type de message et de l’information à transmettre. En se dotant des caractéristiques de JADE, les agents A+ ont acquis un puissant outil de communication. Ce qui est remarquable dans ces messages, c’est que les participants envoient et reçoivent de vrais objets. Les agents A+ peuvent aussi recevoir et émettre des messages parallèles et supportent jusqu’à 50 connexions simultanées. 7. CONCLUSION Nous avons décrit dans cet article, une application de l’approche multi-agents au pilotage en temps réel d’une cellule flexible de production. L’architecture de pilotage choisie est hiérarchique-distribuée. Son fonctionnement est concurrent, intelligent et émergent de l’interaction collective de ses agents. Les fonctions du contrôle sont distribuées sur l’ensemble des agents, ce qui leur permet de prendre part à toutes les décisions. Les contributions des agents à la résolution des problèmes du contrôle sont organisées par un protocole de négociation capable de résoudre les conflits collectifs sans intervention de l’agent facilitateur. Enfin, le système intègre une gestion automatique de la configuration globale de la cellule et des agents. Il présente un coût en communication raisonnable : malgré le besoin important en matière de communication, la distribution totale des fonctions de contrôle dans le système A+ permet de répartir le coût global de la communication sur l’ensemble des agents. De plus, l’utilisation des propriétés des modèles acteur (notion d’accointances) permet d’atténuer considérablement ce facteur. Le système multi-agents A+ est indépendant des modes de résolution appliqué au problème d’ordonnancement dynamique. Nous avons choisi d’appliquer une solution faite par NAJID (Najid, Coeurdeuil et Vachot, 94) avec quelques modifications et une autre solution (Arzi et Roll ,93) est en cours d’implémentation pour pouvoir comparer les résultats de chacune d’elles. RÉFÉRENCES Archimede B., T. Coudert and L. Priem, May 1999. Ordonnancement dynamique dans les ateliers de fabrication. Une solution à base d’agents. 3rd International Industrial Engineering Conference, Proceedings, Vol.3, Montréal, Québec, p. 15231532. Arzi Y. and Y. Roll, 1993. Real time Production Control of an FMS in produce-to-order environment. International Journal of Production Research, Vol.31, n° 9, p. 2195-2214. Balasubramanian S. and D.H. Norrie, 1997. A multiagent intelligent design system integrating manufacturing and shop-floor control. Division of Manufacturing Engineering, Departement of Mechanical Engineering, University of Calgary, Canada. Burg B. and F. Arlabosse, mai 1994. ARCHON : une plate-forme industrielle pour l’IAD. Deuxième journées francophones Intelligence Artificielle Distribuée et Systèmes Multi-Agents, Voiron, p. 223-234. Coudert T., B. Archimede and B.Grabot, 6-8 octobre 1999. Un système multi-agents pour la coopération Production/Maintenance. MOSIM’99, Annency – France. CSELT, juin 2000. JADE1.4 (Java Agent Development Framework), developped jointly by CSELT and the Computer Engineering Group of the University of Parma, Italy, http://sharon.cselt.it/projects/jade Ferber J., 1995. Les systèmes Multi-Agents (vers une intelligence collective). InterEditions, Paris. FIPA-ACL, 1997. The Foundation of Intelligent Physical Agents. Canada, http://fipa.umbc.edu/. Gouardères E., May 1999. Application de l’approche multi-agents au pilotage d’une cellule flexible de production, 3rd International Industrial Engineering Conference, Proceedings Vol.3, Montréal, Québec, p. 1695-1704. Najid N.M., G. Coeurdeuil and P. Vachot, septembre 1994. Une nouvelle stratégie de pilotage dynamique. Revue Automatique Productique et Informatique Industrielle, Vol. 28, p. 495-506. Ramos C., 1994. An Architecture and a Negociation Protocol for the Dynamic Scheduling of Manufacturing Systems, IEEE, p. 1050-4729. Roy D. and F. Vernadat, 1997. Reactive Shop-Floor Control with Multi-Agent System. IFAC/IFIP Int. Conf. On Management and Control of Production and Logistics, Brazil, p 426-431. Shen W. and D.H. Norrie, 1998. An Agent-Based Approach for Dynamic Manufacturing Scheduling. In workshop notes of the agent-based manufacturing workshop at autonomous agents’98. Division of Manufacturing Engineering, The University of Calgary, Canada. Tranvouez E., B. Espinasse et A. Ferrarini, May 1999. Résolution coopérative et distribuée de problèmes : Une application Multi-Agents au réordonnancement d’atelier. 3rd International Industrial Engineering Conference, Proceedings, Vol.3, p. 1543-1552.