39
Outils logiciels des Systèmes Multi-Agents Joël Quinqueton LIRMM Montpellier, France

Outils logiciels des Systèmes Multi-Agents

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Outils logiciels des Systèmes Multi-Agents

Outils logiciels des SystèmesMulti-AgentsJoël Quinqueton

LIRMMMontpellier, France

Page 2: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 2

Rappels des cours précédents1. Motivations: distribution2. Origines

1. Tableaux Noirs2. Acteur

3. Problématique: agent + organisation4. Agents

1. Situés ou communicants2. Cognitifs ou réactifs

5. Sociétés & Organisations1. Modes d'Organisation2. Communication3. Interaction et coopération4. Allocation de Tâches5. Coordination

Page 3: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 3

Développement centré agent

• Accélérer le développement et diminuer l’effort deprogrammation

• Abstraire les mécanismes– de communication– d’interaction– de coordination

• Implémenter des systèmes complexes• Bonne extensibilité du code• Support pour le déploiement

Page 4: Outils logiciels des Systèmes Multi-Agents

Programmation orientée-agent

Tony Garneau & Sylvain DelisleDépartement de mathématiques et

d’informatiqueUniversité du Québec à Trois-Rivières

Page 5: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 5

évaluation comparative d’outilset environnements

• Présenté à JFIADSMA’2002, Lille• Introduction• Évaluation

– Objectifs et choix des outils– Critères d’évaluation

• Résultats– Résultats par outil– Classement global

• Conclusion

Page 6: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 6

Introduction• La programmation orientée-agent

– Nouveau paradigme de programmation,– Évolution de la programmation orientée-objet,– Façon plus naturelle de concevoir les systèmes.

• Méthodologies et architectures– Patrons théoriques pour la modélisation,– Les systèmes spécifiés à partir de ces méthodologies sont difficiles

à implémenter par des langages de programmation standards (C++,Java ou autres…).

Page 7: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 7

Introduction• Méthodologies et architectures développées

– MaSE, Aalaadin ou AGR, RETSINA, dMARS, OAA,DESIRE, Gaia, Tropos, Kaos et bien d’autres…

• Outils POA– JADE, Zeus, MadKit, AgentBuilder, Jack, JAFMAS,

AgentTool, DECAF, RMIT, Brainstorm / J, ADK,ABEL et autres…

• Créés pour supporter une méthodologie.• Créés pour démontrer une idée ou un concept en particulier.

Page 8: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 8

Évaluation• Objectifs à atteindre pour qu’un outil soit

considéré comme un environnement dedéveloppement de SMA :– Accélérer le développement et diminuer l’effort de

programmation,– Abstraire les mécanismes de communication,

d’interaction et de coordination,– Permettre l’implémentation de systèmes relativement

complexes,– Permettre une bonne extensibilité du code,– Fournir un support pour le déploiement (et l’exécution)

des systèmes.

Page 9: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 9

Critères d’évaluation• 15 critères d’évaluation• Pondération pour chaque critère :

– 4 si l’outil répond très bien au critère,– 3 si l’outil répond bien au critère,– 2 si l’outil répond moyennement au critère,– 1 si l’outil répond peu au critère,– 0 si l’outil ne répond pas du tout au critère.

Page 10: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 10

Critères d’évaluation• 1. Méthodologie

– La méthodologie couvre les différentes étapes duprocessus de développement de SMA :

• Analyse, développement, implémentation, déploiement.

• 2. Facilité d’apprentissage de l’outil– Qualité de la documentation,– La complexité des composants,– Les concepts utilisés,– Et autres…

Page 11: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 11

Critères d’évaluation• 3. Transition entre les étapes

– Facilité de transition entre le développement etl’implémentation.

• 4. Souplesse de l’outil– Flexibilité de l’outil par rapport à l’utilisation de ses

composants et de sa méthodologie.

Page 12: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 12

Critères d’évaluation• 5. Communication inter-agents

– Fournir l’implémentation des différents services decommunication entre les agents :

• Connections entre les machines, protocoles decommunication, sécurité, synchronisation, services demessagerie.

• 6. Outil de “débuggage”– Entre autre, il faut être capable de :

• Retracer les agents des différentes machines, les messagestransmis, les erreurs survenues.

