ING NIERIE LOGICIELLE
ORIENT E AGENT
ORIENT E AGENT
Faten BEN HMIDA
Cours II3 - ILSI
Universit de La Manouba ENSI 2015/2016
3
3
Le Standard FIPA
Le Standard FIPA
FIPA Introduction
2
(cid:1) FIPA : Foundation for Intelligent Physical Agents
www.fipa.org
(cid:1) Mission : Produire des normes et des sp cifications standards
pour les agents h t rog nes en interaction et les syst mes
base dagents.
(cid:1) Historique :
(cid:2)
fond e en 1996 en Suisse
(cid:2) 11 me comit de standardisation IEEE Computer Society depuis
2005
FIPA Introduction
3
(cid:1) Objectif : Promouvoir la technologie orient e-agent et assurer
sa r utilisation et son interop rabilit avec dautres
sa r utilisation et son interop rabilit avec dautres
technologies.
(cid:1) D finition dun ensemble complet de normes et de
sp cifications standards pour :
(cid:2)
(cid:2)
La mise en Suvre de syst mes dans lesquels les agents peuvent
sex cuter (plates-formes agents)
sex cuter (plates-formes agents)
La pr cision de la mani re dont les agents devraient communiquer
et interagir (langage de communication et protocoles dinteraction
entre agents)
FIPA Cat gories de sp cifications
4
(cid:1) Les sp cifications FIPA repr sentent des collections de
standards rassembl es en 5 cat gories :
standards rassembl es en 5 cat gories :
Applications
Architecture abstraite
Gestion des
Gestion des
agents
Communication
Communication
entre agents
Transport des
Transport des
messages
(cid:1) La cat gorie communication entre agents est la cat gorie de
base au cSur du mod le FIPA des syst mes multi-agents.
Sp cifications FIPA Applications
5
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
(cid:1) Exemples de domaines dapplication dans lesquels les agents
(cid:1) Exemples de domaines dapplication dans lesquels les agents
peuvent tre d ploy s conform ment aux normes FIPA.
Sp cifications FIPA Applications
6
(cid:1) Pour chaque domaine, FIPA d finit :
(cid:2) une ontologie
(cid:2) des descriptions dagents et de services li s lapplication.
(cid:1) Exemples : applications nomades, gestion des r seaux,
assistance personnelle de voyage, divertissement audio-visuel,
etc.
(cid:1) Sp cifications compl tes disponibles dans :
http://www.fipa.org/repository/applicationspecs.html
Sp cifications FIPA Architecture abstraite
7
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
(cid:1) Identification des entit s architecturales abstraites requises
pour construire un environnement orient -agent.
pour construire un environnement orient -agent.
(cid:1) El ments minimaux n cessaires :
(cid:2) Annuaire dagents / Annuaire de services
(cid:2)
Langage de communication
Syst me de transport des messages
(cid:2)
Sp cifications FIPA Architecture abstraite
8
(cid:1) Larchitecture abstraite FIPA peut se d cliner en plusieurs
impl mentations physiques possibles.
impl mentations physiques possibles.
(cid:1) Exemples :
(cid:2) Annuaires dagents/de services : X.500, LDAP, &
(cid:2) Transport des messages : IIOP, SMTP, HTTP, JMS, &
Sp cifications FIPA Gestion des agents
9
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
(cid:1) Fournir le cadre normatif de la structure permettant lexistence
(cid:1) Fournir le cadre normatif de la structure permettant lexistence
et le fonctionnement des agents.
(cid:1) Etablir le mod le de r f rence logique pour la cr ation,
lenregistrement, la localisation, la communication, la migration
et le retrait dagents.
Sp cifications FIPA Gestion des agents
10
Sp cifications FIPA Gestion des agents
11
(cid:1) Les entit s composant le mod le de r f rence repr sentent un
ensemble de fonctionnalit s et nimpliquent pas une
ensemble de fonctionnalit s et nimpliquent pas une
configuration physique particuli re.
(cid:1) Les d tails de limpl mentation de la plate-forme agent restent
au choix de conception du d veloppeur (de la plate-forme).
(cid:1) Plusieurs impl mentations possibles du mod le de r f rence
(cid:1) Plusieurs impl mentations possibles du mod le de r f rence
(cid:3) plusieurs plates-formes agent conformes la norme FIPA.
(cid:1) Exemples de plates-formes : ADK (Agent Development Kit), April Agent
Advertisement
Platform, Comtec Agent Platform, FIPA-OS, Grasshopper, JACK Intelligent
Agents, JADE, JAS (Java Agent Services API), LEAP, ZEUS.
Sp cifications FIPA Gestion des agents
12
Agent
Processus informatique impl mentant les
Processus informatique impl mentant les
fonctionnalit s dautonomie et de
communication.
Chaque agent poss de :
(cid:2) un identifiant unique qui permet de le
reconna tre sans ambig it (AID).
(cid:2) une ou plusieurs comp tences (services)
une ou plusieurs comp tences (services)
quil peut publier dans un annuaire de
services.
(cid:2) une ou plusieurs adresses qui permettent
aux autres agents de le contacter.
Les agents communiquent en utilisant un
langage de communication agent (ACL).
Sp cifications FIPA Gestion des agents
13
Agent Management System (AMS)
Annuaire des agents / Service de pages
Annuaire des agents / Service de pages
blanches
Il exerce un contr le de supervision sur
lacc s et lutilisation de la plate-forme.
Chaque plateforme ne peut contenir quun
seul AMS qui assure lenregistrement et la
localisation des agents dans cette derni re.
localisation des agents dans cette derni re.
Chaque agent doit s'inscrire aupr s de lAMS
afin d'obtenir un AID valide.
LAMS maintient un r pertoire dAIDs qui
contiennent entre autre les adresses des
agents enregistr s.
Sp cifications FIPA Gestion des agents
14
Directory Facilitator (DF)
Annuaire des services / Service de pages
Annuaire des services / Service de pages
jaunes
Il assure lenregistrement, la recherche
et la consultation de services dagents.
Les agents peuvent :
(cid:2) enregistrer et publier leurs services dans
(cid:2) enregistrer et publier leurs services dans
le DF.
(cid:2) consulter le DF pour savoir quels sont les
services offerts par les autres agents.
(cid:2) interroger le DF pour savoir quels sont les
agents offrant un service particulier.
Sp cifications FIPA Gestion des agents
15
Message Transport System (MTS)
Le MTS constitue la m thode de
Le MTS constitue la m thode de
communication par d faut entre agents
appartenant diff rentes plates-formes.
Agent Platform (AP)
infrastructure physique dans laquelle les
infrastructure physique dans laquelle les
agents sont d ploy s : la machine, le
syst me dexploitation, les composants
FIPA (AMS, DF, MTS), les agents.
Sp cifications FIPA Communication entre agents
16
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
(cid:1) D finir les normes de communication entre agents :
(cid:1) D finir les normes de communication entre agents :
(cid:2)
(cid:2)
(cid:2)
(cid:2)
Le langage de communication FIPA-ACL
les actes de communications bas s sur la th orie des actes du
langage.
les changes de messages dans les protocoles dinteraction.
les repr sentations des langages de contenus.
Sp cifications FIPA Communication entre agents
17
(cid:1) Pour communiquer correctement travers l change de
messages, les agents doivent savoir :
messages, les agents doivent savoir :
(cid:2) avec quels autres agents communiquer,
(cid:2)
comment joindre ces agents,
(cid:2) quel langage utiliser pour changer des connaissances,
(cid:2) quel protocole utiliser pour le dialogue ,
(cid:2) quels termes du langage utiliser pour garantir que l'autre agent va
(cid:2) quels termes du langage utiliser pour garantir que l'autre agent va
interpr ter les expressions dans le m me sens,
(cid:2)
comment g rer l'information inutile et les possibles donn es
erron es qui apparaissent des diff rentes vues du monde.
(cid:3) Besoin de langages et de protocoles pour communiquer
Sp cifications FIPA Communication entre agents
18
L change de messages n cessite un langage bien d fini avec les
l ments suivants :
l ments suivants :
(cid:1) une syntaxe
un langage commun pour repr senter informations et requ tes.
(cid:1) une s mantique
un vocabulaire structur et un cadre partag de connaissance : une
ontologie partag e.
ontologie partag e.
(cid:1) une pragmatique
(cid:2) avec qui communiquer et comment le ou les trouver.
(cid:2)
(cid:2)
comment initialiser et maintenir un change.
l'effet de la communication sur le destinataire.
Sp cifications FIPA Communication entre agents
19
L change de messages peut se baser galement sur un protocole
de communication qui sp cifie :
de communication qui sp cifie :
(cid:1) l'exp diteur ( metteur),
(cid:1) le ou les destinataires (r cepteurs),
(cid:1) le langage utilis dans le protocole,
(cid:1) les actions r aliser par les participants au protocole
diff rentes tapes de son d roulement.
diff rentes tapes de son d roulement.
Sp cifications FIPA Langage ACL
20
(cid:1) La communication entre agents se base sur la th orie des actes
du langage , :
du langage , :
(cid:2)
Advertisement
"Communiquer c'est agir" : la communication est consid r e
comme une forme d'action.
(cid:2) Cat goriser des types de communication et d finir des verbes dits
performatifs ou actes de communication : informer,
demander, r pondre, promettre, proposition, offre...
(cid:1) FIPA a d fini un langage standard pour la communication entre
agents : FIPA Agent Communication Language (FIPA-ACL ou tout
simplement ACL) qui se base sur cette th orie.
Sp cifications FIPA Langage ACL
21
Structure dun message ACL
(cid:1) Champs minimaux (obligatoires) :
(cid:2) performative : type de lacte de communication (inform, request,
reply, propose, refuse &)
(cid:2)
(cid:2)
(cid:2)
(cid:2)
sender : identit de lagent exp diteur du message (nom).
receiver : identit (s) de(s) destinataire(s) du message (nom(s)).
receiver : identit (s) de(s) destinataire(s) du message (nom(s)).
content : le contenu du message (linformation objet de lacte de
communication d fini dans le champ performative)
Sp cifications FIPA Langage ACL
22
Structure dun message ACL
(cid:1) Champs facultatifs mais souvent utiles :
(cid:2)
language : langage dans lequel le contenu du message est exprim .
(cid:2) encoding : encodage sp cifique du contenu du message.
(cid:2) ontology : ontologie du domaine utilis e pour donner un sens aux
termes et symboles utilis s dans lexpression du contenu.
termes et symboles utilis s dans lexpression du contenu.
(cid:2) protocol : protocole dinteraction utilis par les agents.
(cid:2)
conversation-id : identifiant dune s quence de messages faisant
partie dune m me conversation.
Sp cifications FIPA Langage ACL
23
Structure dun message ACL
(cid:1) Champs facultatifs mais souvent utiles :
(cid:2)
(cid:2)
(cid:2)
(cid:2)
reply-to: la r ponse au message doit tre adress e lagent d fini
par ce champ et non lexp diteur du message.
reply-with : expression identifiant le message en vue dune
r ponse ult rieure.
in-reply-to : expression identifiant le message auquel la r ponse
est adress e (pr cis par lattribut reply-with de l metteur).
reply-by : le temps ou la date limite de r ponse.
Sp cifications FIPA Langage ACL
24
Structure dun message ACL
Sp cifications FIPA Actes de communication
25
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
Actes de
Actes de
communication
Protocoles
Protocoles
dinteraction
Langages de contenus
(cid:1) FIPA d finit 22 actes de communication ou performatives en se
basant sur la th orie des actes du langage.
Sp cifications FIPA Actes de communication
26
Sp cifications FIPA Actes de communication
27
Performative
D finition - Sens
ACCEPT-PROPOSAL
ACCEPT-PROPOSAL
The action of accepting a previously submitted proposal to perform
The action of accepting a previously submitted proposal to perform
an action.
AGREE
CANCEL
CFP
CONFIRM
DISCONFIRM
FAILURE
The action of agreeing to perform some action, possibly in the future.
The action of one agent informing another agent that the first no
longer has the intention that the second perform some action.
Call for Proposal : The action of calling for proposals to perform a
given action.
The sender informs the receiver that a given proposition is true,
The sender informs the receiver that a given proposition is true,
where the receiver is known to be uncertain about the proposition.
The sender informs the receiver that a given proposition is false,
where the receiver is known to believe the proposition is true.
The action of telling another agent that an action was attempted but
the attempt failed.
Sp cifications FIPA Actes de communication
28
Performative
D finition - Sens
INFORM
INFORM
The sender informs the receiver that a given proposition is true.
The sender informs the receiver that a given proposition is true.
INFORM-IF
INFORM-REF
The action to inform the recipient whether or not a proposition is
true.
Action for sender to inform the receiver the object which corresponds
to a descriptor, for example, a name.
NOT-UNDERSTOOD
The sender informs the receiver that it perceived that the latter
performed some action or sent some message that the first did not
understand.
understand.
PROPAGATE
PROPOSE
PROXY
The sender wants the receiver to identify the agents denoted by the
given descriptor and send the (same) received message to them.
The action of submitting a proposal to perform a certain action, given
certain preconditions.
The sender wants the receiver to select target agents denoted by a
given description and to send a (embedded) message to them.
Sp cifications FIPA Actes de communication
29
Performative
D finition - Sens
QUERY-IF
QUERY-IF
The action of asking another agent whether or not a proposition is true.
Advertisement
The action of asking another agent whether or not a proposition is true.
QUERY-REF
REFUSE
The action of asking another agent for the object referred to by a
referential expression.
The action of refusing to perform a given action, and explaining the reason
for the refusal.
REJECT-PROPOSAL
The action of rejecting a proposal to perform some action during a
negotiation.
REQUEST
REQUEST
The sender requests the receiver to perform some action.
The sender requests the receiver to perform some action.
REQUEST-WHEN
The sender wants the receiver to perform some action when some given
proposition becomes true
REQUEST-WHENEVER
The sender wants the receiver to perform some action as soon as some
proposition becomes true and thereafter each time it becomes true again.
SUBSCRIBE
The act of requesting a persistent intention to notify the sender of the
value of a reference, and to notify again whenever the object identified by
the reference changes.
Sp cifications FIPA Messages ACL
30
Exemple dun message ACL
(inform
:sender (agent-identifier :name A)
:receiver (set (agent-identifier :name B))
:content "weather (tomorrow, raining)"
:language Prolog
)
Lagent A informe lagent B que demain le temps sera pluvieux.
Sp cifications FIPA Actes de communication
31
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
Actes de
Actes de
communication
Protocoles
Protocoles
dinteraction
Langages de contenus
(cid:1) FIPA d finit 11 protocoles dinteraction entre agents et sp cifie
les changes de messages pr d finis dans le cadre de ces
protocoles.
Sp cifications FIPA Protocoles dinteraction
32
Liste des protocoles dinteraction FIPA
(cid:1) Request Interaction Protocol
(cid:1) Query Interaction Protocol
(cid:1) Request When Interaction Protocol
(cid:1) Contract Net Interaction Protocol
(cid:1) Iterated Contract Net Interaction Protocol
(cid:1) English Auction Interaction Protocol
(cid:1) English Auction Interaction Protocol
(cid:1) Dutch Auction Interaction Protocol
(cid:1) Brokering Interaction Protocol
(cid:1) Recruiting Interaction Protocol
(cid:1) Subscribe Interaction Protocol
(cid:1) Propose Interaction Protocol
Sp cifications FIPA Protocoles dinteraction
33
FIPA-Request
" Un agent (initateur) demande un autre agent
" Un agent (initateur) demande un autre agent
(participant) deffectuer une t che.
" Le participant examine la requ te et d cide de
laccepter ou de la refuser.
" Sil refuse (refused = vrai) il envoie un message ACL de
type refuse.
" Sil accepte (agreed = vrai) il peut soit :
" Sil accepte (agreed = vrai) il peut soit :
" chouer r aliser la requ te et donc renvoie un message de
type failure
" R ussir r aliser la requ te et donc renvoie un message de
type inform soit avec seulement la confirmation dex cution
(inform-done) ou bien avec la confirmation et les r sultats
dex cution (inform-result)
Sp cifications FIPA Protocoles dinteraction
34
FIPA-ContractNet
" Protocole dinteraction qui se base sur la n gociation
" Protocole dinteraction qui se base sur la n gociation
" Cr ation de march s pour lachat et la vente de produits
" Un agent (initiateur) prend le r le de gestionnaire qui souhaite voir une
certaine t che r alis e par un ou plusieurs autres agents (participants)
" Linitiateur souhaite en plus optimiser une certaine fonction qui caract rise la
t che r aliser.
" Cette fonction est commun ment d sign e comme tant le prix (dans certains
domaines dapplication) mais peut aussi tre le temps dex cution de la t che,
l quit de r partition de la charge, etc.
" Pour une t che donn e, nimporte quel nombre dagents peuvent r pondre par
une proposition, les autres refusent. Dans ce cas, la n gociation continue avec
seulement les agents ayant fait une proposition.
Sp cifications FIPA Protocoles dinteraction
35
FIPA-ContractNet (suite)
" Linitiateur sollicite les propositions de m
" Linitiateur sollicite les propositions de m
participants pour la r alisation dune t che en
envoyant un message cfp (call for proposal).
" Une fois la deadline pass e, n participants
auraient r pondu soit par un refus soit par une
proposition.
" Une proposition inclut les conditions pour la
r alisation de la t che (co t, temps, etc)
r alisation de la t che (co t, temps, etc)
" Linitiateur examine les propositions des
participants et s lectionne un certain nombre
dagents pour la r alisation de la t che (z ro, un
ou plusieurs) et leur envoie un message de type
accept-proposal pour les autres il envoie un
message de type reject-proposal
Sp cifications FIPA Protocoles dinteraction
36
FIPA-ContractNet (suite)
" Une fois sa proposition accept e par
" Une fois sa proposition accept e par
linitiateur, le participant devient oblig
deffectuer la t che allou e.
" Sil parvient effectuer la t che avec succ s, le
participant renvoie linitiateur un message de
type inform soit avec seulement la
confirmation dex cution (inform-done) soit
avec la confirmation et les r sultats dex cution
avec la confirmation et les r sultats dex cution
(inform-result)
" Sil choue effectuer la t che, il lui renvoie un
message de type failure.
Advertisement
Sp cifications FIPA Protocoles dinteraction
37
FIPA-English-Auction
" Protocole dinteraction qui se base sur les ench res anglaises
" Protocole dinteraction qui se base sur les ench res anglaises
" Le commissaire-priseur cherche vendre un bien sur le march en proposant
d'abord un prix inf rieur celui de sa valeur suppos e, puis en augmentant
graduellement le prix.
" Chaque fois que le prix est annonc , le commissaire-priseur attend de voir si les
acheteurs vont signaler leur volont de payer le prix propos . D s qu'un
acheteur indique qu'il accepte le prix, le commissaire-priseur met un nouvel
acheteur indique qu'il accepte le prix, le commissaire-priseur met un nouvel
appel doffres.
" La vente aux ench res se poursuit jusqu' ce quil ny ai plus d'acheteurs pr ts
payer le prix propos .
" Si le dernier prix qui a t accept e par un acheteur d passe le prix de
r servation du commissaire-priseur, le bien est vendu cet acheteur pour le
prix convenu. Sil est inf rieur au prix de r serve, le bien ne se vend pas
Sp cifications FIPA Protocoles dinteraction
38
FIPA-English-Auction (suite)
" Linitiateur ouvre les ench res en envoyant un
" Linitiateur ouvre les ench res en envoyant un
message de type inform.
" Il envoie ensuite aux participants lappel
proposition initial (cfp-1)
" Les participants envoient leurs propositions
suite quoi linitiateur r pond par une
acceptation (accept-proposal) ou par un refus
acceptation (accept-proposal) ou par un refus
(reject-proposal)
" Tant quil y a des participants qui ont r pondu
lappel alors on passe un second tour
dench res (cfp-2)
Sp cifications FIPA Protocoles dinteraction
39
FIPA-English-Auction (suite)
" Sil ny a plus de participants ayant fait une
" Sil ny a plus de participants ayant fait une
proposition, lench re se termine.
" Linitiateur informe dabord tous les
participants (inform-2) de la fin de lench re
" Il envoie ensuite au gagnant de lench re un
message (request) pour r clamer le paiement
du bien.
du bien.
Sp cifications FIPA Protocoles dinteraction
40
FIPA-Dutch-Auction
" Protocole dinteraction qui se base sur les ench res hollandaises
" Protocole dinteraction qui se base sur les ench res hollandaises
" Le commissaire-priseur cherche vendre un bien sur le march en proposant
d'abord un prix beaucoup plus lev celui de sa valeur suppos e, puis en
r duisant graduellement le prix.
" Le taux de r duction du prix revient au commissaire-priseur et il y a
g n ralement un prix de r serve minimum ne pas d passer.
" Si le prix propos par le commissaire-priseur est accept , le bien est vendu
" Si le prix propos par le commissaire-priseur est accept , le bien est vendu
lacheteur pour le prix convenu. Sil est inf rieur au prix de r serve, le bien ne
se vend pas et lench re se termine.
Sp cifications FIPA Protocoles dinteraction
41
FIPA-Dutch-Auction (suite)
" Linitiateur ouvre les ench res en envoyant
" Linitiateur ouvre les ench res en envoyant
un message de type inform.
" Il envoie ensuite aux participants lappel
proposition initial (cfp-1)
" Les participants envoient leurs
propositions suite quoi linitiateur
r pond par une acceptation (accept-
r pond par une acceptation (accept-
proposal) ou par un refus (reject-proposal)
" Tant quil y a des participants qui ont
r pondu lappel alors on passe un
second tour dench res (cfp-2) sinon
lench re se termine sans vente.
Sp cifications FIPA Langages de contenus
42
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
Actes de
Actes de
communication
Protocoles
Protocoles
dinteraction
Langages de
Langages de
contenus
(cid:1) FIPA propose diff rentes possibilit s de repr sentations du
contenu dun message ACL.
Sp cifications FIPA Langages de contenus
43
Liste des langages de contenus FIPA
(cid:1) Semantic Language (SL)
(cid:1) Constraint Choice Language (CCL)
(cid:1) Knowledge Interchange Format (KIF)
(cid:1) Resource Description Framework (RDF)
Sp cifications FIPA Transport des messages
44
Applications
Architecture abstraite
Gestion des
agents
Communication
entre agents
Transport des
messages
(cid:1) G rer la repr sentation des messages et leur livraison inter-
(cid:1) G rer la repr sentation des messages et leur livraison inter-
plateformes.
(cid:1) D finir un mod le de r f rence pour le service de transport des
messages.
Sp cifications FIPA Transport des messages
45
Message Transport System (MTS)
Il y a obligatoirement un MTS sur
Il y a obligatoirement un MTS sur
chaque plate-forme.
Le message dun agent A un agent B
est transf r physiquement travers le
MTS.
Le message relayer est format
Le message relayer est format
comme suit :
Message = Enveloppe + Corps
Enveloppe : informations de transport
Corps : message ACL