Précédent Introduction Haut Introduction Suivant Dima

Master Recherche Informatique - Université Paris Sud

Systèmes Multi-Agents

Professeur : J-P.Sansonnet

Plates-formes de développement des systèmes multi-agents

AgentBuilder & ZEUS

Février 2005
Étudiant : - ABBOUTE Hassane


AgentBuilder

1. Définition

2. les composants d'AgentBuilder

    2.1. Outils de commande de projet

    2.2. Directeur d'ontologie

    2.3. Directeur d'agence

    2.4. Directeur d'agent

    2.5. Le programme de mise au point d'agent

3. Exemples d'AgentBuilder

4. Méthodologie

5. AgentBuilder et les plates formes

6. Problème avec AgentBuilder

Références


1. Définition

            AgentBuilder est une suite intégrée d'outils permettant de construire des agents intelligents, il a été développé en JAVA par Reticular Systems Inc. L'élaboration du comportement des agents se fait à partir du modèle BDI et du langage AGENT-0. KQML est utilisé comme langage de communication entre les agents. Par contre on peut créer des fichiers « .class » et les exécuter sur une JVM standard.

AgentBuilder est composé d'une interface graphique et d'un langage orienté agent permettant de définir des croyances, des engagements et des actions. Il permet également de définir des ontologies et des protocoles de communications inter-agents.

Un agent crée avec cet outil est typiquement un agent d'interface, chargé de faciliter la recherche d'information ou la réalisation de certaines tâches à la place de son utilisateur. Un tel agent sera capable de filtrer l'information, de négocier des services avec d'autres agents et dialoguer avec son utilisateur.

 

2. Les composants d'AgentBuilder

            AgentBuilder contient deux composants : Le Toolkit et Le système d'exécution (Runtime). Le toolkit contient des outils pour gérer le processus de développement des agents, analyser le domaine d'influence d'un agent, concevoir l'environnement de communication sur le réseau, définir le comportement individuel de chaque agent, débuguer et tester les agents. Le runtime fournit l'environnement d'exécution des agents, et la combinaison du programme d'agent et du moteur d'agent permet de créer un agent exécutable.

Tous les composants du toolkit d'AgentBuilder et du système d'exécution sont mis en application dans Java.  Ceci signifie que le développement d'agent peut être accompli sur n'importe quelle machine ou logiciel d'exploitation qui soutient Java. De même, les agents créés avec le toolkit d'AgentBuilder sont des programmes de Java ainsi ils peuvent être exécutés sur n'importe quelle machine virtuelle de Java.

Les outils du Toolkit sont :

2.1. Outils de commande de projet : Les outils de commande de projet sont fournis pour aider le lotisseur d'agent à contrôler le procédé global de développement d'agent.  Ces outils incluent le chef de projet, l'outil de dictionnaire de projet, et le directeur de dépôt de projet

2.2. Directeur d'ontologie : Le directeur d'ontologie aide le réalisateur en analysant le domaine de problème d'application d'agent et en identifiant et en définissant les concepts concernant l'opération de l'agent dans ce domaine.

2.3. Directeur d'agence : Le directeur d'agence est conçu pour aider le lotisseur à construire une agence. Une agence se compose de deux agents ou plus qui communiquent et coopèrent avec l'un et l'autre pour accomplir une certaine tâche.  Les agents peuvent être identiques ou spécialisés pour exécuter différentes fonctions. Le directeur d'agence permet au lotisseur d'identifier et caractériser tous les agents.

2.4. Directeur d'agent : Le directeur d'agent fournit des outils pour définir le modèle mental initial et le comportement d'un agent individuel. Les outils de définition d'agent incluent les rédacteurs graphiques pour définir les diverses constructions mentales qui composent l'agent: croyance initiale, engagements initiaux, intentions initiales, possibilités et règles comportementales. Le toolkit d'AgentBuilder fournit l'aide pour ajouter des possibilités d'étude et de planification aux agents. Les rédacteurs de planification et d'étude procurent au réalisateur d'établir la planification spécifique de domaine et des modules d'étude.

2.5. Le programme de mise au point d'agent : Il fournit au réalisateur de logiciel le rendement graphique décrivant le modèle de l'agent, l'entrée et les messages mentaux de rendement.

 

img1.gif

Figure : Les composants principaux d'AgentBuilder et les relations entre eux

  