Page 13: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 13

Critères d’évaluation• 7 et 8. Support graphique pour le

développement et implémentation– L’environnement propose des interfaces aidant :

• La création du modèle et des agents, l’élaboration desconversations, le transport des messages, le déploiement surdifférentes machines.

• 9. Support pour la gestion du système– L’outil permet l’interaction avec le système:

• Ajouter, modifier, supprimer (agents ou sous-systèmes)dynamiquement dans le système.

Page 14: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 14

Critères d’évaluation• 10. Diminution de l’effort demandé et

simplicité d’implémentation– Composants facilement identifiables:

• Noms, packages, documentation, paramètres, etc…– Langage de programmation:

• Orienté-objet, “multi-threads”, programmation réseausimple.

– Classes et services disponibles faciles à utiliser.– Diminution de la quantité de code à écrire.

Page 15: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 15

Critères d’évaluation• 11. Support pour les bases de données

– Abstraction du processus de sauvegarde desinformations.

• 12. Génération de code– Génération automatique du code source des différents

composants du système.• 13. Extensibilité du code

– Facilité d’ajout de code à celui déjà existant (ougénéré).

– Simple de modifier les classes et services déjàimplémentés.

Page 16: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 16

Critères d’évaluation• 14. Le déploiement

– Permettre le déploiement sur plusieurs machines,– Exécution simple du système,– Exécution indépendante de l’environnement.

• 15. La documentation– Documentation de qualité:

• Elle couvre l’ensemble des composants de l’outil.• Elle est claire, concise et non-ambiguë.

Page 17: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 17

Outils évalués

• AgentToolOutil et méthodologie qui mettent l’accent sur lespremières phases du développement (analyse etdéveloppement).

– Méthodologie MaSE : extension au modèle OO (7phases)

• Trouver les buts, appliquer les cas d’utilisation, raffiner lesrôles, créer les classes d’agents, construire les conversations,assembler les classes d’agents et l’implémentation.

– L’outil permet la validation des conversations.– Génération du code des conversations (en Java).

Page 18: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 18

AgentTool

Page 19: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 19

Outils évalués• AgentBuilder

Environnement de développement complet– Méthodologie OMT à laquelle on ajoute une partie ontologie,– Agents construits à partir d’un modèle BDI et de AGENT-0,– Langage de communication entre les agents : KQML,– Exécution à partir de l’engin d’AgentBuilder,– Possibilité de générer les fichiers « .class » et d’exécuter les

systèmes sur une JVM standard.

Page 20: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 20

AgentBuilder

Page 21: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 21

Outils évalués• DECAF

– Environnement de développement de plans,– L’outil fourni des utilitaires pour l’élaboration

de plans et pour la coordination des tâches,– Un planificateur applique des heuristiques pour

trouver un ordonnancement aux tâches,– Éditeur d’agent utile pour le « débuggage ».

Page 22: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 22

Decaf

Page 23: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 23

Outils évalués• Jack

– Gestionnaire de projet• Éditeur de textes où se fait l’implémentation du système,• La compilation (passage de JAL à Java),• L’exécution du système.

– Le langage JAL est une extension au langage Java.– Compilateur qui transforme le code JAL en java pur.– Les agents sont basés sur un modèle BDI (une

évolution du modèle BDI de dMars).

Page 24: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 24

Jack

Page 25: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 25

Outils évalués• Jade

– Outil qui répond aux normes FIPA.– Trois modules principaux (nécessaires aux normes FIPA):

• Le DF « directory facilitator » fourni un service de pages jaunes à laplate-forme.

• Le ACC « agent communication chanel » gère la communicationentre les agents.

• Le AMS « agent management system » supervise l’enregistrement desagents, leur authentification, leur accès et utilisation du système.

– Langage de communication entre les agents : FIPA ACL.– Éditeur pour l’enregistrement et la gestion des agents.

Page 26: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 26

Jade

Page 27: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 27

Outils évalués• JAFMAS et JiVE

– JAFMAS met l’accent sur les protocoles decommunication, l’interaction entre les agents, lacoordination et la cohérence à l’intérieur du système.

– Méthodologie en cinq phases :• Identifier les agents, les conversations, les règles de

conversation, analyser le modèle des conversations etl’implémentation.

