Groupe de travail GDR-PRC-I3 7.3: "systèmes multi-agents"
(y compris groupes COLLINE et ASA)
Procès verbal de la réunion des 8 et 9 octobre 1999 à Amiens
| Présents: |
Jean-Paul Barthès, Eric Batard, Philippe Biela Enberg, Carine
Bournez, Makram Bouzid, Thierry Capitaine, Jean-Christophe Casteran, Nathalie
Chaignaud, Vincent Chevrier, Hilton De Azevedo, Zahia Guessoum, Olivier
Gutknecht, Vincent Hialire, Nicolas Hutin, Ouiddad Labbani-Igbida, Charles
lenay, Philippe Mathieu, François-Régis Monclar, El Mustapha
Nouaddib, Jean-Pierre Müller, Michel Occello, Claude Pegard, Milton
Ramos, Jean-Christophe Routier, Sylvain Sauvage, Yann Secq (26 personnes) |
| Excusés: |
Caroline Wintergerst (et moralement, plein d'autres) |
Session conjointe ASA-Colline - 7/10 matin
Vers une spécification exécutable des SMA, Vincent Hilaire,
UTBM-LaRIS
Approche multi-formalisme en Object-Z (davantage pour l'aspect statique)
et Statecharts (aspect dynamique) des SMA. A partir d'un modèle
de description d'interactions, un modèle organisationnel de SMA
est construit.
Cette approche multi-formalisme se propose de réaliser une sorte
d'intégration syntaxique des aspects fonctionnels du système
(partie Object-Z du formalisme, avec la description des rles notamment)
avec les aspects "réactifs" (en fait, comportementaux, et pas réellement
réactifs au sens des agents réactifs) (partie StateCharts,
dont l'implémentation est relativement simple, compte tenu des outils
existants).
Représentation de l'environnement de robots mobiles avec méthode
distribuée de contextes,
N. Hutin, Amiens - CREA
Utilisation de (collectifs de) robots mobiles pour des missions cartographiques
d'un environnement (2D ?). A partir d'une liste d'états sensoriels
{a,b,c,d,...}
et d'instincts {1,2,3,4,...}, on codifie un historique sensori-moteur
du robot mobile sous la forme {a4, b2, g1,...} par exemple. De cet historique
sensori-moteur, peuvent se déduire des graphes "de transitions d'états
sensoriels". Cependant, les transitions pouvant se produire de plusieurs
manières différentes, il est nécessaire de conserver
des contextes (informations issues de l'historique sensori-moteur), comme
"a4b", "b2g", "b4g"... En pratique, les données
télémétriques permettent de construire ces contextes,
qui sont des cartes locales que l'on chevauche pour obtenir un résultat
de mission cartographique.
MAGIQUE (Multi-AGent hiérarchIQUE), J-Ch. Routier, LIFL-SMAC
(transparents)
Page web: <http://www.lifl.fr/MAGIQUE/>
Présentation d'une plate-forme multi-agents développée
en Java, permettant d'implanter des agents comme classes d'une structure
de communication hiérarchique. Un agent est défini comme
une entité autonome douée de compétences. On crée
un SMA sous la forme d'une hiérarchie (non figée, temporaire)
de manière à supporter la structure de communisation. Le
principe de base de ce système est la délégation (de
tches ?) par un superviseur à (aux) l'agent(s)compétent(s).
dans sa hiérarchie (inférieure). La création d'accointances
privilégiées au cours du fonctionnement du SMA remet en cause
la hiérarchie initiale (qui peut donc tre totalement aléatoire
?).
Sessions séparées Colline/ASA - 7/10 après-midi
Session COLLINE
Objectifs de la réunion Colline
-
Environnement - Organisation -> article autour de ces 2 termes
-
Conception, principes méthodologiques pour systèmes collectifs
émergentistes.
Résumé des notions abordées
La notion d'Environnement
-
Medium d'interactions
méthodologie organisation => rle/interactions, par langage
ou par environnement.
-
Articulation entre local/global : utilisation de l'environnement comme
mémoire (collective du SMA ou individuelle de chaque agent) / comme
medium d'inscription.
-
Contrainte(s), sur la dynamique des agents : limitation/contrle.
=> rle stabilisateur, pour la convergence du SMA vers un état
"stable". Notions d'entropie/dissipation d'énergie ?
-
Résultante d'une distinction passif/actif ou intentionnel/non-intentionnel.
i.e. d'un point de vue modélisation, ce qu'on met sous forme d'agents,
tout est agent ? ...
L'environnement est tout ce qui n'est pas agent ?
-
d'un point de vue global (celui du SMA) : séparation agent/non-agent
-
d'un point de vue local (celui de l'agent) : séparation intérieur/extérieur.
Suggestions et discussions ...
-
Rles de l'environnement, rle du langage
-
Structuration au niveau global
rle / interactions
compétences \ -> structures de groupes
pour/dans un rle \
agents groupes
Problèmes de variabilité des contraintes (prise en
compte plus rapide et sre par tous les agents si elle se trouve
dans l'environnement, dans le cas général d'une contrainte
globale).Problèmes d'adaptabilité à la variation des
contraintes.Que placer dans l'agent : le moins possible ? i.e. sa dynamique,
son comportement, ce qui assure son indépendance (?! : autonomie).
La notion d'organisation
-
Rles
-
Interactions
-
Environnement local pour ces interactions (=> contexte)
On ne peut pas comprendre une structure d'interaction (niveau macro)
si on n'a que les rles et les interactions entre rles sans
l'environnement. Le phénomène global (<=> organisation)
n'a de pertinence que dans l'environnement.
(lien environnement - organisation établi).
Au niveau méthodologique, le choix du niveau de description définit
l'environnement spécifique, dans lequel l'organisation sera la finalité
du système.
On peut voir l'organisation d'un SMA avec différents points de vue
:
-
comme but, cible, finalité du SMA, ("canalisation", grce
à des contraintes, d'un ensemble de rles/interactions).
-
comme ressource pour un SMA,
-
comme résultat de l'activité d'un SMA.
Organisation = invariant de la dynamique des changements structurels (par
rapport aux agents et à l'environnement) Problème d'expression
de cet invariant :
-
exprimer une finalité,
-
exprimer un état constant
-
un ensemble stable de conditions maintenues, ...
[Il existe des changements structurels dans les agents, il existe
des changements structurels dans le milieu, et il y a une certaine dynamique
de ces changements du fait de la dynamique entre agents/milieu. La définition
proposée fait correspondre l'organisation à l'invariant de
cette dynamique]
Méthodologie proposée
-
Poser l'objectif (éventuellement sous-objectifs)
-
Choisir le niveau de description (ce qui sera micro/macro)
-
... ce qui définit le niveau macro
-
Description l'(les) organisation(s)
-
finalité(s) (spécifique(s) à(aux) l'objectif(sous-objectifs)
-
invariants (-> environnement spécifique)
-
rles + interactions + environnement spécifique (contraintes)
-
Instanciation
-
agents
-
l'environnement comme medium d'interaction (l'étape précédente
a déjà permis de définir l'aspect spécifique).
-
dynamique des agents : couplages structurels
(Etape o se posent les problèmes de formalisme, modèle
opérationnels, plate-formes de développement, environnements
de développement, etc.)
-
Validation
Session conjointe ASA-Colline - 8/10 matin
Utilisation des patterns pour la conception et l'implantation de SMA, (transparents)
Sylvain Sauvage - GREYC Univ. Caen
Un pattern: une solution (partielle) à un problème contextuel.
Introduit en 1977 par l'architecte C. Alexander, de plus en plus utilisés
(~ années 90), concrétisation de l'expérience, aide
à la documentation.Définis classiquement comme un multiplet
(un nom, des exemples, un contexte, des problèmes ou solutions
classiques, des directives, conséquences et patterns assocéis).
On a différents types de patterns pour différents usages
(conception, implantation, analyse, ...)On peut avoir des patterns très
"bas", quasiment des idiomatismes de langage. Par exemple, le célèbre:
while(*dest++
= *orig++) de C/C++.
Comment trouve-t'on des patterns ?
-
Par opportunisme (impressions de déjà vu)
-
Par brainstorming d'experts
-
Par recherche dans le code préexistant
Framework ? Un framework est un ensemble de classes qui coopèrent
et interagissent. Ces classes aident à la conception et à
l'implantation dans une catégorie spécifique d'applications.
L'utilisation se fait par instanciation et dérivation. La structure
globale est prédéfinie et se déclinent en applications.
Framework = pattern + composants
Les patterns dans les SMA ?
Au niveau de l'organisation ?
Les notions de rles de schémas d'organisation, soit au
niveau de la conception (modèles organisationel) soit au niveau
de l'implantation (Aalaadin/MadKit).
Dans les agents eux-mmes ?
-
En réutilisant un modèle d'agent (purement ou par dérivation)
-
En ayant des modèles d'agent modulaire: ce sont les modules et la
façon dont eux-ci sont intégrés et "patternisables"
Les patterns dans l'environnement ?
L'espace dans lequel évoluent les agents peut tre de
différents types (2D, 3D, continu, discret, pavé triangles
carrés, hexagones). Chaque type d'espace suppose des moyens d'interaction
(organes sensori-moteurs) particuliers.
Des patterns dans les interactions ?
Chaque type de problème pose différentes contraintes
quant à la façon dont peuvent communiquer les agents.
Les organes de communication ainsi que les différents protocoles
sont hautement "patternisables" (modèles c/s, proxy, messageboxes)
La vraie question est comment les intégrer.
Les plateformes sont des frameworks. Elles sont donc trop directives,
trop rigides ou trop spécifiques pour permettre la généricité.
L'idée serait plutt de se diriger vers un AGL composé
de différentes bibliothèques:
-
de documentations, pour diriger le concepteur dans le choix des types d'agents,
d'espaces, de protocoles, d'organisation, etc.
-
des patterns, sous forme de schémas UML, permettant une génération
automatisée des patterns dans les sépcifications de l'application.
Que faire ?
-
A court terme: désigner des patterns spécifiques (AEIO)
-
A long terme: que les agents eux-mmes récupèrent des
patterns.
Reste à bien poser la question de la validité (implantatoire,
formalisatrice) des approches patterns.
Postulat de base: les approches agents vues comme des extensions
de l'objet, et donc les apports faits au niveau objet devraient pouvoir
tre utilisés avec intért au niveau Agent.
Comment trouver des patterns agents ? (opportunisme est-il applicable
? trop de langages de protocoles pas de structuration, recherche de code
est exclu) Qu'-est ce qu'un pattern au niveau agent (comportement ? interaction
? modèle de connaissance ?)
En environnement: patterniser à la fois l'environnement et
ses actions / perceptions applicables.
Méthodologie émergentiste de conception de systèmes
collectifs de robots, (transparents)
Ouiddad Labbani-Igbida
Le concept d'émergence suppose: un système d'entités
en interaction dont l'expression des états et de la dynamique s'effectue
à un niveau local, qui produit un phénomène à
un niveau global, et l'observation du phénomène (par un observateur
ou le système).
Système MIRMA (étude du fourragement collectif) est basé
sur une architecture comportementale adaptative (règles sensori-motrices
et vecteur de motivation / équation de conservation)
Phases de la méthodologie CIRTA. Basé sur notions de Structure/Organisation/Environnement
et émergence.
-
La structure est définie comme les propriétés et dynamiques
individuelles, les capacités et variété des interactions.
-
L'organisation est la configuration conservative des relations et
interactions du système
-
L'environnement est la dynamique structurelle indépendante, les
contraintes physiques et géométriques, la mémoire
collective, ...
La méthodologie émergentiste CIRTA se fait en 4 étapes
(descendante, puis ascendante)
-
Analyse du phénomène global pour en déterminer des
actions collectives globales
-
Spécification des patterns organisationnels, et formalisation des
actions collectives par des patterns spatio-temporels d'interactions.
-
Instanciation des propriétés de l'environnement, par sélection
des patterns et spécification des moyens de leur réalisation.
-
Validation d'occurrence du comportement collectif. Evalusation des conditions
de réalisabilité effective des patterns et comportement global
supposés.
Le phénomène global est vu comme une macro-organisation vers
lequel on voudrait voir tendre le système (dont mapping du phénomène
global en quelques états macro-organisationnels - attracteurs -
en actions collectives). Dans le fourragement, cela va tre l'identificaiton
collective, la localisation collective, le transport collectif. Le système
pouvant se trouver dans plusieurs attracteurs à la fois.
La spécification des patterns organisationnels tend à
dériver les propriétés locales de l'environnement
et des robots (structure).
L'instanciation de ces patterns tend à dérivfer un ensemble
des stimuli-réponses des robots (càd les paramètres
de la Structure) et spécifier concrètement les patterns d'interactions,
le tout sous des contraintes de simplicité et de contraintes technologiques.
La modélisation des dynamiques individuelles repose sur la définition
d'un vecteur dynamique des percepts d'un robot (processus markovien simple,
discret et homogène). Une hypothèse est faite sur l'homogénéité
des robots. On spécifie alors la matrice de passage (représentation
du graphe des transitions possibles entre les stimuli-signes). On a après
une évaluation de la matrice de passage par analyse récursive
des perceptions et actions, sous contraintes (géométriques
et stochastique). Sous conditions de forte connexité et non périodicité
du graphe de transition, on a convergence du comportement du robot.
Vers une méthodologie de conception de systèmes multi-agents
de résolution de problèmes par émergence, J.P.
Müller
Le contexte est la résolution de problème: quatre type d'approches
complémentaires
-
Orientées agents
-
Interactionnistes
-
Organisationnelles
-
Emergentistes
Besoin d'une méthodologie pour dériver les agents, les interactions
et l'environnement à partir de la donnée du problème,
et dans ce cadre, y-a-t'il un moyen systématique de parvenir
à la solution par émergence ?
Etant donné
-
Un espace de recherche E muni d'une structure de composants C et de lois
de compositions
-
Un sous-espace S de solutions admissibles donné en intension.
-
Eventuellement une fonction F: E -> R à optimiser.
On cherche évidemment un état e de S avec F(e) optimal. Peut-on
en dériver directement les agents ? Deux idées de méthodes
de résolution - restriction et réparation -.
Un phénomène est émergent si:
-
on a un système en interaction dont l'expression des états
et de la dynamique se fait dans une théorie D
-
une production d'un phénomène global par rapport au système
-
l'observation de ce système soit par un observateur soit par les
entités via un système d'inscription dans les termes d'une
nouvelle théorie D'
Une théorie de l'émergence serait une théorie D0 de
l'inscription et de l'interprétation faisant passer d'une théorie
D à une théorie D'. Emergence au sens fort: l'épiphénomène
est perçu par les entités elle-mmes (sens faible:
que par l'observateur).
Emergence et résolution, trois domaines:
-
Niveau global (D') de la résolution collective d'un problème
-
Niveau local (D) des interaction
-
Méthodologie (version 1): spécification de la résolution
au niveau D', dérivation des interactions et des agents au niveau
D, puis validation
L'idée est que l'état global d'un SMA en émergence
est un état dans l'espace de recherche.
Vers une méthodologie
-
Le résultat est une structure
-
Cette structure est une organisation de composants (spatiaux élémentaires,
logiques, spatio-temporels, ...)
-
Ces composants sont produits par interactions entre les agents
Etapes
-
Spécifier l'espace de recherche à parcourir et sa structure
-
Déterminer les composants variables de ces structures
-
Déterminer la dynamique permettant de parcourir l'ensemble des structure:
les inteactions
-
Déterminer les entités et leur dynamique dont l'interaction
vont produire ces composants: les agents
-
Déterminer les contraintes exogènes qui vont imposer une
structure plutt qu'une autre: l'environnement
-
Déterminer les processus de propagation des conséquences
des choix: la dynamique de l'environnement
-
Valider la conception expérimentalement ou théoriquement
Problème de l'extension au cas dynamique.
Est-ce que la structure est une organisation ou une interprétation
? Comment faire un SMA qui dessine un carré ? Quelles prioriétés
peut-on vouloir sur une "structure" ? Est-on capable de valider une conception
par rapport à un domaine de validité d'une structure ? Quelle
est la définition exacte d'une structure ?
Discussions - 8/10 après-midi
Compte-rendu AgentLink SIGmeth Barcelone,
Jean-Pierre
Müller - IIUN Neuchatel
Réunion groupée de plusieurs SIGs à Barcelon, avec
des dates légèrement décalées. Il y avait 4
des SIGs AgentLink: Agents
& Social Simulation, Information
Agents, Agents
& Telecommunicaitons applications, Methodologies
and Software Engineering for Agent Systems.
Le premier jour était consacré au document "roadmap".
Une remarque: la spécificité "SMA" ne ressort pas encore
suffisement (pas de démarquage). Trois sous-groupes définis
dans le SIGmeth.
-
Unified Software Engineering for Scalable High Performance Mobile Agents:
Approche un peu bottom-up, et en dégager des points de vue méthodologiques.
Coordinateur: Mario Kupries <mkupries@rz.uni-potsdam.de>
-
Relations between organisation modelling and agent behaviour requirement
specification. Coordinateur: Jan Treur <treur@cs.vu.nl>
-
Agent Design and UML: limites, apports et concepts de premier ordre
que l'on voudrait injecter dans UML pour faire de la modélisation
agent.
"From requirements to agent behavior"
Deux approches tentent d'tre unifiées dans cette collaboration
-
DESIRE
-
requirement engineering
-
informal -> formal requirements
-
compositionality: system/agent/components verification
-
Aalaadin
-
organizational description of MAS
-
role/interaction/group structure
-
pi-calculus specification (operational semantics)
L'approche est de partir d'un scénario existant (système
bancaire) et d'aller expliciter un scénario existant).
Choses à faire:
-
Etapes de la méthodologie
-
Lien à faire entre pi-calcul en sémantique opérationelle
et les formal requirements
-
currently model checking on scenarios
-
possibly model checking on the pi-calculus generated traces
-
Lien possible avec la modélisation organisationelle dans Common
KADS ?
Le groupe de travail "pragmatique" (Unified SE for Scalable High Performance
Mobile Agents)
Parmi les domaines d'intért:
-
Architecture de référence pour des classes de MAS
-
Bilbiothèques pour MAS (construction, évaluation)
-
Frameworks architecturaux
-
Stratégies et méthodologies
-
Modélisation de l'interaction comme brique de base
Discussion sur les méthodologies
Quel rle pour Colline/ASA ... c'est une question ouverte. C'est
venu d'une prise de conscience de l'aspect "chaud" des questions méthodologiques.
Parmi les possibilités ...
-
un who's who (qui fait quoi dans quelle domaine de la méthodologie
? visibilité des complémentarités, ...)
-
un article commun ou un dossier pour les cahiers de l'AFIA
-
un article de synthèse plus fouillé pour une conférence
Un petit compte-rendu du point de vue "méthodologie" du groupe Colline.
Les étapes d'analyse et de choix de stratégie implantatoires
devraient peut-tre tre précisées.
Questions de méthodes d'analyse, méthodes de conception.
Problème de concrétisation des problèmes. Il faut
garder la richesse des différentes analyses possibles (un "patchwork"
de modèles).
Relation avec le groupe ASA: études de plateformes, architectures,
et méthodologies associées aux plateformes. Mise en
place d'un catalogue d'exemple (bien qu'assez spécifique à
une certaine conception de l'agent). Question de l'échange de cas
d'exemples entre ASA et Colline.
Problème de la spécificité d'une méthode
SMA par rapport au génie logiciel classique et des concepts primitifs
qui peuvent permettre de simplifier l'expression des problèmes.
Les méthodologies SMA peuvent et doivent pouvoir s'enrichir du contact
avec d'autres domaines (ethno-méthodologie, modèles sociaux,
sciences du langage, ...)
Notes: C.Bournez
(jeudi) - Ol.Gutknecht (vendredi)