E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Systèmes multi-agents pour les interactions Intelligentes
Méthodes et modèles pour les interactions intelligentes
Master Recherche AISIHM
E. ADAM
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Plan
● Architectures d'applications graphiques
● Programmation Orientée Agent– Définition des agents, des systèmes multi-agents
d'information
● Méthodes Orientées Agent– Méthode MAMOSACO, exemple de conception de
SMA pour la veille technologique
● Outils de l'IA pour l'apprentissage des données utilisateurs et leurs classifications automatiques
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Architectures d'applications graphiques
● Le modèle langage● Le modèle SEEHEIM
● Le modèle Entrées-Sorties
● Le modèle ARCH
● Le modèle Agents● Le modèle PAC, PAC-AMODEUS, MVC
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle SEEHEIM
Architectures d'applications graphiques
Gestion présentation
Contrôle dialogue
Interface avec l'application
Application
Niveau Sémantique de l'interactionpour une indépendance IHM-ApplicationNiveau Syntaxique : contrôle de l'enchaînement des états/actions
Niveau Lexical : représentation physique des objets et prise en compte des actions
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle Entrées-Sorties
● Vue en couches : – Interaction = suite d’opérations d’entrée/sortie.– opérations traitées par hiérarchie de machines abstraites– au plus bas niveau :
● interception de l’action de l’utilisateur, ● transformée pour être passée à la machine de niveau
supérieur , .....– au sommet de la hiérarchie, l'action est interprétable par
l’application. – Les concepts de l’application descendront la hiérarchie
des machines abstraites jusqu’à la machine physique. – une machine de niveau i peut communiquer directement
avec l’application
Architectures d'applications graphiques
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle Entrées-Sorties
● Vue en couches : Exemple
Architectures d'applications graphiques
Application
Machine 1
Machine 2
Machine 4
Machine 3
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle Entrées-Sorties● Vue modulaire :
– pilotes = E/S niveau physique
– Serveur = gère ressources, indépendant matériel, dépendant média
– Serveur d'images abstraites = non dépendant média
– Serveur de dialogue = dialogue abstrait entre client et utilisateur, indépendant matériel & média, dépendant concepts client (application)
– Application = serveur de concepts, interface indépendante concept client. Ex gestionnaire de thèmes
Architectures d'applications graphiques
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle ARCH
Architectures d'applications graphiques
Noyau Fonctionnel
Adaptateur de Domaine
Contrôleur de Dialogue
Présentation
Composant d'interaction
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Les modèles agents IHM : PAC● Le modèle PAC (Présentation, Abstraction, Contrôle,
[COUTAZ 88]), basé sur trois types d'agents
● Chaque agent élémentaire de ce modèle est constitué :– d'une image, Présentation perceptibles avec E/S– D'un noyau fonctionnel (Abstraction),– d'un Contrôle de la communication entre l'Abstraction et
la Présentation, et avec les autres agent PAC.
● Les agents PAC sont organisés hiérarchiquement.
● La structure d'une IHM PAC est récursive...
Architectures d'applications graphiques
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Les modèles agents IHM : PAC
P
P P
PPP
A
A
AA
A
A
C
C C
C CC
Architectures d'applications graphiques
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle PAC-AMODEUS
● Sur base du modèle ARCH,● Le contrôleur de dialogue est constitué
d'agents PAC pour traitements parallèles
Architectures d'applications graphiques
Noyau Fonctionnel
Adaptateur de Domaine
Contrôleur de Dialogue
Présentation
Composant d'interaction
Objets du domaine
Objets conceptuels Objets de présentation
Objets d'interaction
CA P
CA P
CA P
CA P
CA P
CA P
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Les modèles agents IHM : MVC
● Le Modèle MVC (Smalltalk [GOLDBERG 84]), est basé sur trois types d'agents :– Le modèle : définit les fonctionnalités propres au
domaine.– Les vues : présentées à l'utilisateur.
Représentations du modèle.– Le contrôleur : gère les entrées de l'utilisateur en
communicant avec le modèle ou les vues. ● Communication par envoi de messages● Chaque objet graphique peut être défini par des
agents MVC● Principes utilisés en Java, JSP (appli web), ...
Architectures d'applications graphiques
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Les modèles agents IHM : MVC
Architectures d'applications graphiques
90
fenêtre
camembert
chaîne
min = 0max = 360val = 90
VC
M VC
M VC
M
Contrôle
Modèle
VuesVuesVuesVues
Actions utilisateur
Actions sur vues
États des vues
Action sur m
odèle
Mise à jour
de la vue
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Les modèles agents IHM : MVC
● Java et MVC– Java propose un ensemble de classes
regroupées dans la JFC (Java Foundation Classes)
– Dans la JFC, la vue et le contrôle sont regroupés
Architectures d'applications graphiques
http://www.javaworld.com/javaworld/jw-04-1998/jw-04-howto.html
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle n-tiers
Architectures d'applications graphiques
● Applications réparties– Interfaces– Application / Applicatifs– Bases de données
● Utilisé en application web : workflow, e-commerce, ...
Serveur d'applications
Application 1
Application 2 Données
Servlet, jsp, asp, .net, ...
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle n-tiers
Architectures d'applications graphiques
● Des scripts à MVC2...
Serveur d'applications
Script 1
DonnéesScript 2
Script 3
Scripts php, asp, jsp
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle n-tiers
Architectures d'applications graphiques
● Des scripts à MVC2...
Serveur d'applications
Controleur 1
Données
C2
Vue 1
ModèleV2
C3
V3
MVC
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Le modèle n-tiers
Architectures d'applications graphiques
● Des scripts à MVC2...
Serveur d'applications
Controleur
Vue 1
V2
V3
Modèle Données
MVC2
E. ADAM – LAMIH UMR CNRS 8530 - UVHC
Les modèles des SMA● SMA = Systèmes Multi-Agents
– Agents Intelligents (communiquant, ...) et non simples objets comme PAC, MVC, ...
– Agents d'Interface,– Agents de Profil,– Agents d'Information– Agents Coordinateurs– ...
Architectures d'applications graphiques
agentsd'interfaces
agentscoordinateurs
agentsinformations sources externesutilisateurs
système multi-agentinformation
base de données
internet
base de données
interrogation
insertion /modification
d'uneinformation
E. ADAM - LAMIH - UVHC
La Programmation Orientée Agent
E.ADAM
Sommaire
• Rappels sur les agents, les systèmes multi-agents
• Agents vs Objets• Les agents réactifs• Les plateformes• La modélisation de systèmes multi-agents
Rappels sur les agents, les systèmes multi-agents
Définition d’un agent
[Gasser 89], [Demazeau 95], [Ferber 95], [Nwana 96], [Chaib-Draa 96], ...
• Un agent est une entité adaptative, rationnelle, autonome, capable de communication et d’action.
Rappels sur les agents, les systèmes multi-agents
Définition d’un agent
• Agent– autonome
• agir
– perception
– adaptatif• apprendre• modifier le comportement
– coopérant• communiquer
• négocier
monde
SMA
environnement du SMA
Rappels sur les agents, les systèmes multi-agents
(BDI / Belief Desire Intention)
Structure d’un agent
Grille d’analyse fonctionnelle [Ferber 95]
Personnel Environnemental Social Relationnel Physique
Représentationnel
Organisationnel
Conative
Interactionnel
Productif
Conservatif, reproducteur
Connaissances
Planification
But, désirs, contraintes
Perception, coopération
Action
Conservation, protection
Rappels sur les agents, les systèmes multi-agents
Une définition formelle des SMA
• Un environnement multi-agent est un tuple défini par : EMA ={E, A, Π, ∆} où :– A = {α1, …, αn} est l’ensemble des agents avec
• αi le tuple défini par {Si, Pi, Ai, Φi} où
– Si est l’ensemble des états possibles de l’agent αi
– Pi est l’ensemble des perceptions
– Ai est l’ensemble des actions (sur l’environnement)
– Φi : Si x Pi Si x Ai est la fonction de prise de décision
– E est l’ensemble des états d’environnement
– Π : E (P1 x … x Pn) est une fonction de perception
– ∆ : E x (A1 x … x An) E est une fonction de modification de l’environnement
Rappels sur les agents, les systèmes multi-agents
Agents vs Objets
Agents vs Objets (1/2)
• Un agent est il un objet ?
– Un agent est un objet qui est adaptatif, rationnel, autonome, capable de communication et d’action.
– Un agent logiciel est de préférence créé sous forme d'un objet ayant les caractéristiques d'un processus
– D'un ensemble d'agents émergent des fonctionnalités / comportements...
Rappels sur les agents, les systèmes multi-agents
Agents vs Objets (2/2)
• Un objet o1 ne peut qu'appeler une méthode existante d'un objet o2 qui doit l'exécuter
• Un agent a1 peut demander l'exécution d'une méthode à l'agent a2 qui ne la connaît pas ou qu'il ne souhaite pas exécuter (dans l'instant ou jamais!)
Rappels sur les agents, les systèmes multi-agents
Différents types d'agents
Rappels sur les agents, les systèmes multi-agents
autonomie
coopération adaptativité
agent collaborant
agent information
agent interface
agent intelligent
Cas particuliers : les agents réactifs
agent interface
agent conversationnel [Martin, Sansonnet, AMI – LIMSI-CHM, Paris XI]
Possibilité d'utiliser différents types d'agents
• Exemple : la recherche d'informations
• A CIASTEWA : Cooperative Information Agent System for Technological Watch
Rappels sur les agents, les systèmes multi-agents
InformationAgent
InformationAgent
InformationAgent
Interface Agent
Information Responsible
Agent
CoordinatorAgent
Queries
ResultsUser
Group
Queries
Results
Key words
Communication entre agents
• ACL : Agent Communication Language
Rappels sur les agents, les systèmes multi-agents
Communications entre agents (1/3)
• Nécessité de posséder un langage commun entre agents
• ACL : Agent Communication Languages– KIF : Knowledge Interchange Format
• Langage formel de dialogue interne
– KQML : Knowledge Query Meta Language
– FIPA ACL : extension de KQML
Communications entre agents (2/3)
• Un message en FIPA ACL peut être constitué des champs :– performative : type de l’acte communicatif– sender : émetteur du message– receiver : destinataire(s) du message– reply-to : destinataire de la réponse au message– content : contenu du message– language : type de langage utilisé– encoding : type de codage du message– ontology : ontologie sur laquelle est basée le message– protocol : type de protocole utilisé– conversation-id : identifiant de la conversation– reply-with : type de réponse souhaitée– in-reply-to : nom de la requête– reply-by : type de réponse
Communications entre agents (3/3)
• Liste de performatifs de FIPA ACL : – Accept Proposal, Agree, Cancel, Call for Proposal, Confirm,
Disconfirm, Failure, Inform, Inform If, Inform Ref, Not Understood, Propagate, Propose, Proxy, Query If, Query Ref, Refuse, Reject Proposal, Request, Request When, Request Whenever, Subscribe
• Exemple de message en FIPA ACL :– Agent i confirme à agent j qu’il est vrai qu’il neige aujourd’hui. (confirm
:sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content
"weather (today, snowing)" :language Prolog
)
La Plateforme JADE : Protocoles de communication 1/2
• Problème de communication entre agents : – Un agent peut choisir d'ignorer des messages
==> nécessité de protocoles de dialogues
• Jade (entres autres plateformes) propose les protocoles : – AchieveRE (Achieve Rational Effect) :
• un Initiateur envoie un message, le receveur peut répondre par not-understood, refuse ou agree. Suite à l'accord (agree), le receveur retourne un message de type inform (réponse) ou failure.
– FIPA - Contract NET• Un initiateur sollicite d'autres agents par un CFP, les receveurs peuvent
répondre par une proposition (PROPOSE), ou un message de type REFUSE ou NOT-UNDERSTOOD. L'émetteur choisit parmi toutes les propositions reçus et envoie un message de type ACCEPT_PROPOSAL au candidat retenu. Ce dernier retourne un message de type INFORM (accord), FAILURE ou CANCEL (annulation de l'offre)
La Plateforme JADE : Protocoles de communication 2/2
• autres protocoles : – FIPA – Propose :
• un Initiateur envoie un message à un Participant lui indiquant qu'il effectuera une action si le Participant est d'accord (agree). Le Participant répond par un refus ou un accord. Lorsque l'accord est reçu, l'Initiateur doit effectuer l'action et retourner un résultat
– FIPA - Subscribe• Un Initiateur envoie un message à un Participant lui demande s'il souhaite
souscrire (subscribe). Le participant répond par un accord (agree) ou un refus (refuse). En cas d'accord, le Participant envoie les informations répondant à la souscription jusqu'à ce que l'Initiateur annule la souscription ou que le Participant émette un message de type failure.
Organisations Multi-Agents
[Le Strugeon 95], [Mandiau 99]
Structure hiérarchique[Ito 98], [Odubiyi 97], ...
ordres
Structure de marché[Bensaid 97], ...
appeld'offres offres
Structure de société[Soulié 98], ...
objectifs
ajustementsajustements
Structure de communauté[Minar 98], ...
Rappels sur les agents, les systèmes multi-agents
Organisation Multi-Agent Holonique
communication d'objectifs
stabilité
équilibre autonomie-coopération
cognitif
réactif
Rappels sur les agents, les systèmes multi-agents
La récursivité des OMAH (1)
• Chaque holon du système possède les mêmes caractéristiques que l ’ensemble et possède une spécialité
gérer des données
4 holons de bas niveau
interagir avec l ’utilisateur
recevoir des donnéesenvoyer des données
1 responsable du systèmeplanifier ses actions
Rappels sur les agents, les systèmes multi-agents
Système Multi-Agent d'Information (IMAS)Système Multi-Agent d'Information (IMAS)
Information Multi-Agent System
Users
querying
Insert/modify an information
Coordinator agents
Information agents
Interface agents
External sources
Data base
Internet
Data base
Les plateformes multi-agents
E.ADAM
Les plateformes multi-agents
• Nombreuses plateformes apparues ces dernières années
• Très indépendantes et hétérogènes
FIPA ( Foundation for Intelligent Physical Agents ) fournit une spécification générale– But : faire interagir différentes plateformes, …
Les plateformes multi-agents
• Quelques plateformes francophones :– CORMAS [Bakam, Bousquet, Le Page, Proton]
– DIMA [Guessoum, Briot, Ramdani]
– GEAMAS [Calderoni, Courdier, Vally]
– MAGIQUE [Mathieu, Bensaid, Routier]
– MADKIT [Ferber]
– MASK [Occello, Baeijs, Koning, Demazeau]
– MOCAH [Abchiche]
– OSACA [Barthès]
– ADELFE [Gleizes]
• Plateformes connues : JADE, ZEUS, JACK
Les plateformes multi-agents
• CORMAS [Bakam, Bousquet, Le Page, Proton]– Coomon-Pool Resources and Multi-Agent System– CIRAD (institut de recherche en agronomie)– Pour modéliser la gestion des ressources renouvelables– Plateforme téléchargeable (http://cormas.cirad.fr)– Basé sur VisualWorks (descendant de SmallTalk)– Plusieurs applications sur la simulation de sociétés d’agents
exploitant une ressource pouvant être dynamique et simulée par un SMA
– L’espace est un automate cellulaire– 2 types d’agents : spatialisés et communicants– Maximum de 5000 agents réactifs
Les plateformes multi-agents
• DIMA [Guessoum, Briot, Ramdani]– Développement et Implémentation de Systèmes Multi-Agents– LIP6 (Paris 6), LERI (Reims)– Pour simulations, résolutions de problèmes, systèmes de contrôles
avec contraintes de temps réels– Plateforme évolutive– Basé sur Smalltalk puis Java– Plusieurs applications sur la ventilation artificielle, simulation de
modèles économiques– Découpe un agent en module de perception, de délibération et de
communication– Notion de méta-comportement– 3 types d’agents : réactifs, cognitifs, hybrides
Les plateformes multi-agents
• GEAMAS [Calderoni, Courdier, Vally]– Mas, La Réunion– Pour modélisation et simulation en Java– Plateforme évolutive en java– Plusieurs applications sur la modélisation des phénomènes sismiques
et volcaniques, gestion de déchets, étude de la ressource pélagique (dans l’environnement océanique)
– Micro noyau générique auquel peuvent être couplées des extensions (apprentissage, auto-organisation, …)
– Environnement tient la place centrale , seul moyen de communication– agents de réactifs à ‘fortement cognitifs’
Les plateformes multi-agents
• MASK [Occello, Baeijs, Koning, Demazeau]– MultiAgent System Kernel– MAGMA (LEIBNIZ), Grenoble– fournir des bibliothèques d'agents (A), de manipulation
d'environnement (E), d'interaction (I) et d'organisation(O) ainsi que les outils d'aide a la programmation.
– Librairies Tcl/Tk, C, C++, Java– agents cognitifs
Les plateformes multi-agents
• MOCAH [Abchiche] : coopération entre plusieurs modèles de raisonnement hétérogènes pour la résolution d’un problème commun
• OSACA [Barthès] : UTC (Compiègne), Open System for Asynchronous Cognitive Agents, réalisation de sma avec peu d’agents cognitifs complexes
• ADELFE [Gleizes] : SMAC (Toulouse III), Atelier de Développement de Logiciels à Fonctionnalité Emergente
Les plateformes multi-agents
• MADKIT (Lirmm – Montpellier) : – Gutknecht, Ferber– Plateforme orientée organisation pour le développement
et l’exécution de SMA – Plateforme également orientée simulation d’automates
cellulaires• MAGIQUE (SMAC – LIFL – LILLE 1)
– Mathieu, Routier– MultiAGent hiérarchIQUE– Pour la conception de SMA hiérarchiques– Propose une librairie de classes Java pour la réalisation d’agents
Autres plateformes : JADE, AGENT, ZEUS, …
Les plateformes multi-agents
• JADE (Telecom Italia Lab)– Java Agent DEvelopment Framework– ensemble de services système et agents conforment aux
caractéristiques de FIPA: • service de nommage• service de pages jaunes• transport de messages• service d’analyse• bibliothèque des protocoles d'interaction de FIPA
– Les agents sont des coquilles auxquelles il faut ajouter des comportements implémentant des services/fonctionnalités
– Les communications utilisent le standard ACL– Possibilité de communications entre plateformes JADE
Méthodes Orientées Agents
[Picard, 04]
• OO : ingénierie objet KE : ingénierie des connaissances
• RE : ingénierie des besoins P : orientée plate-forme
Méthodes Orientées Agents
• AAII : Australian Artificial Intelligence Institute Methodology, gestion du trafic aérien [Kinny et al., 1996].
• Aalaadin : cadre de développement de systèmes multi-agents, modèle AGR (Agent Groupe Rôle) [Ferber]
• Cassiopée : issue de la simulation multi-agent inspirée de l’éthologie [Collinot et Drogoul]
• Gaia : extension des approches d’ingénierie logicielle classique, [Wooldridge], (rôle, interaction, agent, services, organisation, environnement)
• MaSE : approche complète de développement de systèmes multi-agents, basé sur les rôles, [Deloach]
• MASSIVE : Multi Agent SystemS Iterative View Engineering, basé sur les besoins, concept de vues [Lind].
• PASSI : Process for Agent Societies Specification and Implementation, OO et IA, UML [Cossentino],
Méthodes Orientées Agents
• Prometheus : méthode complète pour des agents BDI [Padgham et Winikoff]
• TROPOS : basée sur les concepts utilisés en ingénierie des besoins, notation i* et A-UML, [Castro]
• Voyelles : vue d’un système suivant les dimensions Agent, Environnement, Interaction et Organisation [Boissier et Demazeau]
• MAMOSACO : méthode issue de l'étude des organisations administratives, [Adam]
Modélisation de SMA : MAMOSACO
• MAMOSACO (Méthode Adaptable de MOdélisation de Systèmes Administratifs COmplexes) [ADAM 2000],
• Méthode développée pour la modélisation de flux discrets entre acteurs d’une organisation humaine.
– 2 étapes : • identification et description des différents rôles
• Modélisation des actions coopératives
Modélisation de SMA : MAMOSACO Exemple d’identification de rôles
Personnel Environnemental Social
Organisationnel
Interactionnel
Productif
Conservatif
Planifie les actions des subordonnés
Communique avec son voisinage
Spécialité
Veille sur les subordonnés et le responsable
Planifie les actions selon les documents et l ’utilisateur
Interagit avec le réseau, le poste,l’utilisateur
Analyse l ’état du poste de travail et du réseau local
Demande la sauvegarde de docs et la restauration
Contrôle les planifications
« Apprend »
Déféré au responsable ou aux subordonnés
Représentationnel Représentation de soiReprésentation de la procédure, de l ’acteur
Représentation du voisinage
Modélisation de SMA : MAMOSACOLes modèles
• MAMOSACO peut nécessiter 4 modèles :– Un modèle des données– Un modèles des flux de données– Un modèle des traitements– Un modèle dynamique
Modélisation de SMA : MAMOSACOExemple de modèle des données
- planifier- recevoir- emettre- agir- surveiller
- C_String identifiant- Boolean libre, interruptible- C_RepHolon *responsable- C_RepHolon *voisins- C_RepHolon *subordonnés- C_Procedure*procedure_entière- C_Procedure*procedure_etat_actuel- C_Acteur *acteur- C_Poste *poste
Classe HolonC_Holon
- C_String identifiant- C_String addresse_IP- C_String addresse_acteur- Integer nb_alertes
Classe Représentation d'un HolonC_RepHolon
- C_String nom- C_RdP* regles
Classe ProcédureC_Procedure
- C_String nom- C_String rôle- Boolean libre, intterruptible- C_Date temps_inacessibilité
Classe ActeurC_Acteur
- C_String adresse_IP- Integer mémoire- Integer espace_disque- Files *liste_fichiers_nécessaires
Classe Poste de TravailC_Poste
Responsable leprocédureResp.Proc
Responsable deposte
Resp.Poste
ExécutantExécutant
ExécutantResponsable Interface
UtilisateurExec.Int.
ExécutantResponsable Gestion
de DocumentsExec.Docs.
ExécutantResponsable
RéceptionExec.Recept.
ExécutantResponsable
EmissionExec.Emis.
Modélisation de SMA : MAMOSACOExemple de modèle de flux de données
afficher le résultat
afficher le résultat
afficher le résultat
sélectionner,annoter,
transmettre
trier, modifier lescommentaires
sélectionner,annoter,
transmettre
L'info est annotée à l'aide demots clés prédéfinis
avant d'être transmise,(lien avec les catégories de CI-
MASTER)
éventuellement, ajout/retrait depoints aux moteurs apportant les
informations gardées
intégrer dans CI-Master
(Infos)marquées
(Infos)marquées
(Infos)marquées
(Infos)sélectionnées
(Infos)sélectionnées
(Infos)annotées
télécharger deslistes d'adresses
télécharger deslistes d'adresses
télécharger deslistes d'adresses
Internet,Intranet,BdD (Oracle, ...)
filtrer selon règles
filtrer selon règles
filtrer selon règles
comparer résultat
comparer résultat
comparer résultat
(Blocs d'infos)
(Blocs d'infos)
(Blocs d'infos)
(Infos)
(Infos)
(Infos)
(Infos)marquées
(Infos)marquées
(Infos)marquées
élaguer la liste,écraser result.ini
extraction et sauvegarde dansresult.ini
passer le fichier enattachement par outlook
recherche avec union des troischamps dans mots possibles
recalculer la pertinence !!!
pour chaque adresse,vérifier si le texte
correspond aux règles
échanger les listesdiminuées se trouvant
dans le result.ini
Gestionnaire
Responsable
Utilisateur B
Utilisateur C
AgentResponsable
Agent B
Agent C
recherche & téléchargement 2nd tri confrontation des téléchargements distribution filtre insertion dans CIMaster
Gestionnaire
Responsable
Utilisateur B
Utilisateur C
AgentResponsable
Agent B
Agent C
Modélisation de SMA : MAMOSACOExemple de modèle de traitements
ask for adocument D
(demand of D document)
user
A
stat
ion
resp
osib
le A
inte
rfac
ere
spon
sibl
efo
r sta
tion
A
rece
ptio
nre
spon
sibl
efo
r sta
tion
A
emis
sion
resp
onsi
ble
for s
tatio
n A
data
resp
onsi
ble
for s
tatio
n A
forward thedemand
search D inlocal
if(doesn't exist) (exists)
display D
(path to D doc)
search in theneighbouringwho have D
search in itsrepresentation of the
procedure
if(D is in station B) (D is unknow)(demand access to B station) (forward demand to the
process responsible)
AA A A Ainterfacereceptionemissiondata
management
(demand of D document)
(demand of D document)
Modélisation de SMA : MAMOSACOExemple de modèle dynamique
Les étapes de l’atelier
1 2 3
4
5
6
Page de présentation Fiche descriptive Modèle des données
Modèle dynamique
Modèle des traitements
Modèle de flux de données
• Système d’Agent d’Informations pour la Veille Système d’Agent d’Informations pour la Veille COopérative (SAIVCO)COopérative (SAIVCO)
• Pourquoi ? – Veille technologique de plus en plus importante– Permettre à un groupe d’acteurs de rechercher de l’information,
sans redondance du traitement de l’information
• Comment ? – Associer un système multi-agents à chaque acteur de la cellule de veille
Application à une cellule de veille technologique Application à une cellule de veille technologique (problématique)(problématique)
Application à une cellule de veille technologique Application à une cellule de veille technologique (problématique)(problématique)
Cellule de veille
Aide externe
Base de données
Application à une cellule de veille technologique Application à une cellule de veille technologique (analyse)(analyse)
Acteurs
Analyse
Modélisation
Données
Activité
[Broudoux 99][Broudoux 99]
Démarche participative à Démarche participative à l’intégration d’agents très l’intégration d’agents très appréciéeappréciée
[Szabo 00][Szabo 00]
Traitement
Spécification
Application à une cellule de veille technologique Application à une cellule de veille technologique (modélisation)(modélisation)
Gestionnaire
télécharger selonprofil
télécharger selonprofil
télécharger selonprofil
Internet,Intranet,BdD (Oracle, ...)
filtrer selon règles
filtrer selon règles
filtrer selon règles
comparer résultat
comparer résultat
comparer résultat
afficher le résultat
afficher le résultat
afficher le résultat
Distribution
sélectionner,annoter,
transmettre
trier, modifier lescommentaires
sélectionner,annoter,
transmettre
filtrage
Responsable
Utilisateur B
Utilisateur C
AgentResponsable
Agent B
Agent C
intégrer dans CI-Master
Recherche large etTéléchargement
(Bloc d'infos)
(Bloc d'infos)
(Bloc d'infos)
(Infos)
(Infos)
(Infos)
Recherchefine en local etcomparaison
(Infos)marquées
(Infos)marquées
(Infos)marquées
(Infos)marquées
(Infos)marquées
(Infos)marquées
(Infos)sélectionnées
(Infos)sélectionnées
(Infos)annotées
Gestionnaire
Responsable
Utilisateur B
Utilisateur C
AgentResponsable
AgentB
AgentC
1 2 3
4
5
RequestAgent
RequestAgent
Interface Agent
Queries
ResultsUser
Information Responsible
Agent
Group
Queries
ResultsCoordinator
Agent
Search engineAgent
Search engineAgent
Search engineAgent
Search engineAgent
Search engineAgent
long-lived agent
ephemeral agent
communication link
Application à une cellule de veille technologique (spécification d’un SAICO)
SAICO : Système d’Agents d’Information COopératifs
SAIVCO
: communication links between SAICO
IRA
IA IA IA
IRA
IAIAIA
IRA
IAIAIA
IA: Information Agent
IRA: Information Responsible Agent
communication links between SAICO agents
ItA ItA
ItA
ItA: Interface Agent
Internet
Application à une cellule de veille technologique (spécification)
CACA
CACA: Coordinator Agent
Social Environmental Personal
Representational Knows the information search agent, interface agent et all the others coordinator agents.
Knows the requests and results of the user, the keywords the requests and the results of the group.
Knows its name, capacity to reorganise itself.
Organisational Watches over the co-ordination of actions of the group of agents of CIASTEWA.
Manages the databases of the user and the group.
Checks that the request doesn’t exist.
Interactional Is the superior of interface agent and information search agent.
Interacts with coordinator agents of the CIASTEWA. Ø
Productive Feeds databases with results providing by information agents.
Sends requests and results to coordinator agents of CIASTEWA.
Modifications of knowledge, of its role.
Regeneration Checks if its contacts (coordinator agents) are active…
Requests (databases of the user and the group).
Refers to its contacts.
The coordinator agent
FunctionsDimensions
Application à une cellule de veille technologique Application à une cellule de veille technologique (spécification des rôles)(spécification des rôles)
Spécification individuelle de chaque rôle
Application à une cellule de veille technologique (spécification des interactions)
Indication des autres acteurs ayant reçu l’information
Application à une cellule de veille technologique (interface)
Identifier les groupes d’acteursIdentifier les groupes d’acteurs
Objectif : identifier les groupes d’acteurs ayant les mêmes centres d’intérêts
Réorganisation selon la distance d’intérêt -> algorithme d'apprentissage et de classification (réseaux de Kohonen dans cet exemple)