– Utilisation des réseaux de Pétri.– JiVE : support graphique pour le développement avec

JAFMAS.

Page 28: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 28

Jafmas/Jive

Page 29: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 29

Outils évalués• Madkit

– Environnement basé sur la méthodologie Aalaadin ou AGR (agent/ groupe / rôle).

• Un agent joue des rôles à l’intérieur de groupes.– L’outil fourni un éditeur permettant le déploiement et la gestion

des SMA (G-box).– L’outil offre aussi un utilitaire pour effectuer des simulations à

grande échelle.

Page 30: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 30

MadKit

Page 31: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 31

Outils évalués• Zeus

Environnement de développement complet– Méthodologie « role modeling ».– Les agents possèdent trois couches :

• La définition : l’agent est vu comme une entité autonome capable deraisonner grâce à ses croyances, ressources et préférences.

• L’organisation : relations entre les agents.• La coordination : modes de communication entre les agents,

protocoles, coordination et autres mécanismes d’interaction.

Page 32: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 32

Zeus

Page 33: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 33

Évaluation globale• Jack et JADE

– Ils peuvent être considérés comme étant des«frameworks»,

– Aucune méthodologie n’est spécifiée,– Lacunes au niveau des utilitaires graphiques,– Bonne documentation,– Grandes possibilités au niveau de l’implémentation.– Différence majeure :

• le développement avec JADE se fait en Java contrairement àJAL pour le développement avec Jack.

Page 34: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 34

Évaluation globale• AgentTool, DECAF, Jade, Madkit

Quatre environnements aidant à différents niveaux du processusde développement de SMA.

• DECAF et JAFMAS• Ces deux outils mettent l’accent sur les interactions, la coordination et

la planification.• Ils délaissent le côté implémentation et déploiement.• Comparativement aux trois autres, DECAF n’offre aucune

méthodologie.

Page 35: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 35

Évaluation globale• AgentTool, DECAF, Jade, Madkit (suite)

– AgentTool• Cet outil met l’accent sur les premières phases du

développement.• L’implémentation n’est pas prise en compte (sauf la génération

des conversations).– MadKit

• Il met plus l’emphase au niveau du déploiement qu’aux autresétapes du développement (même s’il se base sur laméthodologie Aalaadin et offre un ensemble de classes).

• Il offre une bonne documentation comparativement aux troisautres.

Page 36: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 36

Évaluation globale• AgentBuilder et Zeus

Les deux environnements les plus complets :– Documentation abondante,– Ces outils offrent plusieurs interfaces

graphiques aidant lors des différentes étapes dudéveloppement,

– Les deux outils offrent un utilitaire de« débuggage »,

– Ils proposent chacun une méthodologie pour ledéveloppement,

– Les deux outils sont très complexes et leursapprentissages nécessitent beaucoup d’efforts.

Page 37: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 37

Évalutation globale• AgentBuilder et Zeus (suite)

– AgentBuilder :• Il faut connaître RADL « Reticular Agent Definition

Language ».• Comprendre la gestion des ontologies, l’engin d’exécution, les

protocoles utilisés et maîtriser les différents interfaces del’environnement.

– Zeus :• Maîtriser la technique de modélisation « Role modeling » qu’il

faut obligatoirement utiliser, comprendre les différents éditeursqui fournissent plusieurs services plus ou moins sophistiqués.

Les deux outils ont des lacunes aux niveaux del’extensibilité et de la souplesse.

Page 38: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 38

Conclusion• Quelques résultats

– Les outils fournissant des utilitaires graphiques pour ledéveloppement et l’implémentation ont un manque auxniveaux de l’extensibilité et de la souplesse.

– Ceux qui fournissent des interfaces pourl’implémentation diminuent l’effort de programmation.

– Les outils les plus complets proposent uneméthodologie.

– La plupart des outils ne supportent aucun mécanismepour la sauvegarde des données.

Page 39: Outils logiciels des Systèmes Multi-Agents

Joël Quinqueton 39

Conclusion• Constats

– La majorité des outils ont été développés pourexploiter un concept en particulier.

– Ces outils négligent, volontairement ou non,plusieurs aspects essentiels à l’implémentationd’un SMA.

– Ceci rend leur utilisation souvent impossiblepour le développement de systèmes réels.