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

Documents pareils
Programmation orientée-agent : évaluation comparative d outils et environnements

La plate-forme DIMA. Master 1 IMA COLI23 - Université de La Rochelle

Programmation de services en téléphonie sur IP

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Programmation d'agents intelligents Vers une refonte des fils de raisonnement. Stage de fin d'études Master IAD 2006

Générer du code à partir d une description de haut niveau

Évaluation et implémentation des langages

GRIDKIT: Pluggable Overlay Networks for Grid Computing

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

L art d ordonnancer. avec JobScheduler. François BAYART

Journée_: Modules HoraireEpreuve

Mercredi 15 Janvier 2014

Espace de travail collaboratif pour un environnement de grille pervasive

OPTION SCIENCES BELLE-ISLE-EN-TERRE

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Auto-évaluation Aperçu de l architecture Java EE

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Conception et contrôle des SMA tolérants aux fautes

Etude de la simulation de systèmes multiagents pour la conception vivante d agents dans la méthode ADELFE

Visual Paradigm Contraintes inter-associations

CAHIER DU LAMSADE 291

MINISTÈRE DES AFFAIRES ÉTRANGÈRES

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

Retour d expériences avec UML

Cours 1 : La compilation

MATHÉMATIQUES ET SCIENCES HUMAINES

LICENCE : INFORMATIQUE GENERALE

Analyse,, Conception des Systèmes Informatiques

Solutions informatiques (SI) Semestre 1

Rapport de stage. Développement d un logiciel de vidéoconférence : Enjeux 3. Guillaume DOTT 2009

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

UNIVERSITE DE TECHNOLOGIE DE COMPIEGNE U. F. R. DE SCIENCES ET TECHNOLOGIE. Doctorat. Technologies de l information et des systèmes FABRICIO ENEMBRECK

Offre Référentiel d échange

TP1 : Initiation à Java et Eclipse

Machines virtuelles Cours 1 : Introduction

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

Mise en œuvre des serveurs d application

Evaluation et mise en place d un serveur de messages pour Chamilo 2.0

Diagrammes de Package, de déploiement et de composants UML

UML (Paquetage) Unified Modeling Language

Introduction à LDAP et à Active Directory Étude de cas... 37

Le génie logiciel. maintenance de logiciels.

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

DEMARREZ RAPIDEMENT VOTRE EVALUATION

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

SOUTIEN INFORMATIQUE DEP 5229

TP1 : Initiation à Java et Eclipse

Cours en ligne Développement Java pour le web

Projet de Veille Technologique

Configuration Interface for MEssage ROuting

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Votre partenaire pour les meilleures pratiques. La Gouvernance au service de la Performance & de la Compliance

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Mise en place de la composante technique d un SMSI Le Package RSSI Tools BOX

White Paper - Livre Blanc

Les Architectures Orientées Services (SOA)

UserLock Guide de Démarrage rapide. Version 8.5

Structuration des décisions de jurisprudence basée sur une ontologie juridique en langue arabe

Windows Server 2012 Administration avancée

Brève introduction à la recherche d!information sur le Web à base d!agents logiciels

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

REQUEA. v PD 20 mars Mouvements d arrivée / départ de personnels Description produit

IFT2255 : Génie logiciel

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

RTDS G3. Emmanuel Gaudin

Chapitre I Notions de base et outils de travail

Surveiller et contrôler vos applications à travers le Web

MISE EN PLACE D UNE ARCHITECTURE DE TYPE SOA POUR UN

Le programme d examens du Bureau canadien des conditions d admission en génie d Ingénieurs Canada englobe 19 domaines du génie.

Architecture distribuée

Notre Catalogue des Formations IT / 2015

Modélisation multi-agents - Agents réactifs

Christophe Le Page CIRAD - UPR Green

Gestionnaire de réseaux Linux et Windows

Business Process Execution Language

Alexandru V. Vlad RADIAN Solution Architect, Lead IT developer

Qui ont toujours à mon côté pour me soutenir et me guider au long de ce projet.

Patrons de Conception (Design Patterns)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

L apprentissage automatique

NFP111 Systèmes et Applications Réparties

Intégration de systèmes

RÉSULTAT DISCIPLINAIRE RÈGLE DE RÉUSSITE DISCIPLINAIRE Programme de formation de l école québécoise Secondaire - 1 er cycle

SQL Server, MySQL, Toad (client MySQL), PowerAMC (modélisation) Proxy SLIS

Bienvenue à l historien virtuel 2.0

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Master IAC Philippe Caillou DÉVELOPPEMENT DE SMA. Cours 1b

SOCLE COMMUN: LA CULTURE SCIENTIFIQUE ET TECHNOLOGIQUE. alain salvadori IA IPR Sciences de la vie et de la Terre ALAIN SALVADORI IA-IPR SVT

Conception d une plateforme multi agent pour la collecte de données dans une base de données distribuée

Sécurité & Authentification. Sécurité Authentification utilisateur Authentification applicative

Stage Ingénieur en développement logiciel/modélisation 3D

UE 8 Systèmes d information de gestion Le programme

Les apports de l informatique. Aux autres disciplines

Simplifier l intégration des systèmes RH et garantir une version unique des données de l employé. D

REPUBLIQUE TUNISIENNE MINISTERE DES TECHNOLOGIES DE LA COMMUNICATION

Transcription:

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

Rappels des cours précédents 1. Motivations: distribution 2. Origines 1. Tableaux Noirs 2. Acteur 3. Problématique: agent + organisation 4. Agents 1. Situés ou communicants 2. Cognitifs ou réactifs 5. Sociétés & Organisations 1. Modes d'organisation 2. Communication 3. Interaction et coopération 4. Allocation de Tâches 5. Coordination Joël Quinqueton 2

Développement centré agent Accélérer le développement et diminuer l effort de programmation 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 Joël Quinqueton 3

Programmation orientée-agent Tony Garneau & Sylvain Delisle Département de mathématiques et d informatique Université du Québec à Trois-Rivières

évaluation comparative d outils et 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 Joël Quinqueton 5

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 ). Joël Quinqueton 6

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. Joël Quinqueton 7

É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. Joël Quinqueton 8

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. Joël Quinqueton 9

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 Joël Quinqueton 10

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. Joël Quinqueton 11

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. Joël Quinqueton 12

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. Joël Quinqueton 13

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. Joël Quinqueton 14

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. Joël Quinqueton 15

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ë. Joël Quinqueton 16

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). Joël Quinqueton 17

AgentTool Joël Quinqueton 18

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. Joël Quinqueton 19

AgentBuilder Joël Quinqueton 20

DECAF Outils évalués 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». Joël Quinqueton 21

Decaf Joël Quinqueton 22

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). Joël Quinqueton 23

Jack Joël Quinqueton 24

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. Joël Quinqueton 25

Jade Joël Quinqueton 26

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. Joël Quinqueton 27

Jafmas/Jive Joël Quinqueton 28

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. Joël Quinqueton 29

MadKit Joël Quinqueton 30

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. Joël Quinqueton 31

Zeus Joël Quinqueton 32

É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. Joël Quinqueton 33

É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. Joël Quinqueton 34

É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. Joël Quinqueton 35

É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, Joël Quinqueton 36 Les deux outils sont très complexes et leurs apprentissages nécessitent beaucoup d efforts.

É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. Joël Quinqueton 37

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. Joël Quinqueton 38

Constats Conclusion 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. Joël Quinqueton 39