INGÉNIERIE LOGICIELLE ORIENTÉE AGENT

IEEE
Page 1 sur 46Lecteur de document UniversityLib

INGÉNIERIE LOGICIELLE ORIENTÉE AGENT

Programming, Agent-Based Systems, Standards · course

Voir tous les documents en programmation

ING NIERIE LOGICIELLE

ORIENT E AGENT

ORIENT E AGENT

Faten BEN HMIDA

[email protected]

[email protected]

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

Publicité

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)

Publicité

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

Publicité

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.

Publicité

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