3. Exemples d'AgentBuilder

3.1. P-mail : Le P-Mail est un système instantané de transmission de messages qui emploie des agents de logiciel. Le système est conçu pour s'assurer que les messages demeurent privés. L'intimité est assurée parce que les messages ne résident jamais sur n'importe quel dispositif de serveur. Le P-Mail est un service "messages"de peer-to-peer. Le message se déplace de l'agent d'envoi  à l'agent de réception et n'est jamais stocké sur n'importe quelle machine intermédiaire. Le P-Mail est un bon exemple des agents créés en utilisant le toolkit d'AgentBuilder

3.2. Agents intelligents pour acheter et vendre l'énergie électrique dans une enchère dynamique: Le système développé emploie un réseau des agents intelligents et chaque agent représente un dépositaire dans le marché. Un dépositaire veut acheter ou vendre l'électricité.

3.3. Agents d'achats : Les agents d'achats sont employés pour localiser des marchandises, comparer des prix, etc.

 

4. Méthodologie

La méthodologie se base sur quatre (04) étapes pour la construction d’agents.

4.1. Analyse : L'étape d'analyse consiste en la spécification des objets du domaine et des opérations qu'ils peuvent effectuer, puis en la production d'une ontologie du domaine. Des outils graphiques sont disponibles pour effectuer ces tâches.

4.2. Conception : L'étape de conception consiste à :

-      Décomposer le problème en fonctionnalités que les agents doivent avoir.

-      Définir les agents.

-      Identifier leurs rôles et leurs caractéristiques.

-      Spécifier les protocoles d'interactions.

4.3. Développement : L'étape de développement consiste à :

-      Définir le comportement des agents en se basant sur leurs règles de comportements, croyances initiales, intentions et capacités.

-      Intégrer les actions externes et l'interface graphique aux agents.

Cette étape n'est applicable qu'à des agents adoptant l'architecture BDI.

4.4. Déploiement : Les agents engendrés au cours de la phase de développement sont exécutés par un Run-Time Agent Engine, qui interprète le code des agents.

 

5. AgentBuilder et les plates formes

AgentBuilder exige une machine virtuelle de Java. Il a été examiné pour fonctionner sur des plateformes de Solaris, de Windows 95, de Windows 98, de Windows 2000, de Windows XP, de Windows NT, et de Linux.

6. Problème avec AgentBuilder

La plupart des problèmes avec AgentBuilder sont dus aux spécifications inexactes de chemin de classe. De plus, Il est limité au niveau de l'extensibilité, du déploiement et de la réutilisabilité.

 

Bibliographie

Thèse : Titre : Description de comportement d'agents autonomes évoluant dans des mondes virtuels.

            Auteur : Nadine Richard

            Lien :www.infres.enst.fr/~richard/Publications/richard-these01.ps.

Thèse : Titre : Programmation orientée Multi-agents : Développement et Déploiement de systèmes Multi-agents Voyelles.

            Auteur : Pierre-Michel Rocordel.

            Lien : http://rangiroa.essi.fr/rapports/2001/01-these-ricordel.pdf

Le site de l'outil AgentBuilder : http://www.agentbuilder.com.

Liste des plates formes Multi-agents : http://www.lirmm.fr/~jq/Cours/3cycle/outilsma.htm

Article : Titre : Programmation orientée agent : évaluation comparative d'outils et environnements.

                 Auteurs : Tony Garneau & Sylvain Delisle

                 Lien : http://www.uqtr.ca/dmasbuilder/download/documents/JFIADSMA2002.pdf


ZEUS

1. Définition

2. Les agents ZEUS

3. Agent générique ZEUS

4. Méthodologie de ZEUS

    4.1. Analyse

    4.2. Conception

    4.3. Développement

    4.4. Déploiement

5. Conclusion

Références


1. Définition

ZEUS est un environnement intégré qui utilise la méthodologie Role Modeling pour la construction rapide d’applications à base d’agents collaboratifs. Il a été développé par l’Agent Research Program du British Telecom Intelligent System Research Laboratory.

Les concepts de la plate forme ZEUS s’appuient sur :

Ø      Les agents.

Ø      Leurs buts.

Ø      Leurs taches (ce que les agents doivent réalisés pour atteindre leurs buts).

