Outils pour la réalisation de systèmes multi-agents adaptatifs dans le cadre de la méthode ADELFE Gauthier Picard Marie-Pierre Gleizes Laboratoire IRIT (CNRS - INP - UPS) 118, route de Narbonne F-31062 Toulouse Cedex {picard, gleizes}@irit.fr RÉSUMÉ. La méthode ADELFE a été développée pour la conception de systèmes ouverts, complexes et distribués, en se basant sur la théorie des AMAS (Adaptive Multi-Agent Systems) et sur le concept d émergence. Cette théorie donne un critère de conception local aux agents de sorte que l émergence d une organisation au sein du système et ainsi d une nouvelle fonction soit rendue possible, rendant le passage à l échelle possible en l absence de contrôle global du système. Cet article se focalise sur les principaux outils de la méthode ADELFE associés au processus et aux notations UML/AUML. Le premier outil est basé sur le logiciel commercial OpenTool c, enrichi pour prendre en compte la problématique multi-agent. Le second est un outil interactif de suivi du processus afin d aider le concepteur à le suivre et à exécuter les tâches associées. L utilisation de chaque outil sera illustrée par l application ETTO (Emergent Timetabling Organization). ABSTRACT. ADELFE method was proposed to develop open, complex and distributed software. It is based on the AMAS theory (Adaptive Multi-Agent Systems) and the emergence concept. This theory gives local agent design criteria so as to enable the emergence of an organization within the system and thus, of the global function of the system, enabling to real-scale even without global control. This paper focuses on the main tools of the method associated with the process and the UML/AUML notations. The first tool is based on the commercial software OpenTool c, enriched to take into account adaptive multi-agent system development. The second one is an interactive tool which supports the process and helps designers to follow the process and to execute associated tasks. The use of each tool is illustrated by ETTO (Emergent TimeTabling Organization) application. MOTS-CLÉS : méthode orientée agent, conception de système adaptatifs et ouverts, robustesse KEYWORDS: agent-based method, open and adaptive system designing, robustness 1 re soumission à JFSMA 2003, le 30 avril 2003.
2 1 re soumission à JFSMA 2003. 1. Introduction À travers plusieurs exemples, Heylighen définit l auto-organisation comme "the spontaneous emergence of global coherence out of the local interactions between initially independent components" [HEY 01]. Puisque le monde dans lequel nous vivons est complexe, les systèmes auto-organisateurs sont largement répandus dans de nombreux domaines (Physique, Biologie, Économie, etc.). Actuellement, les applications informatiques deviennent de plus en plus ouvertes et complexes. Lorsque l on souhaite un passage à l échelle, vouloir une vue et un contrôle globale sur de tels systèmes se fait au détriment de leur ouverture, de leur robustesse ou de leur adaptation à la dynamique de l environnement à grande échelle. Depuis quelques années, l autoorganisation est étudiée et considérée comme étant un moyen possible pour répondre à cette complexité et cette ouverture [CAR 00, GLE 99, WEB 02]. Nous avons donc proposé une théorie, appelée la "théorie des AMAS 1 ", dans laquelle la coopération est le moyen pour le système de s auto-organiser et ainsi de s ajuster aux changements de l environnement [GEO 03]. Les interactions entre les parties internes (les agents) du systèmes dépendent de la vue locale des agents et sur leur capacité à "coopérer" avec les autres. Le changement de ces interactions locales réorganise le système et ainsi change la fonction globale, rendant le système plus adapté et donc plus robuste. La théorie des AMAS a été appliquée avec succès à plusieurs de ces problèmes à grande échelle et plusieurs projets ont été développés : ABROSE (Agent based BROkerage SErvices in electronic commerce) est un outil de commerce électronique pour la médiation de service [GLE 00] et STAFF(Software Tool for Adaptive Flood Forecast) est un outil adaptatif de prévision des crues qui est maintenant utilisé en environnement industriel [RéG 02]. Pourtant, pour promouvoir l utilisation des systèmes auto-organisateurs basés sur la théorie des AMAS, des outils sont nécessaires pour réutiliser le savoir-faire des précédents concepteurs mais aussi pour guider l ingénieur durant la conception d application. En conséquence, nous travaillons actuellement sur ADELFE Atelier de DEveloppement de Logiciels à Fonctionnalité Emergente qui consiste en une méthode orientée agent (processus, notations et outils). L originalité d ADELFE réside dans le fait qu elle fournit un processus de développement, des notations et des outils supportant le processus et les notations. Un prototype est opérationnel depuis avril 2003. Cet article a pour but de décrire les outils fournis avec ADELFE : OpenTool c, un logiciel supportant les notations UML1.4/AUML [ODE 00] et un outil interactif de suivi du processus. Une application, ETTO Emergent Timetabling Organization sera utilisée comme exemple pour clarifier quelques points spécifiques. Cet article est structuré comme suit : le cahier des charges simplifié d ETTO est présenté dans la deuxième section avant de donner une vue générale de la méthode ADELFE dans la troisième section. Les outils fournis avec ADELFE sont présentés dans la quatrième section. 1. AMAS signifie Adaptive Multi-Agent Systems. Voir http ://www.irit.fr/smac.
Outils pour la réalisation de AMAS 3 2. Besoins exprimés pour ETTO Pour illustrer l utilisation des outils associés à ADELFE dans le cadre du développement d applications auto-organisatrices, les sections suivantes vont faire référence à l application ETTO. La description et la conception du système ETTO n est pas le principal objectif de cet article ; plus d informations sont disponible dans [BER 02] ou dans le groupe ASA de l AFIA 2. Le problème choisi est un problème classique d emploi du temps pour des cours dans lequel des créneaux horaires et salles doivent être affectés à des étudiants et des enseignants pour la mise en place des cours. Les acteurs impliqués (enseignants, groupes d étudiants et salles) ont un certains nombre de contraintes devant être respectées. Par ailleurs, nous nous sommes intéressés au cas où les contraintes peuvent dynamiquement évoluer pendant la recherche pour une solution sans qu il y ait une interruption et un re-démarrage de la résolution. Habituellement, les solutions pour de tels problèmes peuvent être trouvées en utilisant des techniques différentes comme les techniques basées sur la résolution de contraintes ou les méta-heuristiques (recuit simulé, recherche taboo, coloration de graphes...) et plus récemment, les réseaux de neurones, les algorithmes génétiques ou bien les "ant-algorithms" [BUR 02, SOC 03]. Toutefois, aucune technique de résolution réelle existe lorsque les contraintes change au cours du temps et lorsque le système doit s adapter. Comme ce problème n est pas un problème de simulation, comme il est trop complexe lorsque résolu à la main (car appartenant à la classe des problèmes NP-complets) et comme il n a aucune solution universelle, il s avère être un bon exemple d application de la théorie des AMAS. Le but est de faire émerger une solution, au macro-niveau, à partir des interactions entre les parties indépendantes au micro-niveau. Les besoins pour l application ETTO ont été exprimés comme suit. Les participants sont les enseignants, les groupes d étudiants et les salles de cours. Tout acteur possède des contraintes propres devant être satisfaites de la meilleures façon possible. Un enseignant possède des contraintes sur ses disponibilités (créneaux horaires possibles par exemple), ses capacités (les matières qu il enseigne) et ses besoins particuliers en matériel pédagogique (rétro-projecteur, vidéo-projecteur, une salle de cours définie pour un cours particulier,...). Un groupe d étudiant doit suivre un enseignement particulier consistant en un certain nombre de créneaux horaires et pour un certain nombre de matières (X créneaux pour la matière 1, Y créneaux pour la matière 2,...). Une salle de cours est équipée ou non avec du matériel spécifique (rétroprojecteur,...) et peut être libre ou non pour certains créneaux horaires. Avant de présenter les outils qui seront utiliser pour la conception d un système capable de résoudre ce problème, le processus de développement de la méthode ADELFE est présenté. 2. http ://www.afia.polytechnique.fr/
4 1 re soumission à JFSMA 2003. 3. Le processus de développement d ADELFE ADELFE est un atelier pour le développent de logiciels à fonctionnalité émergente. Il fournit entre autre une méthode pour aider les développeurs à concevoir des systèmes multi-agents. Du fait que peu de méthodes orientées agents sont capables de prendre en compte les environnements dynamiques la méthode ADELFE est dédiée à la conception d applications devant évoluer dans de tels environnements. Contrairement à GAIA ou TROPOS [WOO 99, CAS 01], ADELFE n est pas une méthode générale ; elle ne concerne que les applications dans lesquelles l auto-organisation fait émerger une solution à partir des interactions entre les parties. Elle donne aussi des indices au concepteur pour déterminer si l utilisation de la théorie des AMAS est pertinente pour construire une application spécifiée. Comme AGR [FER 98] ou VOYELLES xxxxx, ADELFE fournit un modèle de conception d agent l agent coopératif, mais aussi un processus, des notations et des outils. Dans le but d être aussi proche que possible des standards et des outils déjà utilisés par les ingénieurs, la méthode ADELFE [BER 02] est basée sur une méthode orientée objet, suit le RUP (Rational Unified Process) [JAC 99] et utilise les notations UML (Unified Modelling Language) et AUML (Agent-UML) [ODE 00]. ADELFE couvre le processus de développement logiciel dans son intégralité ; durant chaque ensemble de travaux, le concepteur peut retourner aux résultats précédents pour les modifier ou les compléter. La notation SPEM (Software Process Engineering Metamodel) [OMG 02] de l OMG (Object Managing Group) a été utilisée pour spécifier le processus. Ainsi, les quatre premières définitions de travaux de ce processus sont listées dans la figure 1, en utilisant le vocabulaire SPEM work definitions (WD i ), activities (A j ) et steps (S k ) et sont présentées dans les trois prochains paragraphes. Comme cette méthode ne concerne que des applications suivant la théorie des AMAS, certaines activités ou étapes ont été ajoutées au RUP dans le but de répondre à la problématique des systèmes multi-agents adaptatifs ; elles sont marquées en gras dans la figure 1. Besoins préliminaires et finals. L expression des besoins est une activité fondamentale dans la conception de logiciels et est prise en compte dans ADELFE comme dans MESSAGE [CAI 01], PASSI [COS 01] ou TROPOS qui sont des méthodes couvrant le processus entier de développement. Pour les systèmes auto-organisateurs basés sur la théorie des AMAS, le processus d adaptation est initié par les interactions entre le système et son environnement. Ainsi, après avoir établi un accord sur les besoins préliminaires, les analystes doivent modéliser cet environnement. Trois étapes, ajoutées lors de l élaboration des besoins finals, permettent de dresser ce modèle : la détermination des entités en contact avec le système, la définition du contexte du système et la caractérisation de l environnement (A 6 ). Pour caractériser l environnement, les analystes doivent réfléchir sur l environnement du système à construire en terme d accessibilité, de déterminisme, de dynamique et de continuité [RUS 95]. Ces termes seront une aide plus tard pour pour déterminer si la technologie des AMAS est nécessaire ou non pour le développement du système (A 11 ).
Outils pour la réalisation de AMAS 5 Figure 1. Le processus de la méthode ADELFE est décrit en trois niveaux : les définitions de travaux (work definition) notées W D i, les activités (activities) notées A j et les étapes (steps) notées S k. Analyse. Lors de l analyse, deux activités sont ajoutées au RUP : l adéquation de la théorie des AMAS (A 11 ) et l identification des agents (A 12 ). Savoir assez tôt si le système à développer nécessite un investissement dans une nouvelle méthode ou technique est très important. Comme un système multi-agent adaptatif n est pas une solution technique pour toute application, ADELFE propose un outil pour aider le concepteur à décider si la théorie des AMAS est adéquat au problème à résoudre. En fonction des réponses données par le concepteur concernant un certain nombre de critères complexité, non-linéarité, ouverture,..., cet outil estime si la technologie AMAS est utile. ADELFE se focalise aussi sur l identification des agents, comme AAII [KIN 96], MESSAGE et PASSI, car rien ne garantit que toutes les entités définies durant les besoins finals sont des agents. Dans certaines méthodes e.g., GAIA ou TROPOS la question n est pas soulevée ; les concepteurs savent a priori quelles entités seront représentées comme ou par des agents dans le système. Cependant, dans ADELFE, la
6 1 re soumission à JFSMA 2003. notion d agent est restrictive dans le sens où seuls les agents dits "coopératifs" sont pertinents pour le système. Un agent coopératif ignore la fonction global du système ; il ne poursuit qu un but individuel et essaie d être en permanence en situation de coopération avec les autres agents du système. La fonction globale du système émerge (du niveau des agents au niveau du système multi-agent) grâce à ces interactions coopératives entre agents. Un agent peut aussi détecter des "situations non coopératives" (ou SNCs), ou qui sont des situations d échec à la coopération qu il peut juger comme dommageable pour les interactions qu il entretient avec les autres. Ces SNCs peuvent être un manque de compréhension, de l ambiguïté dans les informations transmises, de l inutilité dans les actions entreprises [GEO 03]...Cela ne signifie pas qu un agent est altruiste ou qu il aide sans arrêt les autres agents, il essaie juste d être utile (de son propre point de vue) aux autres. Ainsi, face à une situation non coopérative, un agent va toujours essayer de revenir à un état coopératif. En fait, le comportement du collectif contraint le comportement individuel. Dans ADELFE, quelques directives sont données aux concepteurs comme par exemple : une entité peut devenir un agent coopératif s il peut faire face à des "échecs de coopération" ou peut posséder des représentations dynamiques sur lui-même ou sur son environnement, ou peut posséder des compétences évolutives. Conception. Lors des travaux de conception, trois activités sont ajoutées au RUP : l étude des langages d interaction (A 15 ), la construction des modèles d agents (A 17 ) et le prototypage rapide (A 18 ). Certaines méthodes sont dédiées à certains types d agents, comme AAII avec les agents BDI et ADELFE avec les agents coopératifs. Cette dernière fournit un modèle d agent et les concepteurs doivent décrire l architecture d un agent coopératif en donnant les composants définissant son comportement : les compétences, les aptitudes, les langages d interactions, les représentations du monde et les SNCs que l agent pourrait rencontrer [BER 02]. La fonction globale d un système auto-organisateur n est pas codée ; les concepteurs ont seulement à implémenter le comportement local des parties composant le système. Dans un AMAS, le modèle des SNCs est essentiel pour que les agents puissent changer leurs interactions pour tenter de gérer les échec de coopération. Les SNCs d un agent dépendent de l application et doivent être décrites par le concepteur. Pour l aider dans sa tâche, ADELFE fournit des situations d échecs de coopération génériques e.g., l incompréhension, l ambiguïté, l inutilité ou le conflit. Ces situations sont décrite par leur nom, leur type générique, l état (ou les états) dans lequel (ou lesquels) l agent doit être pour les détecter, les conditions de détection et les actions à entreprendre pour résoudre le problème. 4. OpenTool c pour ADELFE OpenTool est un outil de développement, écrit dans le langage OTScript, qui a été conçu et distribué par TNI-Valiosys, un des partenaires d ADELFE. D une part OpenTool est un outil graphique commercialisé comme Rational Rose qui supporte la notation UML pour modéliser des applications et assurer que ces modèles sont justes. Plus particulièrement, il se focalise sur l analyse et la conception de logiciels objets
Outils pour la réalisation de AMAS 7 écrits en Java. D autre part, OpenTool permet la méta-modélisation afin de concevoir des configurations spécifiques. Cette dernière caractéristique a été utilisée afin de prendre en compte les spécificités de la conception de systèmes multi-agents adaptatifs. Ainsi, la notation AUML permettant de décrire les protocoles d interaction entre agents a été intégrée à OpenTool. De plus, UML1.4 a été étendu pour aussi exprimer les spécificités d ADELFE. Deux solutions ont été considérées : utiliser un profil UML ou bien créer une extension du métamodèle [DES 00]. Habituellement, cette dernière solution est adoptée lorsque les concepts du domaine sont bien définis. Actuellement, différents points de vue existent à propos des SMA. Par exemple, dans ADELFE, nous utilisons un concept spécifique de systèmes multi-agents adaptatifs où les agents doivent s auto-organiser. Mais dans TROPOS ou GAIA, les rôles des agents sont bien connus et l organisation peut être a priori donnée. Aussi, la solution des profils UML a été choisie pour étendre la notation. Dans ADELFE, neuf stéréotypes peuvent être utilisés pour modifier la sémantique des classes, des attributs, des méthodes ou des associations pour répondre aux spécificités des agents coopératifs. Inclure ces stéréotypes dans OpenTool permet au concepteur de construire les agents coopératifs tels que spécifiés dans la théorie des AMAS et de fournir quelques mécanismes pour l aider à implémenter correctement ces agents. Des règles de cohérence, attachées à chaque stéréotype, ont été définies en utilisant le langage OTScript et sont implémentées dans OpenTool. OTScript est le langage d action d OpenTool qui peut être utiliser pour modéliser le comportement des agents ; les concepteurs ont à exprimer quelques règles de comportement qui seront exécutées par l outil de simulation d OpenTool. Ceci permet au concepteur de simuler et de vérifier le comportement des agents évoluant dans le système. De plus, cette simulation peut être utile pour trouver des situations d échec à la coopération non encore trouvées par le concepteur. Enfin, OpenTool aide le concepteur à valider le comportement des agents aussi bien que les autres propriétés spécifiques du système (cela correspond à l activité A 18 de la figure 1) : protocoles d interaction : il est possible de trouver si des blocages (deadlocks) peuvent apparaître lors d un protocole, ou si des protocoles sont inutiles ou inconsistants...ainsi, le comportement de plusieurs agents peut être jugé conforme (ou non) aux diagrammes de séquence décrits lors des travaux d analyse. méthodes : leur possible inutilité, leur non-exhaustivité peut être testée. le comportement général des agents : pour contrôler si le comportement des agents est en accord avec ce qui est attendu lors de l analyse. Les tests sous OpenTool sont réalisés par la création d un environnement de simulation dans un diagramme d instance, et ensuite par la simple implémentation en OTScript des méthodes à tester. Une première modification apportée à OpenTool concerne la vue statique du système : les diagrammes de classe. Différentes boîtes spécifiques à ADELFE ont été définies pour prendre en compte les stéréotypes pré-définis sans perdre l ergonomie des diagrammes de classe à cause du grand nombre de stéréotypes utilisables. Ainsi,
8 1 re soumission à JFSMA 2003. Figure 2. Deux classes principales d agents, stéréotypées «cooperative agent», sont définies pour ETTO : RepresentativeAgent et BookingAgent. La première peut représenter soit un groupe d étudiant (StudentGroup) soit un enseignant (Teacher). Un RepresentativeAgent est composé de plusieurs BookingAgent dont la tâche est de trouver un créneau horaire dans l emploi du temps pour un cours donné. les champs et les méthodes sont rangés dans des boîtes en fonction de leur stéréotype. Chaque classe stéréotypée «cooperative agent» doit hériter de la classe pré-définie CooperativeAgent ou bien d une autre classe stéréotypée cooperative agent. En conséquence, toute classe d agent possède au moins quatre méthodes run, perceive, decide et act pour simuler leur cycle de vie. La figure 2 montre un exemple de diagramme de classe dans lequel apparaissent des classes d agents. Comme les classes d agents sont des classes d objets, toutes les opérations ou associations sur des classes d objets sont possibles sur des classes d agents : composition, aggrégation, héritage...ici, pour l exmple d ETTO, la classe RepresentativeAgent est composée de plusieurs BookingAgent. De plus, les classes StudentGroup et Teacher héritent de la classe RepresentativeAgent et héritent ainsi de ses champs et méthodes. Comme ADELFE ré-utilise le formalisme AUML [ODE 00] pour modéliser les interactions entre agents, OpenTool a aussi été modifié pour construire des diagrammes AIP (Agent Interaction Protocol). Les diagrammes AIP sont une extension des diagrammes de séquence UML existants qui permettent différentes cardinalités d envois de messages (AND, OR et XOR). Dans OpenTool, ces diagrammes sont conçus comme des diagrammes génériques car ils ne font pas apparaître des instances de classes mais
Outils pour la réalisation de AMAS 9 Figure 3. Un exemple de diagramme de protocole entre deux BookingAgent représentant deux enseignant différénts. Le premier agent explore la grille de l emploi du temps pour trouver un créneau et une salle satisfaisants. Le deuxième occupe déjà une salle et une créneau. Ce diagramme de protocole explique la négociation entre les deux agents lorsque le premier agent rencontre le second. Cette négociation peut soit aboutir sur un départ du premier agent soit sur une réservation par le premier et le départ de l autre. seulement des rôles de classes au sens AUML. Cette notion de rôle a été ajoutée au métamodèle d OpenTool. Mais pour répondre aux spécificités d ADELFE et de la théorie des AMAS, nous avons ajouté de la sémantique au diagrammes de protocole. Tout d abord, une condition de déclenchement du protocole doit être spécifiée. Dans la figure 3, le BookingAgent possédant le rôle ExploringTeacherAgent reçoit l événement bookingagentseen comme condition de déclenchement pour commencer la négociation avec le OccupyingTeacherAgent. De plus la notation AUML reste floue sur les branchements OR et XOR en ce qui concerne la prise de décision des envois de message. Notre contribution a été d attacher au noeud (OR ou XOR) une méthode stéréotypée «aptitude» permettant de spécifier ce point. Par exemple, dans la figure 3, la méthode isroomfitting est attachée au premier noeud XOR ; i.e., en fonction des résultats de cette méthode, l agent ExploringTeacherAgent peut soit demander pour plus d information pour reprendre son exploration de la table d emploi du temps, soit commencer à négocier en fonction des contraintes des deux agents. Dans OpenTool, un concepteur peut aussi assigner facilement des protocoles à un agent. Une fois un protocole attribué à un agent pour un rôle donné, les méthodes
10 1 re soumission à JFSMA 2003. Figure 4. L outil interactif d ADELFE est composer de quatre modules principaux : le module de gestion (1), le module des produits (2), le module de description (3) et le module d exemple (4) apparaissant dans le protocole sont automatiquement ajoutées à la classe comme et stéréotypées «interaction». Finalement, pour préparer l activité de prototypage rapide (A 18 ), le concepteur peut générer de manière automatique sous OpenTool des machines à états finis une par rôle à partir des diagrammes de protocoles pour les simuler. 5. L outil interactif ADELFE fournit un outil interactif aidant le concepteur à suivre le processus établi dans la méthode Dans les méthodes classiques orientées objet ou agent, ce type d outil n existe pas. Même si quelques outils liés à des méthodes orientées agent existent (e.g., AgentTool for MaSE [DEL 01], PTK pour PASSI ou l outil INGENIAS [GOM 02]), ils ne sont pas vraiment des guides et des outils de vérification pour des concepteurs suivant le processus d une méthode. Généralement, des guides comme des livres, des pages html sont donnés e.g., le guide pour suivre le RUP 3 mais ne sont pas réel- 3. disponible sur le site web de Rational : http ://www.rational.com/products/rup/
Outils pour la réalisation de AMAS 11 lement des outils interactifs capable de suivre la progression au travers des différentes activités et étapes. L outil interactif peut communiquer avec OpenTool dans le but d accéder aux différents diagrammes alors que le processus progresse. C est pour cela qu il peut être considéré comme un guide réel qui supporte la notation adoptée par la méthode et vérifie la consistence du projet. Chaque activité ou étape du processus est décrite dans cet outil et illustrée par l application de la méthode au problème ETTO. A travers les descriptions et exemples textuels, des termes spécifiques à la théorie des AMAS sont reliés à un glossaire. De plus, l outil est composé de plusieurs modules gérant ces différents aspects. Une vue globale de l outil est donnée dans la figure 4. Le module de gestion indique, pour les différents projets en cours, les différentes activités et étapes que le concepteur doit suivre lorsqu il suit la méthode. Il distingue, dans une arborescence, les activités ou étapes déjà remplies et celle qu il reste à faire. Par exemple, dans la ficure 4, l outil affiche toutes les activités et détaille les étapes de la caractérisation de l environnement, de la détermination des cas d utilisation, de l analyse du domaine et de la conception des agents. Bien sûr, le concepteur peut naviguer dans le processus comme il l entend du moment que les activités sont accessibles (validées par un action comme la création d un diagramme de cas d utilisation par exemple). Le module des produits affiche la liste des documents pour une activité ou étape donnée. Dans la figure 4, tous les produits à construire lors du projet sont affichés (car c est le projet qui est sélectionné dans le module de gestion). Dans cette liste peuvent apparaître plusieurs types de produits dont les documents (textuels) et les modèles (diagrammes AUML par exemple). Les produits sont caractérisés comme étant : productible/non-productible et produit/non-produit. Cette liste est automatiquement remise à jour lors de la production d un document ou d un modèle. Le module de description explique les différentes activités et étapes du processus que le concepteur doit suivre pour appliquer la méthode. Cette fenêtre, module 3 de la figure 4, affiche plusieurs type d informations : le nom de l étape ; une brève description des objectifs principaux à remplir et les documents à produire pour valider l étape ou l activité ; des liens vers le glossaire pour les termes dédiés ; des liens vers les autre étapes pour retourner vers des résultats antérieurs ; des liens vers différents outils permettant de produire ou bien d ouvrir des documents ou modèle devant être modifiés. Par exemple, lorsque l utilisateur a besoin de décrire les cas d utilisations durant l activité A 7 (déterminer des cas d utilisation), l icône d OpenTool permet d accéder directement à la fenêtre d OpenTool affichant les cas d utilisation. Le module d exemple, module 4 de la figure 4, permet d obtenir une aide supplémentaire sur l application de la méthode en fonction de l étape ou activité courante. Comme précédemment évoqué, cette fenêtre réfère principalement à l application
12 1 re soumission à JFSMA 2003. ETTO, mais montre plusieurs autre exemples pour des points spécifiques de la théorie des AMAS qui ne sont pas forcément soulevé dans ETTO. Les modules de synthèse et de glossaire sont deux fenêtres optionnelles. La première permet d afficher les document et modèles généré sous OpenTool par exemple pour une étape données ou pour le processus entier. Le contenu de cette fenêtre représente une aide pour la production de la documentation finale. Le module glossaire affiche et explique une liste de termes relatif à la méthode ou à la théorie des AMAS. Les stéréotypes ajoutés à UML et OpenTool, ainsi que leurs règles de bon usage, sont aussi expliqués dans cette fenêtre. 6. Conclusion Depuis plusieurs années, nous travaillons sur la théorie des AMAS pour construire des systèmes auto-organisateurs. Dans cet article nous avons brièvement présenté cette théorie ainsi que quelques applications pour lesquelles aucune solution n était connue à l avance et dont l environnement dynamique ou bien le facteur humain nécessitaient robustesse et adaptation [RéG 02, GLE 00]. Dans cette théorie la fonction globale du système n est pas codée mais est le résultat de l auto-organisation des parties du système. Cette auto-organisation est guidée par un critère local aux agents, la coopération. Cette caractéristique rend le passage à l échelle possible dans le sens ou aucun contrôle global n est nécessaire pour obtenir une fonction cohérente. L étape suivante de nos recherche a été d étudier comment une système autoorganisateur pouvait être facilement conçu par un ingénieur extérieur à notre problématique. Le résultat fut la méthode ADELFE. Elle diffère des autre méthodes orientées agent car elle est dédiée aux applications auto-organisatrices. Le processus est basé sur le RUP, enrichi de quelques étapes et activités spécifiques aux agents et à l autoorganisation par coopération. Pour appliquer cette méthode, des outils sont fournis : OpenTool, un logiciel de spécification étendu aux notations utilisées par ADELFE (stéréotypage, AUML), et une plate-forme interactive de suivi du processus. Une première version d ADELFE est maintenant opérationnelle. Dans un futur proche, ce prototype va être utilisé pour concevoir plusieurs systèmes complexes comme par exemple la conception de systèmes mécaniques ou la prévision de crues par données radars. Des perspectives, à court terme, à ce projet sont par exemple le passage à la future norme UML2.0 ou bien l enrichissement des protocoles d interaction par imbrication de séquences. A long terme, il semble que le passage à grande échelle implique une réflexion profonde sur les phases "vivantes" du développement des systèmes : tests, validations, déploiements. La paradigme agent induit un décalage des travaux de conceptions vers ces phases ; pour obtenir une "conception vivante" des logiciels où les composants (les agents) seraient testées et évolueraient en cours de développement. ADELFE possède une activité de prototypage rapide qui peut être une bonne base de travail pour répondre à cette problématique.
Outils pour la réalisation de AMAS 13 7. Remerciements ADELFE est un projet RNTL du Ministère de l Economie, des Finances et de l Industrie, dont nous souhaitons remercier les partenaires : Artal Technologies (http : //www.artal.fr), pour leur aide sur ETTO ; TNI-Valiosys (http ://www.tni-valiosys.com) pour les modifications faites à OpenTool ; l IRIT (http : //www.irit.fr), et notamment l équipe génie logiciel ; et enfin le L3I (http ://www-l3i.univ-lr.fr). 8. Bibliographie [BER 02] BERNON C., GLEIZES M.-P., PEYRUQUEOU S., PICARD G., «ADELFE : a Methodology for Adaptive Multi-Agent Systems Engineering», PETTA P., TOLKSDORF R., ZAMBONELLI F., Eds., Third International Workshop on Engineering Societies in the Agents World (ESAW-2002), Madrid, Spain, September 2002, Springer-Verlag, LNAI 2577, p. 156 169. [BUR 02] BURKE E., PETROVIC S., «Recent Research Directions in Automated Timetabling», European Journal of Operational Research - EJOR, vol. 140, n o 2, 2002, p. 266 280. [CAI 01] CAIRE G., COULIER W., GARIJO F., GOMEZ J., PAVON J., LEAL F., CHAINHO P., KEARNEY P., STARK J., EVANS R., MASSONET P., «Agent Oriented Analysis Using Message/UML», WOOLDRIDGE M., WEISS G., CIANCARINI P., Eds., Agent-Oriented Software Engineering II, Second International Workshop, AOSE 2001, vol. 2222 de LNCS, Montreal, Canada, May 29 2001, Springer-Verlag, p. 119 135. [CAR 00] CARDON A., GUESSOUM Z., «Systèmes multi-agents adaptatifs», PESTY S., SAYETTAT-FAU C., Eds., Systèmes multi-agents Méthodologie, technologie et expériences Actes des 8èmes JFIADSMA, Saint-Jean-la-Vêtre, Loire, France, Octobre 2000, Hermès Science Publications, p. 101 116. [CAS 01] CASTRO J., KOLP M., MYLOPOULOS J., «A Requirements-driven Development Methodology», DITTRICH K., GEPPERT A., NORRIE M., Eds., Proceedings of the 13th International Conference on Advanced Information Systems Engineering (CAiSE 01), vol. 2068, Interlaken, Switzerland, June 2001, Springer-Verlag (LNCS), p. 108 123. [COS 01] COSSENTINO M., «Different Perspectives in Designing Multi-Agent System», Designing Multi-Agent System, AgeS 02 (Agent Technology and Software Engineering) Workshop at NodE 02, Erfurt, Germany, October 2001. [DEL 01] DELOACH S., WOOD M., «Developing Multiagent Systems with agenttool», CASTELFRANCHI C. L. Y., Ed., Intelligent Agents VII. AgentTheories Architectures and Languages, 7th International Workshop (ATAL 2000), vol. 1986 de LNCS, Boston, MA, USA, July 7 9 2001, Springer-Verlag, p. 46 60. [DES 00] DESFRAY P., «UML Profiles Versus Metamodel Extensions : An Ongoing Debate», OMG s UML Workshops : UML in the.com Enterprise : Modeling CORBA, Components, XML/XMI and Metadata Workshop, OMG, November 2000. [FER 98] FERBER J., GUTKNECHT O., «Aalaadin : a meta-model for the analysis and design of organizations in multi-agent systems», DEMAZEAU Y., Ed., Proceedings of the Third International Conference on Multi-Agent Systems, ICMAS 98, Paris, France, juillet 1998, IEEE Computer Society, p. 128 135.
14 1 re soumission à JFSMA 2003. [GEO 03] GEORGÉ J.-P., GLEIZES M.-P., GLIZE P., «Conception de systèmes adaptatifs à fonctionnalité émergente : la théorie des AMAS», Revue d Intelligence Artificielle,, 2003, à paraître prochainement. [GLE 99] GLEIZES P.-P., CAMPS V., GLIZE P., «A Theory of Emergent Computation Based on Cooperative Self-Oganization for Adaptive Artificial Systems», Fourth European Congress of Systems Science, Valencia, Spain, 1999. [GLE 00] GLEIZES M.-P., GLIZE P., «ABROSE : des systèmes multi-agents pour le courtage en ligne», PESTY S., SAYETTAT-FAU C., Eds., Systèmes multi-agents Méthodologie, technologie et expériences Actes des 8èmes JFIADSMA, Saint-Jean-la-Vêtre, Loire, France, Octobre 2000, Hermès Science Publications, p. 117 132. [GOM 02] GOMEZ SANZ J., FUENTES R., «Agent Oriented System Engineering with INGE- NIAS», Fourth Iberoamerican Workshop on Multi-Agent Systems, Iberagents 02, 2002. [HEY 01] HEYLIGHEN F., «Encyclopedia of Life Support Systems», chapitre The Science of Self-organization and Adaptivity, EOLSS Publishers Co. Ltd, 2001. [JAC 99] JACOBSON I., BOOCH G., RUMBAUGH J., The Unified Software Development Process, Addison-Wesley, 1999. [KIN 96] KINNY D., GEORGEFF M., RAO A., «A methodology and modelling technique for systems of BDI agents», DE VELDE W. V., PERRAM J. W., Eds., Agents Breaking Away : Proceedings of the Seventh European Workshop on Modelling Autonomous Agents in a MultiAgent World, vol. 1038 de LNAI, Springer-Verlag, 1996, p. 51 71. [ODE 00] ODELL J., PARUNAK H., BAUER B., «Extending UML for Agents», Proceedings of the Agent Oriented Information Systems (AOIS) Workshop at the 17th National Conference on Artificial Intelligence (AAAI), 2000. [OMG 02] OMG, «Software Process Engineering Metamodel Specification», rapport, 2002, http ://cgi.omg.org/docs/formal/02-11-14.pdf. [RéG 02] RÉGIS C., SONTHEIMER T., GLIZE P., GLEIZES M.-P., «STAFF : une système multi-agent adaptatif de prévision de crues», MATHIEU P., MÜLLER J.-P., Eds., Systèmes multi-agents et systèmes complexes ingénierie, résolution de problèmes et simulation Actes des JFIADSMA 02, Lille, France, Octobre 2002, Hermès Science Publications, p. 87 98. [RUS 95] RUSSEL S., NORVIG P., Artificial Intelligence : A Modern Approach, Prentice Hall Series, 1995. [SOC 03] SOCHA K., SAMPELS M., MANFRIN M., «Ant Algorithms for the University Course Timetabling Problem with Regard to the State-of-the-Art», Proceedings of 3rd European Workshop on Evolutionary Computation in Combinatorial Optimization (Evo- COP 2003), April 2003. [WEB 02] WEBBER C., PESTY S., «Emergence de Diagnostic par Formation de Coalitions Application au diagnostic des conceptions d un apprenant», MATHIEU P., MÜLLER J.-P., Eds., Systèmes multi-agents et systèmes complexes ingénierie, résolution de problèmes et simulation Actes des JFIADSMA 02, Lille, France, Octobre 2002, Hermès Science Publications, p. 45 57. [WOO 99] WOOLDRIDGE M., JENNINGS N., KINNY D., «A Methodology for Agent- Oriented Analysis and Design», ETZIONI O., MÜLLER J. P., BRADSHAW J. M., Eds., Proceedings of the 3rd International Conference on Autonomous Agents (Agents 99), Seattle, WA, May 1999, ACM Press, p. 69 76.