1 / 28

JFIADSMA 2002, 28-30 octobre, Lille, France

Plan de la pr

madra
Télécharger la présentation

JFIADSMA 2002, 28-30 octobre, Lille, France

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Programmation orientée-agent : évaluation comparative d’outils et environnements Tony Garneau & Sylvain Delisle Département de mathématiques et d’informatique Université du Québec à Trois-Rivières

    2. Plan de la présentation Introduction Évaluation Objectifs et choix des outils Critères d’évaluation Résultats Résultats par outil Classement global Conclusion

    3. 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…).

    4. 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.

    5. Évaluation Objectifs à atteindre pour qu’un outil soit considéré comme un environnement de dé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.

    6. 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.

    7. Critères d’évaluation 1. Méthodologie La méthodologie couvre les différentes étapes du processus 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… Autres : Le langage de programmation, Le langage de communication entre les agents, Les protocoles d’interaction.Autres : Le langage de programmation, Le langage de communication entre les agents, Les protocoles d’interaction.

    8. Critères d’évaluation 3. Transition entre les étapes Facilité de transition entre le développement et l’implémentation. 4. Souplesse de l’outil Flexibilité de l’outil par rapport à l’utilisation de ses composants et de sa méthodologie.

    9. Critères d’évaluation 5. Communication inter-agents Fournir l’implémentation des différents services de communication entre les agents : Connections entre les machines, protocoles de communication, sécurité, synchronisation, services de messagerie. 6. Outil de “débuggage” Entre autre, il faut être capable de : Retracer les agents des différentes machines, les messages transmis, les erreurs survenues.

    10. 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 des conversations, le transport des messages, le déploiement sur diffé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. Le support pour la gestion du sma est utile pour l’étude du système Au niveau de l’exécution, Au niveau de la vérification et de la validation. Vérifier si il est tolérant aux fautes Le support pour la gestion du sma est utile pour l’étude du système Au niveau de l’exécution, Au niveau de la vérification et de la validation. Vérifier si il est tolérant aux fautes

    11. 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éseau simple. Classes et services disponibles faciles à utiliser. Diminution de la quantité de code à écrire.

    12. Critères d’évaluation 11. Support pour les bases de données Abstraction du processus de sauvegarde des informations. 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 (ou généré). Simple de modifier les classes et services déjà implémentés.

    13. 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ë.

    14. Outils évalués AgentTool Outil et méthodologie qui mettent l’accent sur les premières phases du développement (analyse et développement). Méthodologie MaSE : extension au modèle OO (7 phases) Trouver les buts, appliquer les cas d’utilisation, raffiner les rô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).

    15. 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. AgentBuilder est un outil complexe qui demande des efforts d’apprentissage importants et de bonnes connaissances dans le domaine des systèmes multiagents pour être utilisé de façon performante. Il est limité au niveau de l’extensibilité, du déploiement et de la réutilisabilité. RADL est une extension de Agent-0 et de Placa (Placa est une extension pour la plannification de Agent-0) AgentBuilder est un outil complexe qui demande des efforts d’apprentissage importants et de bonnes connaissances dans le domaine des systèmes multiagents pour être utilisé de façon performante. Il est limité au niveau de l’extensibilité, du déploiement et de la réutilisabilité. RADL est une extension de Agent-0 et de Placa (Placa est une extension pour la plannification de Agent-0)

    16. 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 ». Aucune méthodologie n’est spécifiée pour la conception Editeur de plan avec bug… Aucune méthodologie n’est spécifiée pour la conception Editeur de plan avec bug…

    17. 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). Prs est le modèle BDI des années 80, dMars une (genre d’évolution de prs) et Le modèle de Jack est un évolution de dMarsPrs est le modèle BDI des années 80, dMars une (genre d’évolution de prs) et Le modèle de Jack est un évolution de dMars

    18. 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 à la plate-forme. Le ACC « agent communication chanel » gère la communication entre les agents. Le AMS « agent management system » supervise l’enregistrement des agents, 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. Ensemble de classes qui implémentent «JESS» pour la définition du comportement des agents Meilleure documentation que (le 3 donné) => Doc trouvé plus tard que lorsque évalué… Très bonne documentation Plus par rapport à Jack : l’outil de débuggage (sniffer), la gestion du SMA (RMA) et le déploiement Moins … Bases de donnéesEnsemble de classes qui implémentent «JESS» pour la définition du comportement des agents Meilleure documentation que (le 3 donné) => Doc trouvé plus tard que lorsque évalué… Très bonne documentation Plus par rapport à Jack : l’outil de débuggage (sniffer), la gestion du SMA (RMA) et le déploiement Moins … Bases de données

    19. Outils évalués JAFMAS et JiVE JAFMAS met l’accent sur les protocoles de communication, l’interaction entre les agents, la coordination 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 et l’implémentation. Utilisation des réseaux de Pétri. JiVE : support graphique pour le développement avec JAFMAS. Les conversations sont directement basées sur la théorie des actes de langage Les réseaux de Pétri et l’utilisation de COOL rendent la création de conversations et la coordination très complexe. Aucun support pour le déploiement n’est disponible. JiVE permet de travailler en groupe sur un projet Les conversations sont directement basées sur la théorie des actes de langage Les réseaux de Pétri et l’utilisation de COOL rendent la création de conversations et la coordination très complexe. Aucun support pour le déploiement n’est disponible. JiVE permet de travailler en groupe sur un projet

    20. 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. Architecture : Micro-kernel, Agentificaition, Graphical component model Mauvaise notation support (0 et 0 au lieu de 2,1) et débuggage 3 au lieu de 4 PARCONTRE : ces points compensent pour les nombreux exemples qu’ils proposent et leurs codes sources..!!! Architecture : Micro-kernel, Agentificaition, Graphical component model Mauvaise notation support (0 et 0 au lieu de 2,1) et débuggage 3 au lieu de 4 PARCONTRE : ces points compensent pour les nombreux exemples qu’ils proposent et leurs codes sources..!!!

    21. 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 de raisonner 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. Plusieurs éditeurs pour le développement : ontologie, description des tâches, organisation, définition des agents, coordination, faits et variables ainsi que les contraintes Zeus est composé de trois parties : Agent component library, visualisation tools, agent building software Il faut créer à partir des trois cas d’étude : le marché, les enchères et la chaîne d’approvisionnement Plusieurs éditeurs pour le développement : ontologie, description des tâches, organisation, définition des agents, coordination, faits et variables ainsi que les contraintes Zeus est composé de trois parties : Agent component library, visualisation tools, agent building software Il faut créer à partir des trois cas d’étude : le marché, les enchères et la chaîne d’approvisionnement

    22. É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. Ils peuvent être considérés comme étant des «frameworks» (même si Jack possède un compilateur et un langage JAL), Ils peuvent être considérés comme étant des «frameworks» (même si Jack possède un compilateur et un langage JAL),

    23. Évaluation globale AgentTool, DECAF, Jade, Madkit Quatre environnements aidant à différents niveaux du processus de 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.

    24. É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 la méthodologie Aalaadin et offre un ensemble de classes). Il offre une bonne documentation comparativement aux trois autres.

    25. É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 du développement, Les deux outils offrent un utilitaire de « débuggage », Ils proposent chacun une méthodologie pour le développement, Les deux outils sont très complexes et leurs apprentissages nécessitent beaucoup d’efforts.

    26. É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 de l’environnement. Zeus : Maîtriser la technique de modélisation « Role modeling » qu’il faut obligatoirement utiliser, comprendre les différents éditeurs qui fournissent plusieurs services plus ou moins sophistiqués. Les deux outils ont des lacunes aux niveaux de l’extensibilité et de la souplesse. AgentBuilder : AgentBuilder est un outil complexe qui demande des efforts d’apprentissage importants et de bonnes connaissances dans le domaine des systèmes multiagents pour être utilisé de façon performante. Il est limité au niveau de l’extensibilité, du déploiement et de la réutilisabilité. RADL est une extension de Agent-0 et de Placa (Placa est une extension pour la plannification de Agent-0) Zeus : Plusieurs éditeurs pour le développement : ontologie, description des tâches, organisation, définition des agents, coordination, faits et variables ainsi que les contraintes Zeus est composé de trois parties : Agent component library, visualisation tools, agent building software Il faut créer à partir des trois cas d’étude : le marché, les enchères et la chaîne d’approvisionnement AgentBuilder : AgentBuilder est un outil complexe qui demande des efforts d’apprentissage importants et de bonnes connaissances dans le domaine des systèmes multiagents pour être utilisé de façon performante. Il est limité au niveau de l’extensibilité, du déploiement et de la réutilisabilité. RADL est une extension de Agent-0 et de Placa (Placa est une extension pour la plannification de Agent-0) Zeus : Plusieurs éditeurs pour le développement : ontologie, description des tâches, organisation, définition des agents, coordination, faits et variables ainsi que les contraintes Zeus est composé de trois parties : Agent component library, visualisation tools, agent building software Il faut créer à partir des trois cas d’étude : le marché, les enchères et la chaîne d’approvisionnement

    27. Conclusion Quelques résultats Les outils fournissant des utilitaires graphiques pour le développement et l’implémentation ont un manque aux niveaux de l’extensibilité et de la souplesse. Ceux qui fournissent des interfaces pour l’implémentation diminuent l’effort de programmation. Les outils les plus complets proposent une méthodologie. La plupart des outils ne supportent aucun mécanisme pour la sauvegarde des données.

    28. Conclusion Constats La majorité des outils ont été développés pour exploiter un concept en particulier. Ces outils négligent, volontairement ou non, plusieurs aspects essentiels à l’implémentation d’un SMA. Ceci rend leur utilisation souvent impossible pour le développement de systèmes réels. Bonne revue des différents outils à été publié : Review of software products for Multi-Agent Systems www.AgentLink.org Par : Eleni ManginaBonne revue des différents outils à été publié : Review of software products for Multi-Agent Systems www.AgentLink.org Par : Eleni Mangina

More Related