Ø      Les faits (ce que les agents considèrent comme étant vrai).

 

2. Les agents ZEUS

Un agent ZEUS possède une définition, il appartient à une organisation, il perçoit et modifie son environnement, il possède un cycle de vie et il s’appuie sur un protocole d’interaction.

L’architecture des agents ZEUS regroupe les composants suivants :

Ø      Une boite aux lettres.

Ø      Un gestionnaire de messages dont le rôle principale est l’analyse des messages de la boite aux lettres.

Ø      Un planificateur de taches.

Ø      Un moteur de coordination.

Ø      Un contrôleur d’exécution dont le rôle est la gestion des taches actives.

Ø      L’ensemble des plans, ontologies et ressources manipulées par les agents

 

Les hypothèses sur les agents ZEUS sont les suivantes :

Ø      Les agents doivent être dirigés par les buts.

Ø      Les agents doivent être capables de planifier.

Ø      Les agents doivent être honnêtes envers les autres agents.

Ø      Les agents peuvent avoir plusieurs buts à satisfaire simultanément.

Ø      Les agents peuvent s’engager sur plusieurs taches à la fois.

   

3. Agent générique ZEUS

 

L’agent générique ZEUS est composé de trois (03) couches internes nécessaires pour :

Ø      La définition de l’agent en tant qu’entité autonome possédant ses compétences et ses croyances.

Ø      L’organisation : relations de l’agent avec les autres agents.

Ø      La coordination.

Cet agent générique contient deux (02) couchent supplémentaires, l’une pour assurer la communication avec les autres agents et l’autre est chargée de l’interaction avec l’environnement.

 

4. Méthodologie de ZEUS

La méthodologie de ZEUS se base sur quatre (04) étapes pour la construction d’agents, nommées respectivement Analyse du domaine, Conception, Développement et Déploiement.

 

4.1. Analyse

L’analyse consiste en la modélisation des rôles. A ce stade aucun outil logiciel n’est fournit car les agents sont définit par leurs rôles et leurs comportements. Cette étape est particulièrement applicable dans les systèmes multi-agents orientés rôle. Et afin d’éviter l’introduction de nouveau formalismes, on utilise souvent les diagrammes de classe UML pour la modélisation des rôles.

 

4.2. Conception

La conception se limite à des agents cherchant à atteindre un but (Agents orientés taches), elle consiste à définir des solutions qui permettront d’assurer les rôles fixés lors de la phase d’analyse. Le formalisme de conception utilisé par la plate forme ZEUS est constitué essentiellement de phrases en langue naturelle, ce qui le rend plus simple d’une part et informel d’une autre part.

 

4.3. Développement

L’étape de développement peut être divisée en cinq (05) parties :

Ø      Création d’ontologie.

Ø      Création d’agents.

Ø      Configuration de l’agent utilitaire.

Ø      Configuration de l’agent tache.

Ø      Implémentation des agents.

Ces étapes sont toutes supportées par des outils logiciels graphiques.

Souvent les fonctionnalités fréquemment utilisées au sein des agents peuvent être réutilisées grâce à la modularité des outils de développements.

 

4.4. Déploiement

Cette étape décrit la façon de lancer le système multi-agents et la manière d’utiliser l’outil de visualisation. Ce dernier permet d’avoir de multiples visions sur l’organisation, l’interaction dans la société d’agents, la décomposition des taches ainsi que l’état interne des agents.

La particularité réside dans la possibilité de configurer des agents à l’exécution, mais chaque modification de la composition ou de la localisation de la société d’agents nécessite une recompilation, ce qui empêche la réutilisation.

 

5. Conclusion

            Malgré la modularité que présente ZEUS, il n’a qu’un seul module d’agent supporté, ce qui limite la gamme des systèmes multi-agents qu’il est possible de construire avec. Mais il permet d’assurer une très grande productivité.

 

 

 

Bibliographie

Plate-forme ZEUS

http://www.labs.bt.com/projects/agents/zeus
Liste plates-formes multi-agents
http://www.agentlink.org/resources/agent-software.php
Thèse : Titre : Programmation orientée Multi-agents : Développement et Déploiement de systèmes Multi-agents Voyelles.

            Auteur : Pierre-Michel Rocordel.

            Lien : http://rangiroa.essi.fr/rapports/2001/01-these-ricordel.pdf