G É N I E L O G I C I E L Q N o 8 6 S E P T E M B R E 2 0 0 8 MULTI-AGENTS ET G

G É N I E L O G I C I E L Q N o 8 6 S E P T E M B R E 2 0 0 8 MULTI-AGENTS ET GÉNIE LOGICIEL 2 1. INTRODUCTION L’augmentation de la puissance des machines, les performances des réseaux de communication, l’avènement du Web sont à l’origine de demandes d’applications toujours plus complexes dans les- quelles la distribution est inhérente. Les données et le contrôle sont logiquement ou physiquement distribués mais la distribution peut aussi être sémantique nécessitant ainsi de définir des onto- logies pour permettre une meilleure communica- tion. Le système à concevoir est souvent ouvert et permet ainsi à des éléments le constituant d’inté- grer ou de partir du système. Il doit évoluer dans des environnements dynamiques. La technique des systèmes multi-agents per- met de répondre aux demandes provenant de telles applications. Un système multi-agent est défini comme un macro-système constitué d’agents auto- nomes qui interagissent dans un environnement commun pour réaliser une activité collective cohé- rente [12]. Un agent est une entité physique ou vir- tuelle autonome, située dans un environnement et capable de réaliser des actions flexibles et auto- nomes dans cet environnement dans le but d’at- teindre ses objectifs [32]. Il est en général réactif c’est-à-dire qu’il maintient des interactions avec son environnement et répond aux changements de cet environnement pour satisfaire ses buts. Il est proactif ; c’est-à-dire qu’il peut générer et atteindre des buts. Il n’est pas dirigé seulement par les évé- nements mais prend aussi des initiatives pour satis- faire ses buts. Finalement, il est social c’est-à-dire qu’il a l’aptitude à interagir avec les autres agents via des langages de communication afin de satis- faire ses buts [21]. Le paradigme multi-agent permet, d’une part, de faciliter la compréhension et la modélisation des systèmes complexes. Le paradigme agent est un nouveau niveau d’abstraction qui permet d’ex- primer une application en termes d’agents auto- nomes qui jouent des rôles et rendent des services dans une organisation. Par exemple, un système de Méthodes de développement de systèmes multi-agents M A R I E - P I E R R E G L E I Z E S , C A R O L E B E R N O N , F R É D É R I C M I G E O N E T G A U T H I E R P I C A R D Résumé : Les systèmes multi-agents (SMA) ont montré leur pertinence pour la conception d’applications dis- tribuées (logiquement ou physiquement), complexes et robustes. Le concept d’agent est aujourd’hui plus qu’une technologie efficace, il représente un nouveau paradigme pour le développement de logiciels dans lesquels l’agent est un logiciel autonome qui possède un objectif, évolue dans un environnement dynamique et interagit avec d’autres agents au moyen de langages et de protocoles. Souvent, l’agent est considéré comme un objet « intel- ligent » ou comme un niveau d’abstraction au-dessus des objets et des composants. Les méthodes de dévelop- pement orientées objet – au vu des différences entre les objets et les agents – ne sont pas directement applicables au développement de SMA. Il est alors devenu nécessaire d’étendre ou de développer de nouveaux modèles, de nouvelles méthodes et de nouveaux outils adaptés au développement de systèmes multi-agents. L’objectif de cet article est d’établir la spécificité du paradigme multi-agent, de donner un aperçu du processus de développement d’un SMA au travers de la méthode ADELFE et de donner les caractéristiques des principales méthodes de conception de SMA en donnant les caractéristiques essentielles de chacune. Mots clés : Systèmes multi-agents, méthodes de développement, processus de développement, méta-modèles G É N I E L O G I C I E L Q N o 8 6 S E P T E M B R E 2 0 0 8 3 W simulation du système ferroviaire [11] peut être facilement modélisé avec des agents trains, des agents régulateurs, des agents gares… Il permet, d’autre part, de fournir de nouveaux paradigmes de résolution de problèmes complexes où le concepteur n’a plus à programmer le processus de résolution (comme, par exemple, l’écriture de l’algorithme) mais il doit concevoir les agents et leur donner les moyens d’interagir entre eux mais aussi avec l’environnement du système et le pro- cessus de résolution émerge de l’auto-organisa- tion des agents. La conception multi-agent requiert donc des méthodes associées. Les premières méthodes ont vu le jour dans les années 1995 mais, c’est depuis les années 2000 que les recherches dans ce domaine ont été très nombreuses [1, 2, 18, 22]. On distingue trois grandes familles de méthodes : les plus nom- breuses issues de l’ingénierie du logiciel et qui s’inspirent des méthodes orientées objet (figure 1), celles qui sont issues de l’ingénierie des connais- sances et les approches issues de plates-formes (figure 2). reposent, pour la plupart, sur des méta-modèles propres, présentés dans la section 3. Les activités d’analyse sont décrites dans la section 4, la concep- tion dans la section 5 et enfin l’implémentation dans la section 6. Ces activités représentent le cœur des processus de développement multi-agent à l’heure actuelle. La section 7 conclut sur les enjeux de ce domaine. 2. PROCESSUS DE DÉVELOPPEMENT La plupart des méthodes de développement de sys- tèmes multi-agents s’inspirent de l’ingénierie orien- tée objet, et il est donc naturel que les cycles de vie et processus utilisés dans la conception de tels sys- tèmes soient de types classiquement utilisés en conception modulaire : cascades, itératifs, en V, en spirales [5]. De plus, les méthodes multi-agents intè- grent, pour la grande majorité, les grandes phases de développement que sont l’analyse des besoins, la conception de l’architecture (ou analyse), la conception détaillée, le développement (ou implé- mentation) et le déploiement, même si elles ne sont pas clairement identifiées en tant que telles. Par exemple, ADELFE [3, 27] et INGENIAS [16] reposent sur le processus unifié (Unified Pro- cess, UP [20]) et intègrent à ce processus de nou- velles étapes et définitions de travaux spécifiques au domaine multi-agent, alors que PASSI [7] et ASPECS [15] reposent sur un processus itérable ori- ginal. Certaines méthodes ne couvrent qu’une par- tie du processus, comme GAIA [33, 35] ou SODA [25] qui se concentrent exclusivement sur l’analyse des besoins et la conception, ou Prometheus [26] et MaSE [31] qui n’abordent pas l’analyse des besoins. Généralement, les méthodes ne proposent pas de processus allant jusqu’au déploiement, s’appuyant sur le principe que les modèles multi-agents sont plus du niveau de l’analyse (notamment pour Tropos [6], issue de l’ingénierie des besoins) et de la concep- tion, exception faite de PASSI ou INGENIAS qui couvrent tout le cycle de développement. Outre les phases couvertes par les processus, il est aussi intéressant d’identifier ce que les processus proposent en termes de livrables, de gestion de la qualité et de directives de conduite. Les méthodes reposant sur le processus unifié, comme ADELFE ou INGENIAS, héritent de sa gestion des risques et de la qualité de la production. Certaines méthodes ont pris un soin particulier à la définition des processus et des productions, en utilisant notamment des for- malismes dédiés comme le SPEM. Ainsi ADELFE et PASSI ont été les premières méthodes à proposer une formalisation SPEM de leur processus, aug- mentant ainsi la lisibilité de leur suivi et livrables. 3. MÉTA-MODÈLE Quelles que soient les phases couvertes par ces méthodes, l’ingénieur y exprime ses réflexions en utilisant les concepts définis dans le langage de MULTI-AGENTS ET GÉNIE LOGICIEL Figure 1 – Méthodes issues des méthodes orientées objet Dans la suite de l’article nous présentons les spécificités et activités caractéristiques des princi- pales méthodes de développement multi-agent. Ces activités sont conduites lors de processus spécifiques à chaque méthode, présentés dans la section 2, et Figure 2 – Méthodes issues de l’ingénierie des connaissances ou de plates-formes G É N I E L O G I C I E L Q N o 8 6 S E P T E M B R E 2 0 0 8 4 modélisation associé. Ainsi, pour des systèmes multi-agents, est-il important de définir la nature des agents et du système associés à la méthode. Même si, comme nous l’avons fait en introduc- tion, une définition consensuelle peut être don- née, elle n’est pas suffisamment précise pour être appliquée pendant les phases de modélisation. Il est alors nécessaire de disposer de moyens de défi- nir des langages de modélisation spécifiques. Depuis la fin des années 1990, l’Ingénierie Dirigées par les Modèles (IDM) permet de recen- trer les processus de développement sur les modèles, et non plus sur le code [10]. Les outils issus de ce domaine permettent de concevoir des langages de modélisation dédiés à un domaine d’expertise ; ils peuvent être associés à des édi- teurs graphiques générés automatiquement et per- mettent d’obtenir des produits dérivés de ce modèle (comme du code) par transformation [28]. Cette pratique nécessite une modélisation (un méta-modèle) des concepts du domaine source et une autre pour le domaine cible (par exemple, la plate-forme uploads/Management/ methodes-de-developpement-des-sma.pdf

  • 55
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Jan 21, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.2085MB