You are on page 1of 74

L'INSTITUTDELAFRANCOPHONIEPOURL'INFORMATIQUE

(IFI)

TRAVAILD'INTRTPERSONNELENCADR
(TIPE)

Gnielogicielorientagent
Superviseur:

HoTuongVinh

Ralisateur:

NguyenManhHung

Hano,2006

Table du contenu
Introduction.............................................................................................................................................1
Chapitre 1 ...............................................................................................................................................3
SYSTME MULTIAGENT....................................................................................................................3
1.1 Agent............................................................................................................................................3
1.2 Systme multiagent.......................................................................................................................3
1.3 Conclusion....................................................................................................................................5
Chapitre 2 ...............................................................................................................................................6
MODLISATION DU SYSTME MULTIAGENT..............................................................................6
2.1 Mthodologie................................................................................................................................6
2.1.1 MAS-CommonKADS...........................................................................................................6
2.1.2 MaSE....................................................................................................................................7
2.1.3 Gaia.......................................................................................................................................8
2.1.4 O-MaSE................................................................................................................................9
2.1.5 Bilan des mthodologies.....................................................................................................10
2.2 Outil............................................................................................................................................13
2.2.1 AUML.................................................................................................................................13
2.2.2 agentTool............................................................................................................................14
2.2.3 JADE...................................................................................................................................14
2.2.4 BRAIN................................................................................................................................15
2.2.5 Bilan d'outil.........................................................................................................................16
2.3 Conclusion..................................................................................................................................17
Chapitre 3 .............................................................................................................................................18
TUDE DE CAS...................................................................................................................................18
3.1 Problme.....................................................................................................................................18
3.1.1 Description gnrale...........................................................................................................18
3.1.2 Solution propose...............................................................................................................19
3.1.3 Besoin d'analyser et de concevoir orient agent.................................................................20
3.1.4 Choix de mthode et outil...................................................................................................21
3.2 Analyse.......................................................................................................................................23
3.2.1 Modlisation des buts.........................................................................................................23
3.2.2 Modlisation des cas d'utilisation.......................................................................................24
3.2.3 Modlisation des rles........................................................................................................25
3.2.4 Modlisation des domaines.................................................................................................26
3.2.5 Modlisation des agents......................................................................................................28
3.3 Conception..................................................................................................................................30
3.3.1 Modlisation des classes dtaille......................................................................................30
3.3.2 Modlisation d'agent interne...............................................................................................30
3.3.3 Modlisation de protocole..................................................................................................32
3.4 Bilan d'analyse et conception.....................................................................................................33
3.4.1 Application.........................................................................................................................33
3.4.2 Mthodologie......................................................................................................................34
3.4.3 Outil....................................................................................................................................35
3.5 Conclusion..................................................................................................................................35
Conclusion.............................................................................................................................................36
Rfrences....................................................................................................................................37
Annexe A : Mthodologies...............................................................................................................40
A.1 MAS-CommonKADS...........................................................................................................40
A.2 MaSE....................................................................................................................................42
A.3 Gaia.......................................................................................................................................43
A.4 O-MaSE................................................................................................................................46
Annexe B : Analyse et conception du systme d'tude de cas.........................................................48

B.1 Analyse......................................................................................................................................48
B.1.1 Modle des buts.................................................................................................................48
B.1.2 Modle des cas d'utilisation...............................................................................................49
B.1.3 Modle des rles................................................................................................................51
B.1.4 Modle des domaines.........................................................................................................52
B.1.5 Modle des agents..............................................................................................................54
B.2 Conception.................................................................................................................................56
B.2.1 Modle des classes dtaille...............................................................................................56
B.2.2 Modle d'agent interne.......................................................................................................56
B.2.3 Modle de protocole...........................................................................................................61
B.2.4 Modle d'exploitation.........................................................................................................63
Annexe C : Algorithme d'extraction des information.......................................................................65
C.1 Crawler des pages HTML.....................................................................................................65
C.2 Cration d'arbre DOM...........................................................................................................65
C.3 limination des bruits des informations................................................................................66
C.4 Extraction des rgions des informations...............................................................................68
C.5 Extraction des informations..................................................................................................70

Gnie logiciel orient agent

Introduction
Danslesderniersannes,ledveloppementdeslogicielsorientagentaattirplusieurs
recherches([510],[16],[27]).Commelebesoindedvelopperdeslogicielsprciseset
ceux en tempsrel, qui peuvent bien marcher dans les environnements complexes,
distribusethtrognes[17],lesconcepteursvoudraientdvelopperdessystmesbasant
surlescomposants,chaquecomposantsoccupedesonpropretravailpourquetousles
composantspuissentinteragirpourcomplterletravailgnraldusystme.Cescomposants
sontappelslesagentslogiciels.
Onconsidretroisexemplessuivants:
Exemple1:Systmedecalculomniprsent(ubiquitouscomputing)

L'ideestdeprofiterlacapacitdesmachinesportablespourlecalcul.Onauneintention
deconcevoirunsystmedecalculdanslequelilyadepetitsmorceauxdelogicielsesituant
la portable. Chaque morceau est capable de s'occuper d'une mission (calcul)qu'il est
ralisedsquelaportableestlibre.Quandilneterminepasencoresamission,ilpourra
l'envoyerunautremorceausesituantl'autreportable.
Lesystmeestconstruitenbasantsurlesmorceauxlogicielsquisontcapablesderaliser
automatiquementleurmissionetdeprendrededcisiond'envoyersamissionunautres'il
estncessaire.Cesmorceauxlogicielssontappelsagents.
Exemple2:Systmed'extractionautomatiquedesinformationssurlesiteweb

L'ideestd'extrairedesinformationsncessairessurlesitewebselonchaquedomaine:soit
lesrsultatsdufootball,soitlemto,soitlecoursducharge.Leproblmeestquechaque
sourced'informationsesitueunsitediffrent,chaquesitereprsentedesinformationsde
lafaondiffrente.Onveutqu'ilyauncomposantlogicielchaquesourced'information.
Cecomposantreconnatlastructurdel'informationetextraitedesinformationsncessaires
delafaonautomatique.Ilyaunautrecomposants'occupantd'intgrerlesinformations
retenues:chaquefoisqu'ilyaunedemandedel'utilisateur,ildemandeauxcomposantssur
lessitesdeluienvoyerlesinformationsncessaires.
Danscecas,onconsidrechaquecomposantcommeunagentetlesystmecommeun
systmemultiagent.
Exemple3:Ngociationautomatiqueencommercelectronique

Aujourd'hui,ilyadeplusenplusvendeurssurInternet,leursproduitssontnombreux.Afin
d'aiderlesacheteursacheterleproduitquileurssatisfaitleplus,onveutqu'ilyaun
systme dans lequel il y a des composant dont chaqu'un joue le rle d'acheteur pour
contacteretngocierautomatiquementavecunvendeurpourtrouverunproduitquisatisfait

Gnie logiciel orient agent

auxintrtsduconsommateur.Puis,lescomposantsdoiventcollaborerpourslectionnerle
produitfinalquiconvientleplusauxintrtsduconsommateur.
Danscecas,onconsidreaussichaquecomposantcommeunagentetlesystmecommeun
systmemultiagent.
Cestroisexemplesnousindiquentqu'ilyadeplusenplusdesapplicationsquiontbesoin
d'treralisescommeunsystmemultiagent.Leproblmeleplusimportantseposantest
commentpeutonmodliserunsystmelogicielsousformeunsystmemultiagent.
Cedocumentvaprsentercommentpeutonmodliserunsystmelogicielsousformeun
systmemultiagent:lepremierchapitrevaprsenterqu'estcequ'unsystmemultiagent;le
deuximechapitrevaprsenterlamthodologiederalisationd'unsystmelogicielsous
formeunsystmemultiagent;ledernierchapitrevaprsenterunetudedecasquiapplique
unemthodepouranalyseretconcevoirunsystmemultiagent.

Gnie logiciel orient agent

Chapitre1
SYSTMEMULTIAGENT
Cechapitrevaprsentergnralementl'agentetlesystmemultiagent:

Agentetsescaractristiques

Lesystmemultiagentetsescaractristiques

Lesproblmeslisausystmemultiagent

1.1Agent
Agent [21] est une entit autonome se situant dans un environnement spcifique, il est
capabledevivreautonomeetflexibleenpercevantetensagissantsursonenvironnement
pourobtenirsonproprebut.Agentaquatrecaractristiquesprincipales[23]:

Autonome, capable de vivre soit mme, il na pas besoin d'tre contrl par
l'extrieur. L'autonomie contient deux aspects : l'autonomie de l'tat interne et
l'autonomiedel'action.L'autonomiedel'tatinterneestcapabledechangersontat
interne selon son plan (objectif). L'autonomie de l'action est capable de prendre
automatiquementdesdcisionsdefairequelquesactivitsselonsontatinterneet
lesconditionsdel'environnement.

Ractif, capable de percevoir le changement de lenvironnement et de sagir


automatiquementsurl'environnement.

Proactif,capabledesagirselonsonplanorientsonobjectif:selonlechangement
del'environnementetsonpropretatinterne,agentchoisituneactionquil'aidele
mieuxobtenirsonobjectif.

Social,capabledecommuniqueraveclesautresagentspourcompltersamission.
Non seulement l'agent est orient son propre objectif. Mais encore l'agent peut
interagiraveclesautrespourtreorientl'objectifcommundusystme.

1.2Systmemultiagent
Agentestvraimentperformantquandilsesituedansunsystmemultiagent.Unsystme
multiagent[22]estunrseaudesentitsquipeuventinteragirpourobtenirleurspropres
objectifs, et donc, le systme obtient l'objectif gnral. Un systme multiagent est
caractrisparquartecaractristiques[22]:

Chaqueagentaunrestreintdecapacitetderessource,doncplusieursagentsdoivent
interagirpourrsoudreleproblmegnral.

Lesystmemultiagentestdistribu.Ilnyapasdecontrlecentral:chaqueagent
agitselonsonobjectif,iln'estpascontrlparlesautres.

Ilestdistribulesressources:chaqueagents'occuped'unepartiedetravailetil

Gnie logiciel orient agent

possdeaussiunepartiederessourcedusystme.

Le traitement dans un systme multiagent est asynchrone. Chaque agent traite


automatiquementsontravailselonsonplan.Ilnedoitpasattendrelesautressauf
qu'ilsontbesoind'interagirpourterminerleurstravaux.

Applicationdusystmemultiagent

L'approchedemodlisationdusystmeorienteagental'airefficacedanslescontextes
suivants[17]:

Le systme a besoin des communications complexes. Une communication est


considre comme celle complexe si : elle a au moins de deux participants et,
l'changedesinformationsentreseuxsepasseenplusieursfois.

Lesystmedoitmarcherbiendanslescasoonnepeutpasprvoirouspcifiertout
soncomportementendescasencas(casebycase).

Lesystmeconcernela ngociation,lacollaborationou lacomptitionentre des


entitsdiffrentes.

Lesystmedoitmarcherdelafaonautomatique.

Lesystmeestprvuqu'ilyaitdeschangementsdanslesystmeouquelebutdu
systmesoitchangdynamiquement.

On peut rsumer que le systme multiagent est efficace quand il marcher dans un
environnement:

Distribuetcomplexe:onabesoindelacommunication(sousdesformesdela
ngociation,lacollaborationoulacomptition).

Htrogne:onnepeutpasprvoirouspcifiertoutsoncomportementendescas
encas.

Ouvert:ilyadeschangementsdescomposantsdanslesystmeentempsmarch.

Dynamique:ilyadeschangementsdanslesystmeoulebutdusystmeestchang
dynamiquement.

Problmeliausystmemultiagent

Sycara[22]amontrsixdfisdusystmemultiagent:

Ladcompositionlesproblmesetladistributiondestchesauxagentsindividuels.

Lacoordinationdescommunicationsdesagents.

Faireagirauxagentsdelamanirecohrente.

L'augmentationdunombredesagentsetdestatsdelacoordination.

Laconciliationdesconflitsdebutentrelesagents

Lagniepratiquedesystmemultiagent

Cedocumentconcentresurlesiximedfidusystmemultiagent,c'estlagniesystme

Gnie logiciel orient agent

multiagent:lamthodologiepourl'analyseetlaconceptiondusystmemultiagent,l'outil
pourledvelopper.C'estdirequ'ondoitrpondreauxdeuxquestions:commentpeuton
modliserunsystmesousformeunsystmemultiagentetquelestl'outilefficacenous
aidantlefaire.

1.3Conclusion
Ce chapitre a prsent en gnral les termes agent et le systme multiagent : leurs
caractristiques,leurscontextesdel'applicationetleursproblmes.Leproblmeleplus
granddusystmemultiagentestcommentpeutonmodliserunsystmesousformeun
systmemultiagentetquelestl'outilefficacenousaidantlefaire.Lechapitresuivantva
rpondrecesquestions.

Gnie logiciel orient agent

Chapitre2
MODLISATIONDUSYSTMEMULTIAGENT
Leproblmeseposantestcommentpeutonmodliserunsystmesousformeunsystme
multiagentetquelestl'outilefficacenousaidantlefaire.Donc,onabesoindes'intresser
auxdeuxaspects:

Lamthodologie:lafaondemodlisationetralisationunsystmesousformeun
systmemultiagent.

L'outil : la moyen qui nous aide le raliser en analysant, en concevant et en


implmentantlesystmemultiagent.

2.1Mthodologie
Ilyaplusieursrecherchesquisintressentlamthodologiedanalyseetdeconception
orientesagent([510],[27]).Maintenant,iln'yapasencoreunemthodestandardcar
chaquegroupederechercheproposeunemthodediffrente.Chaquemthodeconvientun
groupeparticulierdesapplications.
Cettesectionvaprsenter,enpointdevuedelamodlisationsystmeenmultiagent,quatre
mthodestypiquesquisontnesdanslesderniersannes:

MASCommonKADS

MaSE

Gaia

OMaSE

2.1.1MASCommonKADS

MASCommonKADS[12](MultiagentSystemKnowledgeAnalysisandDevelopment
System)esttendudelamthodologiedegnieconnaissance[12]enprenantlestechniques
orientesobjetetcellesdelamthodologiedegnieprotocole.Cettemthodemodliseun
systmepardestapessuivantes:

Modlisationdesagents :crelesinstancesoriginalespouridentifieretdcrireles
agentsenutilisantlemodled'agent.Modled'agentdterminelescaractristiques
del'agent:Lescapacitsderaisonnement,lescomportements(percevoir/s'agir),les
services,lesgroupesethirarchiedesagents.

Modlisation des tches : dcouvrit et dcrit toutes les tches possibles dans le
systmeenutilisantlemodledestches.Modledestchesdterminelestches
dontl'agentpeuts'occuper:lesbuts,lespartitionsdescomposantsetlesmthodesde
rsoudreleproblmequilielatche.

Gnie logiciel orient agent

Modlisationdescoordinations:dveloppelemodledescoordinations.Modledes
coordinations dtermine les conversations entre les agents : les interactions, les
protocolesetlescapacitsncessaires.

Modlisationdeconnaissance:modliselaconnaissancedudomaineenutilisantle
modled'expert.Modled'expertdterminelesconnaissancesdontlesagentsont
besoinpourobtenirleursobjectifs.

Modlisationd'organisation :dveloppelemodled'organisationenbasantsurle
modled'agent.Cemodleprsentelesrelationsstatiquesoustructuresentreles
agents.

Cettemthodologieintgrelamthodologiedegnieconnaissanceetlestechniquesdela
mthodologie oriente objet et gnie protocole. Elle propose un nouveau modle, c'est
modledecoordination,quipeutreprsenterlesrelationsdynamiquesentrelesagentsou
entrelesagentsetlesgensdanslesystme,etdonc,ellenousaideconcevoirlesystme
plusdynamiquequ'autrefois.
2.1.2MaSE

MaSE([5],[7])(MultiagentSystemEngineering):Elleconsidreunagentcommeuntype
d'objet,soitayantdel'intelligence,soitnon.Lebutdecettemthodeestdetransformerles
exigencesentresdel'utilisateurauxmodlesquidcriventletyped'agent,sesinteractions
aveclesautresetl'architectureinternedechaqueagent.
Ellecontientdestapes:

Captationdesbuts:identifieetpartitionnelesbutsdusystme.Puis,ellelesorganise
dansundiagrammesousformehirarchieselonlesrelationsentrelesbuts.

Descriptiondescasd'utilisation:enbasantsurlesexigencesetlemodledesbuts,
onextraitelesscnariosquireprsententlecomportementdusystmedanslescas
spcifiques.Chaquescnariodcritendtailllespartenaires,l'ordredesactivitset
lesinformationschangesentreeux.

Construirel'ontologie :construitlaconnaissancedansledomained'applicationdu
systmeenmodlisantlesinformationschangesdanslesscnarios.

Construirelesrles:enbasantsurlesdiagrammessquencesetlesbuts,onidentifie
lesrlesdusystme.Chaquebutestcaptparaumoinsd'unrle,etviseversa,un
rles'occupeaumoinsd'unbut.Selonlesdiagrammesdesscnarios,ondtermine
lesrelationsncessairesentrelesrles.

Reprsentationdestches:dcritendtaillchaquetchequ'onabesoinderaliser
pourobtenirlebut.Chaquetcheestdcriteparundiagrammedestatsdanslequel
onindiquel'tatinitial,l'tatfinietlestatsintermdiaires.Chaquetatadesentres,
dessorties,desfonctionsetdesconditionsprovoquesettermines.

Crationdesclassesd'agent:identifielesagentsenbasantsurlesrles.Chaquerle
estjou paraumoinsd'un agentetun agentdoitjouerau moinsd'unrle.Les

Gnie logiciel orient agent

relationsentrelesagentscorrespondentauxrelationsentrelesrlesqu'ilsjouent.

Construiredesconversations:dcritendtaillchaqueconversationentrelesagents.
Chaqueconversationestunprotocoledecoordinationentredeuxagents.Pourchaque
conversation, on dtermine les participants, l'agent initial, l'agent fini, les tats.
Chaque tat a des fonctions, des conditions entres, des conditions sorties, des
activits.

Cettemthodeadesamliorationsparrapportdelamthodeorientobjet:elleestorient
lebutdusystme,lerledanssystmeetleprotocoleentrelesagents.Cependant,cette
mthodeadespointsfaibles[6]:

Elleconstruiseunsystmefermdanslequellesagentsjouentunnombrederles
limitsetlecapacitdechangementlerleestaussilimite.

Elle ne permette pas dintgrer des soussystmes un systme multiagent. Les


agentsinteragissentenlemmeniveau:ilnyapasdehirarchiedanslemodle
dinteractionentrelesagents.

Afind'viterlespointsfaiblesdecettemthode,rcent,onutilisedesapprochesbasantsur
lagnieorganisation:

Onconsidrelesystmemultiagentcommeuneautoorganisationdanslaquelleles
agentssontmembres.Ilsjouentdesrlesdiffrentsselonleursproprescapacits.Le
capacit de chaque agent peut tre chang dynamiquement donc, agent peut
automatiquementchangersonrle.

Dailleurs, quand on veutintgrer un autre systme un systmemultiagent,on


considrelesdeuxsystmecommedeuxsousorganisationsdansungrandsystme
multiagentetalors,ondoitseulementconcevoirlesmcanismesdelinteractionau
niveauentrelessousorganisations.

En consquence, le systme multiagent est plus ouvert qu'autrefois. Par exemple, la


mthodeGaia([24],[27]),lamthodeOMaSE[6]
2.1.3Gaia

Gaia[27]:exploitel'abstractionorganisationnellepourfournirunemthoded'analyseet
conceptionlesystmedelogicielouvertetcomplexe.Ellecontientdesmodles:

Modled'organisation :diviselesystmeparrapportplusieurssoussystmes.Soit
selonl'identificationdessoussystmesquiexistentdjdanslesystme,soitselon
lastructurdescomposants.Descomposantsappartiennentaummesoussystme
quand:soitils ontles objectifs communs;soitilsinteragissent avec une haute
frquence;soitleurscapacitssontprochesetchaquecomposantadescapacits
dontlesautresontvraimentbesoin.

Modle d'environnement : considre l'environnement en terme des ressources


calcules abstraites. Il est considr comme une liste des ressources. Chaque
ressourceestassocieavecunnomcaractrisparl'actionquel'agentpeutys'agir.

Gnie logiciel orient agent

Modleprliminairederle :cen'estpasencorel'organisationactuelle.Ilestune
dfinitionprliminairedesrlesetdesprotocolesdel'organisation.Gaiapropose
deuxtermespourreprsenterdelafaondemiformellelerle.Permission,dfinitla
relation de l'agent avec son environnement si l'agent a le droit d'accder les
ressources, de les changer ou de les consommer. Responsabilit, dtermine les
comportementsd'unagentselondeuxtypes:lepropritvivantquidcritlestats
auxquels un agent doit arriver sur quelques conditions, et proprit scurit qui
assure qu'un agent vient aux tats acceptables. Puis, on cre un ensemble des
schmasderle,unrleenaunecorrespondante.

Modleprliminaired'interaction:captelesindpendancesetlesrelationsentreles
rles dans le systme, en terme d'une dfinition protocole pour un type de
l'interactionentreeux.Unprotocoleestdfiniprliminairementparlesattributs:le
nom,l'initiateur,lepartenaire,lesentres,lessortiesetladescription.

Modledergleorganisationnelle:largleorganisationnelleestconsidrecomme
le responsabilit de l'organisation. Elle contient deux types : la rgle vivante
concernantl'invariantquel'organisationdoitrespecter,larglescuritconcernant
l'expressdynamiquedel'organisation.Larglevivanteassurel'ordrederalisation
desrlesoudesprotocoles,d'unaprsd'autre.Larglescuritassurequ'unrleest
jouparaumoinsd'unagentetqu'unagentpeutjouerauplusunrlelafois.

Gaia se base fortement sur le rle dans le systme. Elle propose aussi des rgles
d'environnementetd'organisation.Cependant,ellemanquelafaondeconstruirel'ontologie
dusystme,quisupportel'interactionentrelesagents.
2.1.4OMaSE

OMaSE [6] (Organization based Multiagent System Engineering) : Cette mthode


considre un systme multiagent comme une organisation des agents dans laquelle les
agentssontmembres,chaqueagentjoueunrlespcifiqueselonsescapacitspourobtenir
sesobjectifs.Donc,lebutdecettemthodeestdeconstruireunesocitorganisationnelle
desagentsenbasantsurlesmtamodlesdel'organisation.

But :estunobjectifquelesystmedoitobtenirousatisfaire.Ilestdiffrentdela
fonction du systme : le but ne s'intresse que le rsultat obtenu, cependant, la
fonctions'intresselafaonpourobtenirl'objectif.

Rle : est une entit capable d'obtenir des buts dans l'organisation. Un rle doit
s'occuperaumoinsd'unbutdusystme.Donc,ilyaunerelationentrelesrlesetles
buts.

Agent : est un composant vivant et s'agissant autonome dans l'environnement.


Chaqueagentdoitjoueraumoinsd'unrlepourobtenirunoudesbuts.Donc,ilya
unerelationentrelesagents,lesrlesetlesbuts.

Capacit:reprsentelacapabled'agentpours'occuperdesmissions.Enbasantsurla

Gnie logiciel orient agent

10

capacit,ondtermineprcismentlarelationentrelesagentsetlesrles:lesagents
ontdesproprescapacitsetlesrlesdemandentcertainscapacitspourlesjouer.
Donc,quandunagentalescapacitsncessairesdontunrledemande,ilpourra
jouercerle.C'estdire,l'agentpeutjouerdesrlesselonsesproprescapacits.

Ontologie:dfinitdesentitsdansledomained'applicationetleursrelations.Parmi
entreeux,onextraitedestypesdedonneetleursrelationsquipermettentauxagents
decommuniqueraveclesinformationsspcifiques.

Cettemthodecontientlestapes:

Modledesbuts :lesexigencessonttransfertsauxbutsdusystmeetorganises
dansunarbrehirarchiedesbuts.

Modle prliminaire d'organisation : dfinit les interactions avec des acteurs


externes.L'organisationpeuttrediviseparplusieurssousorganisationsselonles
buts d'organisation. Chaque sousorganisation s'occupe certain de but et fournit
certainservicesauxacteursouauxautressousorganisations.

Modledesrles:dfinitlesrlesdansl'organisation,lesservicesqu'ilsfournissent
etlescapacitsdontilsdemandentpourlesjouer.Chaquerleestdfinipourobtenir
certainbutetfournircertainactivitspourraliserlesservices.

Modle d'ontologie : dfinit les entits dans le domaine d'application de


l'organisation.Chaqueentitestdcriteparsespropresattributsetlesrelationsavec
lesautres.

Modledesagents:dfinitlesagentsetleursrelationsdansl'organisation.Chaque
agentestdcritparsescapacits,lesrlesqu'ilpeutjoueretlesservicesqu'ilfournit
pourobtenirdesbuts.

Modledeprotocole :dfinitlesprotocolesentrelesagents.Chaqueprotocoleest
dcrit par un diagramme de squence qui indique les participants, les messages
changs,l'ordred'changerdesmessages.

Modle d'tat d'agent : dfinit le comportement de chaque agent en utilisant le


diagrammedestatsfinis.Chaquetatestdcritparlesconditionsprovoques,les
conditionssorties,lesfonctionsinternesetlescomportements.

OMaSEestlargiedeMaSE,doncellecomposedesavantagesdeMaSEetceuxdela
gnieorganisation.

2.1.5Bilandesmthodologies
Pourunepetiteconclusionconcernantlesmthodologies,onauntableausuivant:

tapes
Modledebuts

MAS
CommonKADS

MaSE
x

Gaia

OMaSE
x

Gnie logiciel orient agent


Modledecas
d'utilisation
Modlederles/
detches
Modled'ontologie/
deconnaissance/
d'environnement

11
(option)

Tche

Rle/
Tche

Rle

Rle/
Tche

Connaissance

Ontologies

Environnement

Domaine

Modledergles
Modled'agent/
d'organisation
Modledeprotocoles/
decoordination
Modled'tatd'agent

x
Agent/
Organisation

Classesd'agent

Organisation
prliminaire

Gnral/
Dtaill

Coordination/
Communication

Conversation

Interaction

Protocoles

Modledeservice
Modledeplatforme
Modled'exploitation

(option)

x
x
x

Onpeuttrsbientrouverquelesmthodesmodlisentlesystmesurdeuxaspects:

Modlisationdescomposantsdanslesystme:lesagents,lesrlesetlesbuts...Ces
composantssontmodlisspardesmodlescorrespondant:lemodledesagents,le
modledesrlesetlemodledesbuts.

Modlisation des interactions entre les agents dans le systme. Une interaction
concerne un protocole et une base de connaissance pour ce protocole. Ils
correspondentaumodledesprotocoles(soittrenommcoordination,conversation,
interaction) et au modle d'ontologie (soit tre nomm domaine, connaissance,
environnement).

Ilyaunegrandediffrenceentrelamthodeorienteagentetcelleorienteobjet:

Lamthodeorienteobjetmodliselesystmeencomposantsquis'appellentobjets:
elleseconcentreseulementsurlamodlisationdescomposantsdanslesystmeen
trouvantlesattributsetlesmthodesdechaqueobjet.

Cependant,nonseulementlamthodeorienteagentseconcentresurlamodlisation
descomposantsdanslesystmeenutilisantdesmodles:lemodledesagents,le
modle des rles et le modle des buts ... Mais encore elle se concentre sur la
modlisationdesinteractionsentrelescomposantsdanslesystmeenutilisantdes
modles:lemodledesprotocolesetlemodled'ontologie.

Pourtantqu'iln'yaitpasencoreunemthodestandardpourtouslestypesdel'application

Gnie logiciel orient agent

12

car, en effet, chaque mthode propose est rserve un groupe des applications
particuliers,onpeuttrsbienrsumercesmthodesparunemthodegnralesuivante:

Exigences

Collection des
exigences

Modle de but

Analyse

Modle de
cas d'utilisation

Modle de domaine

Modle de rle

Modle d'agent

Modle
d'agent dtaill
Modle
de protocole

Conception

Modle
de structure
Modle
d'exploitation

Engnral,danslaphased'analyse,onabesoindesmodles:lemodledesbuts,lemodle
desrles,lemodledesagentsetlemodled'ontologie.Pourcrerlesmodlesdesrleset
d'ontologie,onabesoind'ajouterlemodledecasd'utilisation(modledesystme)pour
dcrireendtailllecomportementdusystme.

Modledesbuts:identificationdesbutsetdesrelationsentreeux.

Modle de cas d'utilisation : description de comportement avec l'environnement


externedusystmepardesscnarios.

Modledesrles:identificationdesrlesetdesrelationsentreeux.Chaquerleest
identifiparsesobjectifs(buts)pourobteniretlescapacitsdemandspourjouerce
rle.

Modled'ontologie:identificationdestermesreprsentantdesconnaissancesdansle

Gnie logiciel orient agent

13

domainedusystme,surtoutdestermesconcernantlesinformationschangesentre
lesrles.

Modledesagents:identificationdesagentsetdesrelationsentreeux.Chaqueagent
estidentifiparsesproprescapacit,lesrlesqu'ilpeutjoueretlesbutsqu'ilpeut
satisfaire.

Danslaphasedeconception,ilyadestapescommunes:lemodledesprotocolesetle
modled'tatd'agentetlemodled'exploitation.

Lemodledesprotocoles:Ils'agitd'identifierl'interactionoudelacoordination
entre les agents. Un protocole est dfini quand il y a une interaction entre deux
agents. Chaque protocole est identifi par ses participants, les types de message
(ontologie),lesconditionsdedmarrageettermination.

Lemodled'tatd'agent:Ils'agitd'identifierdescomportementsinternesd'unagent.
Donc, ce modle permette de modliser la capable d'agir automatiquement d'un
agent.

Cettemthodevatreappliquepouranalyseretconcevoirlesystmereldansl'tudede
cas(chapitre3).

2.2Outil
Lesoutilssontdivisspardeuxtypes:

Lesoutilssupportentseulementd'analyseretdeconcevoirorientagent.Ilssoientun
outil en gnral qui peuvent supporter plusieurs mthodologies diffrentes, par
exemple AUML [1] ; soient un outil spcifique qui est associ avec une
mthodologie,parexempleagentToolavecMaSE([5],[7]).

Lesoutilssupportentaussid'implmenterlelogicielorientagent.Ilssontdescadres
permettant de concevoiret d'implmenter un systme multiagent, par exemple le
cadreJADE[2]etBRAIN[4].

2.2.1AUML

AUML(AgentbasedUnifiedModelingLanguage)([1],[19],[20]):estuneextensionde
UMLrservpourl'analyseetlaconceptionorientesagent.Elleutilisedesnotationsde
UMLdanslesdiagrammes.Ellesupportetouslesdiagrammesdesphasesd'analyseetde
conception.EllemodifielesdiagrammesdeUMLdeviennentlesdiagrammesquipeuvent
reprsenterl'interactionentrelesagentsetl'tatinterned'agent.

Lesobjetssontremplacsparlesagentsetlesrles;

Ajoutedesnotationspourreprsenterlesinteractionscomplexes,parexempleles
connecteursAND,ORetXOR;

Supportelesprotocolesencastres;

Extensiondecontenudumessagechang.

Gnie logiciel orient agent

14

2.2.2agentTool

agentTool ([5], [7]) : est un outil associ la mthodologie MaSE [5]. Il fournit des
diagrammespourreprsenterlesmodlescorrespondantauxtapesdeMaSE:lahirarchie
des buts, la description des cas d'utilisation, le diagramme squence, le diagramme des
rles, le diagramme des tches, le modle d'ontologie, le diagramme des agents, le
diagrammedesconversationsetlediagrammed'exploitation.AgentToolsupporteaussi:

devrifiersilediagrammedestatsdechaquetcheoudechaqueconversationest
consistant:sichaquetatadesconditionsentresetdesconditionssorties,s'ilya
descirculesinfinisdanslediagramme;

devrifiersilesdeuxdiagrammesd'uneconversationsontcorrespondants;

degnrerautomatiquementlecodeselonlemodleconudesagents.C'estlecode
prliminaire,leprogrammeurdoitlecomplteraprs.

2.2.3JADE

JADE (Java Agent Development Framework) [2] : est un cadre rserv pour le
dveloppement des applications multiagent distribues basant sur l'architecture de
communicationpairpair.Lacommunicationestbasesurlerseaunormalourseausans
fils.
L'architecturedeJADEestdcritecommecidessous[2]:

L'architecturedeJADE

Gnie logiciel orient agent

15

Cetarchitectureatroisniveauxprincipauxdebasenhaut:

LeniveaudelamachinevirtuelledeJava:c'estleniveaufondamentaldeJADE.Il
contientdesplatformessurlesquellesJADEmarche.LesplatformessoientJ2SE,
soientJ2EE,soientJavapersonnel,soientCLDC.Cesplatformesmarchentsurle
rseaud'internetoulerseausansfils.

LeniveaudeJADE:c'estleniveauprincipaldeJADE.Ilcontientdesconteneurqui
fournissentdesmatrielsfondamentauxpourconcevoiretimplmenterdesagents:
le mcanismepourl'interactionentre lesagents,lemcanismepourconcevoirle
comportementd'unagent...

Leniveaudel'application:ilfournitdesinterfacespourconcevoiretimplmenterles
agentsetlesinteractionsentreeux.

JADEadescaractristiquestechniques:

L'applicationmultipartsetdistribueaveclacommunicationpairpair.

L'adaptablelastandardFIPA(FoundationforIntelligentPhysicalAgents)

Gestiondetoutelacirculedevied'agent

Outilgraphiquesupportededcouvrirdesfautes,degreretdesurveillerdesphases
dedveloppement.

Supportedecoderd'agentetd'excuterdesinjonctionsmigres.

Supportedesinteractionscomplexes.

SupportedecreretdegrerlecontenudumessagequipeutinclureXMLetRDF

Supported'intgreraveclapagedeJSP.

Supportedelascuritenniveaud'application(enutilisantJ2SE)

Supportedeslectionnerleprotocoleentempsmarch:RMI,HTTP...

Supporteaussidedvelopperdesagentsmobilits.

2.2.4BRAIN

BRAIN (Behavioral Roles for Agent INteractions) [4] : est aussi un cadre permettant
d'implmenterunsystmemultiagentquiestconuselonlagnieorganisationbasantsurle
rle.L'architecturedeBRAINestdcritecommecidessous.

Gnie logiciel orient agent

16

L'architecturedeBRAIN
BRAINproposetroismodlesdebasenhaut:

L'implmentation des tablissements d'interaction basant sur les modles et les


notationsprcdents.apermetteauxagentsdes'occuperdesrlesetdecontrler
desinteractions.

LanotationbasantsurXMLpourdcrirelerle.Ilestassezflexibled'exploiterle
rledanslestapesdiffrentesdelaphasedeconception.Chaquerleestdcritpar
une pice de XML ayant trois parties : L'information fondamentale, ce sont les
informations concernant l'identification du rle, dtermination de la situation
d'interactiondurleetlesfonctionsfondamentalesdurle.L'actionpermettant,ce
sontdesactionsquisontpermisesd'agirparlesystme. L'vnementreconnu,ce
sontdesvnementsquecetagentaccepteetgre.

Le modle d'interaction basant sur le rle. BRAIN modlise un rle comme un


ensembledescapacitsetuncomportementattendu.Chaquerlepeutrecevoirdes
vnements dans l'environnement et raliser des actions attendues. Donc, une
interactionentredeuxagentssepassequandunagentprenduneaction,etcetaction
devientunvnementd'autreagentquiattendcetvnement.

L'avantage de BRAIN est l'ide d'utiliser XML pour dcrire le rle. Elle permette de
transformerlerledelafaondiffrenteselonl'intrtdedveloppeur.D'ailleurs,lerle
basantsurXMLestplusadaptableauxplusieursplatformesdiffrentes.

2.2.5Biland'outil
Lesoutilscorrespondentauxmthodes,ilssupportentdemodliserlesystmesurdeux
aspects:

Modlisationdescomposantsdanslesystme:lemodledesagents,lemodledes

Gnie logiciel orient agent

17

rlesetlemodledesbuts

Modlisationdesinteractionsentrelesagents:lemodledesprotocolesetlemodle
dontologie.

Cependant,ilnousmanquequelqueschosessurloutil:

Ilnyapasencoreunoutilstandardpourtouteslesmthodes.Enralit,chaque
outilestrservunemthodespcifique;

Ilnyapasencoreunoutilsupportantdemodliserlacration,lamodificationetla
projectiondumodledontologie;

Ilnyapasencoreunoutilsupportantdemodliserlarelationlogiqueentre les
agentsetlesrles,entrelesrlesetlesbuts.

2.3Conclusion
Cechapitre aprsent ltatde lartsurlesmthodologiesde modlisation desystme
multiagentetsurlesoutilsaidantanalyseretconcevoirlesystmemultiagent.
Danslesderniersannes,cedomaineaattirdeplusenpluschercheurs.Ilyavaitplusieurs
mthodesetoutilsproposspourmodliserlesystmemultiagent.Engnral,ilsbasentsur
denouvellespointsdevuedusystme:onaproposdenouveauxtermesdanslesystme
commelesagents,lesrles,lesbutsetlescapacits...Nonseulementonsintressela
modlisationdescomposantsdanslesystme,maisencoreonsintresselamodlisation
desinteractionsentrecescomposants.
Cependant,linstance,ilnyapasencoreunemthodestandardetunoutilstandardpour
touslestypesdelapplication.Ilresteencoredeslimitsdeloutilpourmodlisationdes
interactionsdanslesystme.Cedocumentafaitunrsumsurdesmthodesetdesoutils.
Lamthodeetloutilrsums(gnraux)vonttreappliquslaralisationdunsystme
reldansltudedecasduchapitresuivant.

Gnie logiciel orient agent

18

Chapitre3
TUDEDECAS
Cechapitre vaprsenterl'application dela mthodeetl'outilqu'on aprsentsdansle
chapitre 2 pour modliser un systme concrte qui s'appelle Systme de service des
informationsintgressurlaportable(SSII).Ilcontientdesparties:

Posdusystmerel

Analyseetconceptiondusystmeenappliquantunemthodeetunoutilchoisi.

Bilansurl'analyseetconception

3.1Problme
3.1.1Descriptiongnrale
SSIIestunsystmefournissantdesinformationsl'utilisateurparsaportable:l'utilisateur
envoie sa demande et reoit la rponde (des informations) par sa portable (tlphone
portable,PDA...).Lesystmerpondelademandedel'utilisateurencherchantdanssa
basededonnequiestintgreautomatiquementdesplusieurssourcesinformatiques(sites
web)encherchantetenslectionnantautomatiquementdesinformationsdontl'utilisateura
besoin.
Lesystmefournissantdesinformationsdufootball

Lesinformationsdufootballsesituentauxplusieurssitesweb(sources),doncquandun
utilisateurveutsavoirlersultatdunematche,ildevraallerausitecorrespondantpourle
trouver.Parexemple,ilyauraunematcheentredeuxquipes,l'quipeChelseaetl'quipe
Barca,danslechampionnatC1.Unutilisateurdemandedesavoirlesrsultatsde5derniers
matchesdechaquequipepourprvoirlersultatdecettematche.
Soit,ildoitallerauxsitesdiffrents:

Le site du football anglais pour savoir les derniers rsultats de Chelsea dans le
PrimieShip

LesitedufootballespagnolpoursavoirlesderniersrsultatdeBarcadanslaLiga1

LesiteduC1poursavoirlesderniersrsultatsdeuxtouteslesdeuxquipesdansle
ChampionnatC1.

Puis,ildevraintgrercesrsultatspourobtenirlersultatfinal,cesontdes5derniers
matchesdechaquequipe.

Ilyaunproblmeseposantquand:

Gnie logiciel orient agent

Lutilisateurneconnatpaslessitesdufootball

LutilisateurnepeutpasconnecterInternet

Lutilisateurnapasassezdetempspourleschercher

19

Donc, ce dont lutilisateur a besoin est un systme qui le remplace trouver ces
informationsetluirpondlasuiteparlesquipementspersonnels:PDA,portable...Par
exemple,continuelexemplecidessus,lesystmevachercherlesrsultatsdeChelseasur
lesiteducoupeC1etsurlesitedufootballanglais(surdeuxsitesdiffrents),etchercher
lesrsultatsdeBarcasurlesiteducoupeC1etsurlesitedufootballespagnol(deuxsites
diffrentsaussi).Puis,lesrsultatsobtenussontintgrspourobtenirles5derniersmatches
dechaquequipeetenvoyslutilisateurparsaportable.
3.1.2Solutionpropose
Onvaconcevoirunsystmequicontienttroispartiesprincipales:lectdel'utilisateur,
celuiduserveuretceluidesourced'information:

Lectdel'utilisateur:fournitl'interfaceentrel'utilisateuretlesystmeparsa
portablepourenvoyerlademandeetrecevoirlersultat.

Lectduserveur(leServeur):contactel'utilisateurpourrecevoirlademandeet
envoyerlersultat;analyselademandepourlessourcescorrespondant;envoieles
requtesauxsourcesd'informationetintgrelesrpondesreues.

Lectdessourcesd'information(lesWrappeurs):slectionneautomatiquementdes
informationsncessairessurchaquesite;sauvegardedesinformationscapteset
rpondauserveurlorsqu'ildemande.

Gnie logiciel orient agent

20

rseau

rseau

Recepteur

Envoyeur
Projecteur

Distributeur

Intgrateur

Ontologie

Serveur

rseau

rseau

Wrappeur

BD

Wrappeur

Site

BD

Site

3.1.3Besoind'analyseretdeconcevoirorientagent
Cedontonabesoinsontque:

LesWrappeursextraientautomatiquementdesinformationssurchaquesource;

Lesystmedoittredistribuselonladistributiondessourcesd'information;

Le Serveur communicate avec les Wrappeurs ds que l'utilisateur demande : la


communicationalieuplusieursfois;lesinformationschangessontsousplusieurs

Gnie logiciel orient agent

21

typesdiffrents(lacommunicationestcomplexe);

Les entits dans le systme doivent fonctionner de la faon active : ils doivent
couteractivementlademandedesautrespourlaservitoutdesuite.

Sionappliqueunemthoded'analyseetconceptionorientesobjet,onauradesdifficults:

Comment peuton modliser un objet qui est capable de fonctionner


automatiquementsanscontrolenutilisantdestechniquesdepaquetageethrdit?

Comment peuton modliser un systme distribu dans le quel on ne sait pas


combiendescomposantsqu'ilvacontenir?

CommentpeutonmodliserlacommunicationentreleServeuretlesWrappeursen
utilisant les appels passifs des fonctions des objets? Surtout dans le cas o ces
communicationssepassentplusieursfoisetqu'ilyaplusieurstypesd'information
changes!

Estcequelesobjetssontactifspourragiractivementquandleserveurdemande?

Cependant,sionappliqueunemthoded'analyseetconceptionorientesagent,onaurades
facilits:

Onn'aplusbesoindes'occuperdufonctionnementautomatiquedesWrappeursetdu
Serveur car la capacit de fonctionnement automatique est un caractristique
implicitedel'agent.

galement,unsystmemultiagentestimplicited'unsystmedistribu.

OnpeutmodliserlescommunicationsentreleServeuretlesWrappeursgrceaux
techniquesdemodlisationdesinteractionsdanslesystmemultiagent:modliserle
protocoleetl'ontologie.

Unagentesttoujoursactifpourragiractivementquandleserveurdemandemmesi
iln'arienfaire.

3.1.4Choixdemthodeetoutil
Mthode

Puisquil ny a pas encore une mthode standard qui convient toutes les applications
diffrentes,onnesuitpasdemthodeconcrete.Onvaslectionnerlamthodersume
danslechapitre2avecdestapes:
Danslaphasedelanalyse,onabesoindecinqmodles:

Modledebuts

Modledecasd'utilisation

Modlederlesetdetches

Gnie logiciel orient agent

Modlededomaine

Modled'agents

22

Danslaphasedelaconception,onabesoinquatremodles:

Modledeclassed'agent

Modledeprotocole

Modledestructured'agent

Modled'exploitation

Exigences

Collection des
exigences

Modle de but

Analyse

Modle de
cas d'utilisation

Modle de domaine

Modle de rle

Modle d'agent

Modle
d'agent dtaill
Modle
de protocole

Conception

Modle
de structure
Modle
d'exploitation

Outil

Puisquil ny a pas encore un outil standard qui convient toutes les applications
diffrentes,onnesuitpasdoutilconcrete.OnvasuivrelarecommandationdeDeLoach
[6]dutiliserdesdiagrammesdeUML:

Gnie logiciel orient agent

23

Modledebuts:reprsentparlediagrammedesclasses,chaqueclassereprsente
unbut.

Modledecasd'utilisation:reprsentparlediagrammedecasdutilisation.

Modlederlesetdetches:reprsentparlediagrammedesclasses,chaqueclasse
reprsenteunroleouuntache.

Modle de domaine: reprsent par le diagramme des classes, chaque classe


reprsenteuntermedanslontologie.

Modled'agents:reprsentparlediagrammedesclasses,chaqueclassereprsente
unagent.

Modledeclassed'agent:reprsentparlediagrammedesclasses,chaqueclasse
reprsenteunclassedagent.

Modle de protocole: reprsent par le diagramme squence (diagramme


collaboration).

Modle de structure d'agent: reprsent par le diagramme des tats, chaque tat
reprsenteuntatinternedunagent.

Modle d'exploitation: reprsent par le diagramme des classes, chaque classe


reprsenteunsystme.

3.2Analyse
Danslaphased'analyse,onabesoinde:

Modlisationdesbuts

Modlisationdescasd'utilisation

Modlisationdesrlesetdestches

Modlisationdesdomaines

Modlisationdesagents

3.2.1Modlisationdesbuts
L'objectifdecettetapeestdedterminerlesbutsdusystmeetlesrelationsentreeux.Pour
dterminerlesbuts,onconsidretroisaspects:

Afindefournirleservicedesinformations,ilfaut:fournirleserviceencontactant
l'utilisateur,etcollectionnerdesinformationsdemandes.

Afindecontacterl'utilisateur,ilfautuneinterfacepour:recevoirlademandede
l'utilisateuretenvoyerlersultatfinal.

Afindecollectionnerdesinformations,ilfaut:extrairedesinformationsncessaires
etsauvegarderdesinformationscaptures.

Gnie logiciel orient agent

24

Enbasantsurlesrelationsentreslesbuts,onconstruitl'arbredesbutssuivant:

Lecontactdel'utilisateuretlacollectiondesinformationssontdesfilsdbutgnral.

Larceptionetl'envoisontpartidebutContactdel'utilisateur.

La collection des informations a des fils : l'extraction des informations et le


sauvegardedesinformations.

3.2.2Modlisationdescasd'utilisation
L'objectifdecettetapeestressemblceladanslamthodeorienteobjet.C'estdedcrire
le comportement du systme en interagissant avec des acteurs extrieurs : l'utilisateur,
l'autresystme...

Gnie logiciel orient agent

25

Lesystmeadeuxtypesd'acteur:

L'utilisateur:cequiutiliseleservicedusystme.

Lesiteweb:cequiadesinformationsncessaires.

Donc,ilyadeuxcasd'utilisationprincipaux:

Le contact de l'utilisateur. Il contient la demande de l'utilisateur de recevoir des


informationsetlarponsedusystmelademandedel'utilisateur

L'extractiondesinformationsdessitesweb.

3.2.3Modlisationdesrles
L'objectifdecettetapeestdedterminerlesrlesdanslesystme;lesrelationsentreeux
etlesrelationsentrelesrlesetlesbuts.

Selonl'ensembledesbutsdusystme,onproposedesrles:

R1:Rcepteur.Cequireoitlademandedel'utilisateur.

R2:Envoyeur.Cequienvoielersultatfinall'utilisateur.

R3:Distributeur.Cequidistribuelademandeauxrequtesconcrtes.

R4:Intgrateur.Cequiintgrelesrponsesaursultatfinal.

R5 : Demandeur. Ce qui demande aux Wrappeurs de chercher les informations


concernantlademande.

Gnie logiciel orient agent

26

R6:Container.Cequigardedesinformationscapturessurchaquesite.

R7:Capteur.Cequicapturedesinformationsncessairessurchaquesite.

Lesrelationsentrelesbutsetlesrlesdusystme:

RcepteurenvoielademandeDistributeur.

DistributeurenvoiedesrequtesDemandeur.

DemandeurdemandeContainerderpondrechaquerequte.

ContainerrpondlademandedeDemandeur.

CapteurenvoielersultatcapturContaineur.

DemandeurenvoielarponseIntgrateur.

IntgrateurenvoielersultatintgrEnvoyeur.
B0

B1

R1

B2

B3

B4

B5

B6

R2

R3

R4

R5

R6
R7

x
x

3.2.4Modlisationdesdomaines
L'objectif de cette tape est de dterminer les termes, les informations qu'on a besoin
d'utiliser dans les communications entre les agents. Il y a deux types des informations
auxquellesons'intresse:

Lesinformationsncessairespourchangerentrelesagents.Ellessontsousforme
desmessageschangsentreeux.

Les informations ncessairespourcomprendrele contenu dumessage.Ellessont


sousformed'unebasedeconnaissancesdusystme.

Typedemessage

Ilyatroistypesdemessage:

Adresse:ilreprsentel'adressed'unagent.Ilcontientunhteauquelagentsesitueet
uneportparlaquelleagentcommuniqueaveclesautres.

Enquete:ilreprsenteunerequted'unservice.L'attributtypesoitunrsultat

Gnie logiciel orient agent

27

d'unematch,soituncalendrier,soitunclassement.L'attributquipeestlenom
d'quipementionne.L'attributnombredematchestutiledanslecasondemande
quelquesderniersmatchesd'unequipe.

Resultat : il reprsente le rsultat obtenu d'un service. L'attribut type soit un


rsultatd'unematch,soituncalendrier,soitunclassement(ressembleceluidansla
classeEnquete).L'attributcontenureprsentelavaleurcorrespondant.

Basedeconnaissancesdusystme

Ondoitreprsenterdelaconnaissancegrcelaquellelesagentspeuventcomprendrece
qu'ondemandeetlestermesdansledomainedeservice.Cetteconnaissancepermetaux
agentsdeprojeterdeleursproprestermesauxtermesdesautres.
Onlareprsentesousformeunarbre(danslecascomplexe,c'estungraphe)dontlenoeud
estuntermedansledomaine:

Pluslenoeudestprsdelaracine,plusletermereprsentparcenoeudestgnral,
etviceversa.

Unfilsderondereprsenteuntermedansledomainedetermereprsentparnoeud
parent.

Unfilsderectanglereprsentedestermesquivalantdanslecontextededomaine
dterminantparletermedenoeudparent.

Voiciunpetitmorceaudelaconnaissancedusystme.Laracinereprsenteuntermeleplus
gnralduservice,puisleniveaudesnoeudsreprsentantdesservicesconcrtes,etpuis,le
niveaudesnoeudsreprsentantdespartiesd'unservice...Leniveaudesnoeudsdesfeuilles
reprsentantdestermesleplusdtaillspourchaqueservice.Lefilsderectanglereprsente

Gnie logiciel orient agent

28

destermesquivalantquechaquepageutilise.

Service
intgr

Mto

Football

Franais

Anglais

Europen

quipe
Liverpool

MU

Liv'l/Liver/Liv'pool

Man'Utd/Manchester'U/Man'Utd/ManchesterUnited

3.2.5Modlisationdesagents
L'objectif de cette tape est de dterminer les agents dans le systme ; les relations
(communications)entreeux;lesrelationsentrelesagents,lesrlesetlesbuts.
Pourdterminerlesagentsdanslesystme,onproposetroistypesd'agent:

Serveur:Cequicommuniqueavecl'utilisateur,grelamanipulationgnraledu
systme.Ilcontactedirectementl'utilisateuretlesagentsdistributeurs.

Gnie logiciel orient agent

29

Distributeur:CequicredesrequtesconvenablesauxcapacitsdesWrappeurssur
chaquesite.

Wrappeur:Cequiextraireautomatiquementdesinformationsncessaires.Ilrpond
directementlademandedudistributeur.

Larelationentrelesagentsetlesrlesdusystme:

Le Serveur joue le rle de rcepteur, d'envoyeur, de distributeur des requtes,


d'intgrateurdesrponses.

Le Distributeur joue le rle de distributeur des requtes, de demandeur et


d'intgrateur.

LeWrappeurjouelerledecontaineretdecapteurdesinformationssurchaquesite.

Serveur

R1

R2

R3

R4

Distributeur

R5

R6

R7

Wrappeur

B0

B1

B2

B3

B4

R1

R2

R3

R4

R5

B5

B6

R6

R7

Lesystmeaseptbuts,septrlesettroisagents:

LesdeuxbutsB1etB2sonttoutfairepartitionns.Donc,ilsn'ontpasbesoindes
rles.

LestroisrlesR3,R4etR5correspondentaubutB0.Lereste,chaquerles'occupe
d'unbut.

Gnie logiciel orient agent

30

Serveurjouequatrerles,DistributeurjouetroisrlesetWrappeurjouedeuxrles.

3.3Conception
Danslaphasedelaconception,onabesoinde:

Modlisationdesclassesd'agent

Modlisationdesprotocoles

Modlisationdestructured'agent

Modled'exploitation

3.3.1Modlisationdesclassesdtaille
Lesystmeatroisclassesd'agent,quatreprotocolesentreeuxetdeuxacteurs:

Lestroisclassesd'agentsontServeur,DistributeuretWrappeur.

LesquatreprotocolessontleprotocoleServeurRequetedeServeurDistributeur,le
protocole DistributeurRequete de Distributeur Wrappeur, le protocole
WrappeurReponsedeWrappeurDistributeuretleprotocoleDistributeurReponse
deDistributeurServeur.

Lesdeuxacteurssontutilisateuretsiteweb.

3.3.2Modlisationd'agentinterne
Lesystmecontienttroisclassesd'agent:Serveur,Distributeur,Wrappeur.Voicilemodle
de Serveur, les autres sont prsents dans l'annexe B. Le Serveur joue quatre rles :
Rcepteur,Envoyeur,DistributeuretIntgrateur.Soncomportementinterneestuncycle

Gnie logiciel orient agent

31

suivant:

Toutd'abord,aprstrecr,ilentrel'tatderceptiondesdemandesdel'utilisateur.

Quand une demande de l'utilisateur arrive, il entre l'tat de cration des sous
demandes, s'il est ncessaire. Aprs cet tape, il possde un ensemble des sous
demandes.

Aprs avoir envoy des sousdemandes aux Distributeurs correspondant, il entre


l'tatd'attendupourattendretouteslesrponsesdesDistributeurs.

AprsavoirreutouteslesrponsesdesDistributeurs,ilentrel'tatd'intgrationdans
lequelillesintgreaursultatfinal.Puis,ill'envoiel'utilisateuretrentrel'tatde
rceptiondenouvellesdemandesd'autreutilisateur.

Gnie logiciel orient agent

32

3.3.3Modlisationdeprotocole
Ilyaquatreprotocolessousdeuxpairsdanslesystme:LeprotocoledeServeurRequeteet
leprotocoledeDistributeurReponse,leprotocoledeDistributeurRequeteetleprotocolede
WrappeurReponse.Voicilepremierpairdesprotocoles(lerestedansl'annexeB).
ServeurRequete

Le protocole de ServeurRequete permette Serveur d'envoyer des sousdemandes


Distributeur.

Lesparticipants:Serveur(transmetteur)etDistributeur(rcepteur).

Lesinformationschanges:unesousdemande,uneconfirmation.

Scnario:

ServeurenvoieunDistributeurunesousdemande.

DistributeurenvoieServeuruneconfirmation.

DistributeurReponse

Le protocole de DistributeurReponse permette Distributeur d'envoyer une rponse


Serveur.

Lesparticipants:Distributeur(transmetteur)etServeur(rcepteur).

Lesinformationschanges:unerponse,uneconfirmation.

Scnario:

DistributeurenvoieServeurunerponse.

ServeurenvoieDistributeuruneconfirmation.

3.3.4Modled'exploitation
Ilyatroistypesd'agent:

Gnie logiciel orient agent

33

Serveur:unseul.

Distributeur : un service en a un. Par exemple, le Distributeur de football, le


Distributeurdemto...Donc,cetypen'estpasbeaucoup.

Wrappeur:unserviceenaplusieurs,chaquesiteweb(ressourcedesinformations)a
unWrappeurcorrespondant.Donc,cetypeestnombreux.

PuisquelenombretotaldeServeuretdeDistributeurn'estpastropgrand,onpeutlesmets
danslemmeserveur.LenombredeWrappeurestgrand,donconlesmetsdanschaquesite
(s'ilestpossible)surlequelilsextraientdesinformationsncessaires:

Serveursesituedansleserveurdusystme.

LesDistributeurssesituentaussidansleserveurdusystme.

ChaqueWrappeursesituedanslesitewebsurlequelilextraiedesinformations.

3.4Biland'analyseetconception
Cettesectionvafaireunbilansurdesaspects:

L'application

Lamthodologieapplique

L'outilutilis

3.4.1Application
L'intentiondefournirplusieursservices.Eneffet,onaanalysetconupourunseulservice
defootball.
Enpointdevuedel'application,l'architecturedusystmeestouvertetflexiblecarelle

Gnie logiciel orient agent

34

permetde:

Ajouter un nouveau service au systme ou supprimer un service du systme (au


niveaudeservice,parexemplelefootball,lemto...).

Ajouterunnouveausitewebouchangerunsitewebd'unWrappeurcorrespondant.

Quandonveutajouterunnouveauserviceausystme,onnedoitfaireque:

Construire un module correspondant au service qui contient un Distributeur du


serviceetdesWrappeursquiextraientdesinformationsncessairessurlessitesweb
correspondants.

Mettrejourl'ontologiedusystmeenyajoutantdesconnaissancesconcernantde
nouveauxagents(unDistributeuretdesWrappeurs)etdenouveauxservicesajouts.

Quandonveutajouterunnouveausiteunserviceouchangerunsited'unservice,onne
doitfaireque:

Construire un module qui contient un Wrappeur qui extraie des informations


ncessairessurlesitewebcorrespondant.

Mettrejourunepartiedel'ontologiedusystmeenyajoutantdesconnaissances
concernantlenouveauWrappeur.

Danscescas,onn'apasbesoindechangerlescomposantsexistantdusystme.
3.4.2Mthodologie
Enutilisantlamthoded'analyseetconceptionorientesagent,onpeut:

Modliser un systme basant sur des composants dans toutes les deux aspects :
modliserlescomposantsdanslesystmeetmodliserlesinteractionsentreeux.
Cependant,sionprendunemthodeorienteobjet,onnepourramodliserqueles
composantsdanslesystme.

Facilementmodliserl'interagissemententrelesagents.Lesprotocolespermettent
auxagentsd'interagiravecuneseulecondition:Ilsconnaissentuneontologieet
interagissent selon un protocole particulier. Cependant, si on prend une mthode
orienteobjet,ondevraappelerdesfonctionsentreslesclassesetd'ailleurs,ondevra
connatrelaprototypedesfonctionsdechaqueclassedesobjets.

Profiterlacapacitd'autonomed'agent.LesWrappeursextraientautomatiquement
desinformationsmaisonn'apasbesoindes'inquiterleurcapacitd'autonome.

Profiterlacapacitd'agissementd'agent.Onn'apasbesoindecontrlertouslescas
possiblesdeleurcomportementenutilisantlarglesi...alors....

Gnie logiciel orient agent

35

3.4.3Outil
L'utilisationdeUMLpouranalyseretconcevoirlesystmeorientagentadesavantages:

FacilecomprendrecarUMLestpopulairedanslemonded'analyseetconception.

OnpeutappliquerdesmodlesdeUMLdansl'analyseetconceptiondesystme
orientagentcarilyadesmthodologiesd'analyseetconceptionorientesagentqui
basentsurcellesd'analyseetconceptionorientesobjet.

Mais,ilyadesinconvnients:

Ilmanquedesmodlesparticulierspourchaquetapedelamthode.Ilyadeux
tapes ayant un modle correspondant : modle de systme (modle de cas
d'utilisateur)etmodledeclasse.Lesautresdoiventutiliserlemodledeclassepour
reprsenterleurrsultat.

Ilmanquedesoutilsncessairespermettantdeconstruireetdereprsenterl'ontologie
dusystme.Ici,ondoitutiliserlemodledeclassepourcebut.

Ilmanqueaussidesoutilspourmodliserlesrelationsentrelesagentsetlesrles,
entrelesrlesetlesbuts.

Ilmanqueaussiunmcanismepourmodliserlechangementautomatiquedesrles
dunagentquandiljoueplusieursrlesdiffrents.

3.5Conclusion
Cechapitreaprsentunetudedecasdanslaquelleonaanalysetconuunsystme
fournissantunservicedesinformationsquisontextraitesetintgresdesplusieurssources
diffrentesd'information.Cesystmeestanalysetconuenappliquantlamthodologie
d'analyseetconceptionorientesagentquiatrsumedanslechapitre2.
Lapplicationdunenouvellemthodenestpasfacile,surtoutdanslecasoilmanquedes
outilspourlesdemandesparticuliersdanslamodlisationdesystmemultiagent.Pourtant,
onpuissetrsbiendirequelesystmemodlisesttoutfairetouchlesystmedsir.

Gnie logiciel orient agent

36

Conclusion
Lagnielogicielorientagentaattirplusieurschercheursdanslesderniersannes.Son
problme le plus important est de modliser un systme sous forme d'un systme
multiagent:

Commentmodliserunsystmemultiagent?

Quandappliquercettemthode?

Queloutilaidantraliserlesystme?

Ilyavaitplusieursmthodesetoutilsproposs.Engnral,cesmthodesbasentsurde
nouveauxtermes:agents,rles,buts,capacits...Ellesconsidrentunsystmecommeune
organisationdanslaquelleilyadesagentsetdesrelationsentreeux,chaqueagentjouedes
rlesdiffrentsselonsescapacitspourobtenirdesbutsdusystme.Ellesmodlisentdonc
lesystmemultiagentsurdeuxaspects:

Modlisationlescomposantsdanslesystme:lesagents,lesrles,lesbuts,les
capacits

Modlisationlesinteractionsdanslesystme:lesprotocoles,l'ontologie

Eneffet,iln'yapasencoreunemthodestandardpourtouteslesapplications.Iln'yapas
nonplusunoutilpourcebut.Ilaaussiindiqudesinconvnientsmaintenantdesmthodes
etoutils:

Commentmodliserlechangementautomatiquederled'unagentquandiljoue
plusieursrlesdanslesystme?

Iln'yapasencoreunoutilquinousaidecrer,modliserouchangerl'ontologie
d'unsystmemultiagent.

Cedocumentafaitunbilansurdesmthodesrcentesetamontrunemthodelaplus
communeentreeux.Lamthodersumeatappliquepouranalyseretconcevoirun
systme qui fournit des informations par la portable en extrayant et en intgrant
automatiquementdesinformationsdessourcesdistribuesdiffrentes.

Gnie logiciel orient agent

37

Rfrences
[1]. B. Bauer, Jorg P. Muller, and J. Odell. Agent UML: A Formalism for Specifying
MultiagentInteraction.InP.CiancariniandM.Wooldridge,editors,AgentOriented
SoftwareEngineering,pages91103.Springer,Berlin,2001.
[2].F.Bellifemine,G.Caire,A.Poggi,G.Rimassa. JADEAWhitePaper.vol.3,n3,
September2003.
[3].F.Chiclana,F.Herrera,E.HerreraViedmaandL.Martnez.AnoteontheReciprocity
intheAggregationofFuzzyPreferencerelationsusingOWAoperators.FuzzySets
andSystems137:1,pages7183,2003.
[4].G.Cabri,L.Leonardi,andF.Zambonelli. BRAIN:AFrameworkforFlexibleRole
Based Interactions in multiagent Systems. Proceedings of the 2003 Conference on
CooperativeInformationSystems(CoopIS),Catania,Italy,pages145161,2003.
[5]. S. A. DeLoach. Analysis and Design using MaSE and agentTool. 12th Midwest
Artificial Intelligence and Cognitive Science Conference(MAICS 2001), Miami
University,Oxford,Ohio,March31April1,2001.
[6]. S. A. DeLoach. Engineering Organizationbased Multiagent Systems. The 4th
InternationalWorkshoponSoftwareEngineeringforLargescalemultiagentSystems
(SELMAS05),May1516,2005,St.Louis,MO.Springer, LNCSvol.3914,,pages
109125,.
[7]. J. DiLeo, T. Jacobs and S. A. DeLoach. Intergrating Ontologies into Multiagent
Systems Engineering. Fourth International BiConference Workshop on Agent
OrientedInformationSystems(AOSI2002),Bologna(Italy),1516July2002.
[8]. S. A. DeLoach, E. Matson. An Organizational Model for Designing Adaptive
MultiagentSystems.TheAAAI04WorkshoponAgentOrganizations:Theoryand
Practice(AOTP2004),2004.
[9].S.A.DeLoach,M.F.WoodandC.H.Sparkman. MultiagentSystemsengineering.
InternationalJournalofSoftwareEngineeringandKnowledgeEngineering,vol.11,
n3,pages231258,2001.
[10].G. Carbi, L. Ferrari and F. Zambonelli. Rolebased Approaches for Engineering
InteractionsinLargescalemultiagentSystems.InAdvancesinSoftwareEngineering
for LargeScale Multiagent Systems (postproceedings of SELMAS 03), Springer,
2004.
[11].M.He,N.R.JenningsandH.Leung.OnAgentMediatedElectronicCommerce.IEEE
TransactionsKnowledgeandDataEngineering15(4),pages9851003,2003.
[12] C. Iglesias, M. Garrijo, J. Gonzalez and J. R. Velasco. Analysis and Design of
multiagent systems using MASCommonKADS. Intelligent Agents IV: Agent
Theories,ArchitecturesandLanguages,1997,M.P.Singh,AnandRaoandM.J.
Wooldridge,eds.,LectureNotesinComputerScience1365.

Gnie logiciel orient agent

38

[13].S.Kraus.AutomatedNegotiationandDecisionMakinginMultiagentEnvironments.
European Agent Systems Summer School (EASSS2001) pages 150172, Prague,
CzechRepublic,2001.
[14].B.Lui,R.GrossmanandY.Zhai.MiningDataRecordsinWebPages.Proceedingsof
the ACM SIGKDD International Conference on Knowledge Discovery & Data
Mining(KDD2003),Washington,DC,USA,August2427,2003.
[15]. X. Luo, J. H. Lee, H. Liung and N. R. Jennings. Prioritised Fuzzy Constrant
SaticfactionProblems:Axioms,InstantiationandValidation.JournalofFuzzySets
andSystems,136(2),pages155188,2002.
[16].P.MoraitisandN.Spanoudakis.CombiningGaiaandJADEformultiagentSystems
Development. The 4th International Symposium "From Agent Theory to Agent
Implementation" (AT2AI4), in: Proceedings of the 17th European Meeting on
CyberneticsandSystemsResearch(EMCSR2004),Vienna,Austria,April1316,
2004.
[17]. Scott A. OMalley and Scott A. DeLoach. Determining When to Use an
Agent_Oriented Software Engineering Paradigm. Proceedings of the Second
International Workshop On AgentOriented Software Engineering(AOSE 2001),
Montreal,Canada,May29th2001.
[18]. J. Odell, M. Nodine, and R. Levy. A Metamodel for Agents, Roles, and Groups.
AgentOriented Software Engineering (AOSE) V, James Odell, P. Giorgini, Jrg
Mller, eds., Lecture Notes on Computer Science volume (forthcoming), Springer,
Berlin,2005.
[19].J.Odell,H.V.D.Parunak,andB.Bauer.ExtendingUMLforagents.InG.Wagner,
Y.Lesperance,andE.Yu,editors,ProceedingsoftheAgentOrientedInformation
SystemsWorkshopatthe17thNationalconferenceonArtificialIntelligence,Austin,
Texas,july302000.
[20].H.V.D.ParunakandJ.Odell.RepresentingSocialStructuresinUML.AgentOriented
SoftwareEngineeringII,LectureNotesonComputerSciencevol.2222,Springer
Verlag,Berlin,pages116,2002.
[21].M.Saywell.NegotiationAgents:AnOverview.In:MultimediaSystemsCoursework,
Dept.ofElectronicsandComputerScience,UK,2000.
[22].K.P.Sycara.MultiagentSystems.AIMagazine,vol.10,n2,pages7993,1998.
[23]. M. Wooldridge and N. R. Jennings. InteliigentAgents: Theory and Practice. The
KnowledgeEngineeringReview,10(2),pages115152,1995.
[24].M.J.Wooldridge,N.R.JenningsandD.Kinny.TheGaiamethodologyforagent
oriented analysis and design. Autonomous Agents and multiagent Systems, 3(3),
pages285312,September2000.
[25].L.Yi,B.LuiandX.Li.EliminatingNoisyInformationinWebPagesforDataMining.

Gnie logiciel orient agent

39

Proceedings of the ACM SIGKDD International Conference on Knowledge


Discovery&DataMining(KDD2003),Washington,DC,USA,August2427,
2003.
[26] F. Zambonelli, N. R. Jennings, M. Wooldridge. Organizational Rules as an
AbstractionfortheAnalysisandDesignofmultiagentSystems.InternationalJournal
ofSoftwareEngineeringandKnowledgeEngineering,vol.11,n3,pages303328,
2001.
[27].F.Zambonelli,N.R.Jennings,M.J.Wooldridge.DevelopingMultiagentSystems:the
GaiaMethodology.ACMTransactionsonSoftwareEngineeringandMethodology,
vol.12,n3,July2003.

Gnie logiciel orient agent

40

AnnexeA:Mthodologies
Cetannexevaprsenterendtailldesmthodologiesmentionnesdanslerapport:

MASCommonKADS

MaSE

Gaia

OMASE

A.1MASCommonKADS

MASCommonKADS[12](multiagentSystemKnowledgeAnalysisandDevelopment
System):tendlamthodologiedegnieconnaissance[12]enprenantlestechniques
orientobjetetlestechniquesdelamthodologiedegnieprotocole.Ellecontientsept
modles.

Modled'agent:dterminelescaractristiquesdel'agent:Lescapacitsderaison,
leshabilets(percevoir/s'agir),lesserviceslesgroupesethirarchiedesagents.

Modle de tche : dtermine les tches que l'agent peut s'occuper : les buts, les
partitionslescomposantsetlesmthodesdersoudreleproblme.

Modled'expert:dterminelesconnaissancesdontlesagentontbesoinpourobtenir
leursobjectifs.

Modled'organisation:dterminel'organisationdanslaquellelesystmemultiagent
estconsidrcommeuneorganisationsocialedelasocitd'agent.

Modle de coordination : dtermine les conversations entre les agents : les


interactions,lesprotocolesetlescapacitsncessaires.

Modledecommunication:dtermineendtailll'interactionentrelesagentsetles
gens,lesfacteurshumainespourdvelopperlesinterfacesaveclesgens.

Modledeconception:collectecesmodlescidessus.Ilcontienttroissousmodles
: Conception de rseau, il conoit les fondations du rseau d'agent. Conception
d'agentconoitl'architectureinternedel'agent.Conceptiondeplatformeslectionne
laplatformededveloppementagentpourchaquearchitectured'agent.

Conceptualisation :dcritleproblmeendtailleenidentifianttouteslesexigences,les
besoins,lesbuts,lestches...Cettephaseutiliselescasd'utilisation,unetechniqueorient
objet,pourfairecomprendrel'exigenceinformelleetpourtesterlesystme.Chaquecas
d'utilisationdcritendtailluncomportemententrelesystmeetlesgens.
Analyse:dcritetmodliselesystmeenprenantlesmodles.

Modlisationd'agent :crelesinstancesoriginales pouridentifieretdcrireles


agents en utilisant le modle d'agent. Il contient deux soustapes. Premier,
l'identification des agent dans le systme : soit en basant sur les acteurs qui
apparaissentdanslescasd'utilisation,soitenextrayantlesujetdesphasesdansles

Gnie logiciel orient agent

41

casd'utilisation.Second,l'identificationlesrelationsentrelesagentspropossen
basantaussisurlescasd'utilisation.

Modlisationdetche:dcouvritetdcrittouteslestchespossiblesdanslesystme
enutilisantlemodledetche.Ildcomposedestchesenutilisantl'approchede
hautbasetenconstruisantunarbredestches.Chaquetcheestdcrieparson
nom,lesentrs,lessortis,sastructur,lescontrls,lescapacitncessaires...

Modlisationdecoordination:dveloppelemodledecoordination.Ilcontientdeux
soustapes. Premier, dfinition et construit le prototype pour les canaux de
communication.Ildcritlesscnariosprototypesentrelesagents.Puis,ilreprsente
les vnements entre eux et modlise les informations changes dans chaque
interaction.Etpuis,ilmodlisel'interactionaveclediagrammedetransfertl'tat.En
fin,ildterminechaqueinteractionestsynchroneouasynchrone.Second,ilvrifie
chaquediagrammed'interactions'ilsatisfaitlebesoin,s'ilyadestchesdupliquesou
s'ilyexistequelquesconflits...

Modlisationdeconnaissance:modliselaconnaissancedudomaine.Ellecontient
laconnaissance ncessairepourobtenirl'objectifdel'agentetlaconnaissancede
l'environnementetdesautresagents.Ilcontienttroistypesdeconnaissance:La
connaissance de domaine concernant le problme, la connaissance d'infrence
reprsentantlestapesinfrespourrsoudreunetche,laconnaissancedetche
reprsentantl'ordredelastructurinfre.

Modlisationd'organisation :dveloppelemodled'organisationenbasantsurle
modled'agent.Cemodleprsentelesrelationsstatiquesoustructuresentreles
agents.

Conception :partirdel'ensembledesagentsquiainitidanslaphased'analyse.On
conoitlemodledeconceptionselonlestapes.

Conceptionderseaud'agent:dterminelesfondationsncessairespourlesystme
multiagent.Cesfondationscontiennenttroisaspects:lafacilitderseauconcernant
lesservicesdurseau,niveaudescurit,leprotocoledel'application.Lafacilitde
connaissance concernant l'ontologie, le transfert la langue reprsentant la
connaissance.Lafacilitdecoordinationconcernantlesmcanismespourlagestion
desressourcescommunes.

Conceptiond'agent :dterminel'architecturequiconvientlepluschaqueagent.
Chaqueagentestdivisparrapportdesmodules:decommunicationhumaine,de
communicationagent,dedlibrationetraction,deserviceexterne...

Conceptiondeplatforme:slectionnelelogicielquijouederledel'environnement
dveloppd'agent.

Cette mthodologie intgre la mthodologie de gnie connaissance et les techniques de la


mthodologieorientobjetetgnieprotocole.Elleproposeunnouveaumodle,c'estmodlede
coordination,quipeutreprsenterlesrelationsdynamiquesentrelesagentsoulesagentsetlesgens

Gnie logiciel orient agent

42

danslesystme,etdonc,ellenousaidedeconcevoirlesystmeplusdynamiquequ'autrefois.
A.2MaSE

MaSE([5],[7])(multiagentSystemEngineering):Elleconsidreunagentcommeuntype
d'objet,soitayantdel'intelligence,soitnon.Lebutdecettemthodeestdetransformerles
exigencesentresdel'utilisateurauxmodlesquidcriventletyped'agent,sesinteractions
aveclesautresetl'architectureinternedechaqueagent.
LestapesdelamthodologieMaSE
Exigences

Collection des
exigences

Modle
d'organisation

Analyse

Modle
d'environnement
Modle prliminaire
de rle

Modle prliminaire
d'interaction
Rgles
d'organisation

Conception
architecturale

Modle
de structure
Modle
de rle

Modle
d'interaction

Modle
d'agent

Modle
de service

Conception
dtaille

Analyse :identifielesrleetlestchesquelesystmedoits'occuperenjouantcesrles.Elle
contientdestapes

Captationdesbuts :identifieetpartitionnelesbutsdusystme.Puis,lesorganise
dansundiagrammesousformehirarchieselonlesrelationsentrelesbuts.

Descriptiondescasd'utilisationparlesdiagrammessquences :enbasantsurles

Gnie logiciel orient agent

43

exigences et le modle de but, on extraite les scnarios qui reprsentent le


comportementdusystmedanslescasspcifiques.Chaquescnariodcritendtaill
lespartenaires,l'ordredesactivitsetlesinformationschangesentreeux.

Construirel'ontologie :construitlaconnaissancedansledomained'applicationdu
systmeenmodlisantlesinformationschangesdanslesscnarios.

Construirelesrles:enbasantsurlesdiagrammessquencesetlesbuts,onidentifie
lesrledusystme.Chaquebutestcaptparaumoinsunrle,etviseversa,unrle
s'occupeaumoinsunbut.Selonlesdiagrammesdesscnarios,ondtermineles
relationsncessairesentrelesrles.

Reprsentationdestches:dcritendtaillchaquetchequ'onabesoinderaliser
pourobtenirlebut.Chaquetcheestdcrieparundiagrammedestatsdanslequel
onindiquel'tatinitial,l'tatfinietlestatsintermdiaires.Chaquetatadesentres,
dessorties,desfonctionsetdesconditionsprovoquesettermines.

Conception :identifielesagentsetlesconversationsentreeux.Elleconstruitendtaill
l'architecturegnraledusystmeetl'architectureinternedechaqueagent.

Crationdesclassesd'agent:identifielesagentsenbasantsurlesrles.Chaquerle
estjouparaumoinsunagentetunagentdoitjoueraumoinsunrle.Lesrelations
entrelesagentscorrespondentauxrelationsentrelesrlesdontilsjouent.

Construiredesconversations:dcritendtaillchaqueconversationentrelesagents.
Chaqueconversationestunprotocoledecoordinationentredeuxagents.Pourchaque
conversation,ondterminelesparticipants,agentinitial,agentfini,lestats.Chaque
tatadesfonctions,desconditionsentres,desconditionssorties,desactivit.

Construired'agent :construitl'architectureinternedechaqueagentenutilisantle
diagramme des tats. Chaque tat a des fonctions, des conditions entres, des
conditionssorties,desactivitqu'unagentdoitraliser.Lestatssontdpendudes
rlesdontunagentjoue.

Exploitationdesystme :indiquelaportraitdusystmequandonl'exploitdansun
environnementrel.Ondterminelenombredechaquetyped'agent,lesplacessur
lesquelleslesagentssesituent.

A.3Gaia

Gaia[27]:exploitel'abstractionorganisationnellepourfournirunmthoded'analyseet
conceptionlesystmedelogicielouvertetcomplexe.Ellecontientdeuxphases:l'analyseet
laconception.Laconceptioncontientlaconceptionarchitecturaleetlaconceptiondtaille.

Gnie logiciel orient agent

44

Exigences
initiales

Collection des
exigences

Hirarchie
des buts

Analyse

Cas d'utilisation

Diagramme
squence
Ontologie
du systme

Tche

Rle

Classe d'agent

Conception

Conversation

Architecture
d'agent
Diagramme
d'exploitation

LestapesdelamthodologieGaia

Analyse :organiselesexigencesetlesspcificationsauxmodlesdecettephase.Lebut
principalestdeconstruirelemodlederledusystme.

Modled'organisation:diviselesystmeparrapportplusieurssoussystmes.Soit
selonl'identificationdessoussystmesquiexistentdjdanslesystme,soitselon
lastructurdescomposants.Descomposantsappartiennentaummesoussystme
quand : soit ils ont les objectifs communs; soit ils interagissent avec une haute
frquence;soitleurshabiletssontprochesetchaquecomposantadeshabiletsdont
lesautresontvraimentbesoin.

Modle d'environnement : considre l'environnement en terme des ressources

Gnie logiciel orient agent

45

calcules abstraites. Il est considr comme une liste des ressources. Chaque
ressourceestassocieavecunnomcaractrisparl'actionquel'agentpeutys'agir.

Modleprliminairederle :cen'estpasencorel'organisationactuelle.Ilestune
dfinitionprliminairedesrlesetdesprotocolesdel'organisation.Gaiapropose
deuxtermespourreprsenterdelafaondemiformellelerle.Permission,dfinitla
relation de l'agent avec son environnement si l'agent a le droit d'accder les
ressources, de les changer ou de les consommer. Responsabilit, dtermine les
comportementsd'unagentselondeuxtypes:lepropritvivantquidcritlestats
auxquels un agent doit arriver sur quelques conditions, et proprit scurit qui
assurequ'unagentvientauxtatsacceptables.Puis,oncreunensembledesschma
derle,unrleenaunecorrespondante.

Modleprliminaired'interaction:captelesindpendancesetlesrelationsentresles
rles dans le systme, en terme d'une dfinition protocole pour un type de
l'interactionentreeux.Unprotocoleestdfiniprliminairementparlesattributs:le
nom,l'initiateur,lepartenaire,lesentres,lessortiesetladescription.

Modledergleorganisationnelle:largleorganisationnelleestconsidrecomme
le responsabilit de l'organisation. Elle contient deux types : la rgle vivante
concernantl'invariantquel'organisationdoitrespecter,larglescuritconcernant
l'expressdynamiquedel'organisation.Larglevivanteassurel'ordrederalisation
desrlesoudesprotocoles,d'unaprsd'autres.Larglescuritassurequeunrle
estjouparaumoisd'unagentetqu'unagentpeutjouerauplusunrlelafois.

Conceptionarchitecturale:compltelesmodlesprliminairesderleetdeprotocolequi
ontcrsdanslaphased'analyse.

Choixdestructurorganisationnelle:contientchoisirlatopologieetchoisirlergime
decontrle.Latopologiedpenddelaportdusystme,soitpairpair,soithirarchieavec
unniveau,soitcomplexeavechirarchieplusieursniveaux.Lergimedecontrletraitede
l'interaction entre les membres de l'organisation. Le choix est influenc par les rgles
organisationnellesetlesorganisationsrelles.Puis,onexploit lecadreorganisationnelet
reprsentelastructureorganisationnelle.

Compltementdemodlederle:Chaquerleestdcritendtaillparunensemble
descaractristiques.Puis,ondterminelesrelationsentrelesrlesenbasantsurla
topologieorganisationnelle:dterminantchaquerledoitinteragitavecquelsrles
pourfinirsamission.

Compltementdemodled'interaction:enbasantsurlatopologieorganisationnelle
et le modle de rle, on a des relations entre les rles. Puis, on dtermine les
informations changes dans chaque interaction pour dcrire le protocole : les
caractristiques,lerleinitial,lerlefini,lesinformationschanges.

Conceptiondtaille :identifielesagentspourcrerlemodled'agentetlemodlede
service.Cesmodlessontservispourlaphased'implmentation.

Gnie logiciel orient agent

46

Dfinitiondemodled'agent :identifielesagentsendcidantchaqueagentpeut
jouerquelsrles.Ladcisiondpenddelatopologieorganisationnelle(lergimede
l'interaction). Puis, en basant sur les relations entre les rle correspondants, on
dcouvritlesrelationsentrelesagents.

Dfinitiondemodledeservice:identifielesservicesqu'unagentfournitenjouant
des rles correspondants. Chaque service est dcrie par un ensemble des
caractristiques : les entres, les sorties, les conditions provoques, les pr
conditions,lespostconditions.

Gaia se base fortement sur le rle dans le systme. Elle propose aussi des rgles
d'environnementetd'organisation.Cependant,ellemanquelafaondeconstruirel'ontologie
dusystme,quisupportel'interactionentrelesagents.
A.4OMaSE

OMaSE [6] (Organization based Multiagent System Engineering): Cette mthode


considre un systme multiagent comme une organisation des agents dans laquelle les
agentssontlesmembres,chaqueagentjoued'unrlespcifiqueselonsescapacitspour
obtenir ses objectifs. Donc, le but de cette mthode est de construire une socit
organisationnelledesagentsenbasantsurlesmtamodlesdel'organisation.

But :estunobjectifquelesystmedoitobtenirousatisfaire.Ilestdiffrentdela
fonction du systme : le but ne s'intresse que le rsultat obtenu, cependant, la
fonctions'intresselafaonpourobtenirl'objectif.

Rle : est une entit capable d'obtenir des buts dans l'organisation. Un rle doit
s'occuperaumoinsunbutdusystme.Donc,ilyaunerelationentrelesrleetles
buts.

Agent : est un composant vivant et s'agissant autonome dans l'environnement.


Chaqueagentdoitjoueraumoinsunrlepourobtenirunoudesbuts.Donc,ilya
unerelationentrelesagents,lesrlesetlesbuts.

Capacit:reprsentelacapabled'agentpours'occuperdesmissions.Enbasantsurla
capacit,ondtermineprcismentlarelationentrelesagentsetlesrles:lesagents
ontdesproprescapacitsetlesrlesdemandentcertaincapacitpourjouercerle.
Donc,quandunagentalescapacitsncessairesdontunrledemande,ilpourra
jouercerle.C'estdire,l'agentpeutjouerdesrlesselonsesproprescapacits.

Ontologie:dfinitdesentitsdansledomained'applicationetleursrelations.Parmi
entreeux,onextraitedestypesdedonneetleursrelationsquipermettentauxagents
decommuniqueraveclesinformationsspcifiques.

Analyse:contientlestapes

Modledebut:lesexigencessonttransfertsauxbutsdusystmeetorganisesdans
unarbrehirarchiedesbuts.

Modle prliminaire d'organisation : dfinit les interactions avec des acteurs

Gnie logiciel orient agent

47

externes.L'organisationpeuttrediviseparplusieurssousorganisationsselonles
butsd'organisation.Chaquesousorganisations'occupecertainbutetfournitcertain
servicesauxacteursouautressousorganisations.

Modlederle:dfinitlesrlesdansl'organisation,lesservicesqu'ilsfournissentet
lescapacitsdontilsdemandentpourlesjouer.Chaquerleestdfinipourobtenir
certainbutetfournircertainactivitspourraliserlesservices.

Modle d'ontologie : dfinit les entits dans le domaine d'application de


l'organisation.Chaqueentitestdcrieparsespropresattributsetlesrelationsavec
lesautres.

Conception:contientlestapes

Modle d'agent : dfinit les agents et leurs relations dans l'organisation. Chaque
agentestdcritparsescapacits,lesrlesdontilpeutjoueretlesservicesqu'il
fournitpourobtenirdesbuts.

Modledeprotocole :dfinitlesprotocolesentrelesagents.Chaqueprotocoleest
dcrit par un diagramme de squence qui indique les participants, les messages
changs,l'ordred'changerdesmessages.

Modle d'tat d'agent : dfinit le comportement de chaque agent en utilisant le


diagrammedestatsfinis.Chaquetatestdcritparlesconditionsprovoques,les
conditionssorties,lesfonctionsinternesetlescomportements.

OMaSEestlargiedeMaSE,doncellecomposedesavantagesdeMaSEetceuxdela
gnieorganisation.

Gnie logiciel orient agent

AnnexeB:Analyseetconceptiondusystmed'tudedecas
B.1Analyse
Danslaphased'analyse,ilyacinqmodles:

Modledesbuts

Modledescasd'utilisation

Modledesrlesetdestches

Modledesdomaines

Modledesagents

B.1.1Modledesbuts
Ilyadeuxsoustatsdecettat:

identificationdesbuts

constructiondel'arbredesbuts

Identificationdesbuts

Afindefournirleservicedesinformations,ilfaut:

fournirleserviceencontactantl'utilisateur,et

collectionnerdesinformationsdemandes

Afindecontacterl'utilisateur,ilfautuneinterfacepour:

recevoirlademandedel'utilisateur

envoyerlersultatfinal.

Afindecollectionnerdesinformations,ilfaut:

extrairedesinformationsncessaires

sauvegarderdesinformationscaptures

Donc,onaunensembledesbutsdusystme:

B0:Fournimentduservicedesinformations.C'estlebutgnraldusystme.

B1:Contactl'utilisateur.

B2:Collectiondesinformations.

B3:Rceptiondelademandedel'utilisateur

B4:Envoidursultatfinal

B5:Extractiondesinformationsncessaires

B6:Sauvegardedesinformationscaptures.

48

Gnie logiciel orient agent

49

Constructiondel'arbredesbuts

Enbasantsurlesrelationsentreslesbuts,onconstruitl'arbredesbutssuivant:

Lecontactdel'utilisateuretlacollectiondesinformationssontdesfilsdbutgnral.

Larceptionetl'envoisontpartidebutContactdel'utilisateur.

La collection des informations a des fils : l'extraction des informations et le


sauvegardedesinformations.

B.1.2Modledescasd'utilisation
Lesystmeadeuxtypesd'acteur:

L'utilisateur:cequiutiliseleservicedusystme.

Lesiteweb:cequiadesinformationsncessaires.

Donc,ilyadeuxcasd'utilisationprincipaux:

Le contact de l'utilisateur. Il contient la demande de l'utilisateur de recevoir des


informationsetlarponsedusystmelademandedel'utilisateur

L'extractiondesinformationsdessitesweb.

Gnie logiciel orient agent

50

Unescnarioducasd'utilisationContact:
1.

Unutilisateurdemandeausystmed'avoirlesrsultatsdes5derniersmatchsdefootballdel'quipeChelseaet
del'quipeBarca.Ilenvoieunmessagedemanddesaportableausystme.

2.

Leserveurreoitlemessageindiquantquelademandeconcerneledomainedefootball.Ilenvoielademande
distributeurquis'occupedefournirdesinformationsdefootball.

3.

Ledistributeurfootballanalyselademande:elleconcernedeuxquipes,ChelseaetBarca.Chelseaconcerne
dessitesweb:lesitedufootballanglaisetlesitedufootballeuropen(C1).Barcaconcerneaussideuxsites
web:lesitedufootballespagnoletlesitedufootballeuropen(C1).Donc,ledistributeurfootballcrequatre
requtes:unepourlewrappeurdusitedufootballanglais,deux(uneconcerneChelsea,uneconcerneBarca)
pourlewrappeurdusitedufootballeuropen,unepourlewrappeurdusitedufootballespagnol.

4.

Lewrappeurdusitedufootballanglaischerchedanssaproprebasededonnescaptureslesrsultatsdes5
derniersmatchsdel'quipeChelsea.Puis,illesenvoieaudistributeurfootball.

5.

Lewrappeurdusitedufootballeuropencherchedanssaproprebasededonnescaptureslesrsultatsdes5
derniersmatchsdel'quipeChelseaet5derniersmatchsdel'quipeBarca.Puis,illesenvoieaudistributeur
football.

6.

Lewrappeurdusitedufootballespagnolcherchedanssaproprebasededonnescaptureslesrsultatsdes5
derniersmatchsdel'quipeBarca.Puis,illesenvoieaudistributeurfootball.

7.

Aprsavoirreutouteslesrponsesdeswrappeurs,ledistributeurfootballintgrecesrponsesaursultat
final:5derniersmatchsdechaquequipeChelseaetBarca.Puis,ill'envoieauserveur.

Gnie logiciel orient agent


8.

51

Aprsavoirreulersultatdudistributeurfootball.Leserveurl'envoilaportabledel'utilisateur.

B.1.3Modledesrles
Selonl'ensembledesbutsdusystme,onproposedesrles:

R1:Rcepteur.Cequireoitlademandedel'utilisateur.

R2:Envoyeur.Cequienvoielersultatfinall'utilisateur.

R3:Distributeur.Cequidistribuelademandeauxrequtesconcrtes.

R4:Intgrateur.Cequiintgrelesrponsesaursultatfinal.

R5 : Demandeur. Ce qui demande aux wrappeurs de chercher les informations


concernantlademande.

R6:Container.Cequigardedesinformationscapturessurchaquesite.

R7:Capteur.Cequicapturedesinformationsncessairessurchaquesite.

Lesrelationsentrelesbutsetlesrlesdusystme:

RcepteurenvoielademandeDistributeur.

DistributeurenvoiedesrequtesDemandeur.

DemandeurdemandeContainerderpondrechaquerequte.

Gnie logiciel orient agent

52

ContainerrpondlademandedeDemandeur.

CapteurenvoielersultatcapturContaineur.

DemandeurenvoielarponseIntgrateur.

IntgrateurenvoielersultatintgrEnvoyeur.
B0

B1

R1

B2

B3

B4

B5

B6

x
x

R2
R3

R4

R5

R6
R7

x
x

B.1.4Modledesdomaines
Ilyadeuxtypesdesinformationsauxquellesons'intresse:

Lesinformationsncessairespourchangerentrelesagents.Ellessontsousforme
desmessageschangsentreeux.

Les informations ncessairespourcomprendrele contenu dumessage.Ellessont


sousformed'unebasedeconnaissancesdusystme.

Typedemessage

Ilyatroistypesdemessage:

Adresse:ilreprsentel'adressed'unagent.Ilcontientunhteauquelagentsesitueet
uneportparlaquelleagentcommuniqueaveclesautres.

Enquete:ilreprsenteunerequted'unservice.L'attributtypesoitunrsultat
d'unematch,soituncalendrier,soitunclassement.L'attributquipeestlenom
d'quipementionne.L'attributnombredematchestutiledanslecasondemande
quelquesderniersmatchesd'unequipe.

Resultat : il reprsente le rsultat obtenu d'un service. L'attribut type soit un


rsultatd'unematch,soituncalendrier,soitunclassement(ressembleceluidansla
classeEnquete).L'attributcontenureprsentelavaleurcorrespondant.

Gnie logiciel orient agent

53

Basedeconnaissancesdusystme

Ondoitreprsenterdelaconnaissancegrcelaquellelesagentspeuventcomprendrece
qu'ondemandeetlestermesdansledomainedeservice.Cetteconnaissancepermetaux
agentsdeprojeterdeleursproprestermesauxtermesdesautres.
Onlareprsentesousformeunarbre(danslecascomplexe,c'estungraphe)dontlenoeud
estuntermedansledomaine:

Pluslenoeudestprsdelaracine,plusletermereprsentparcenoeudestgnral,
etviceversa.

Unfilsderondereprsenteuntermedansledomainedetermereprsentparnoeud
parent.

Unfilsderectanglereprsentedestermesquivalantdanslecontextededomaine
dterminantparletermedenoeudparent.

Voiciunpetitmorceaudelaconnaissancedusystme.Laracinereprsenteuntermeleplus
gnralduservice,puisleniveaudesnoeudsreprsentantdesservicesconcrtes,etpuis,le
niveaudesnoeudsreprsentantdespartiesd'unservice...Leniveaudesnoeudsdesfeuilles
reprsentantdestermesleplusdtaillspourchaqueservice.Lefilsderectanglereprsente
destermesquivalantquechaquepageutilise.

Gnie logiciel orient agent

54
Service
intgr

Football

Franais

Anglais

Mto

Europen

quipe
Liverpool

MU

Liv'l / Liver / Liv'pool

Man'Utd / Manchester'U / Man'Utd / Manchester United

B.1.5Modledesagents
Onproposetroistypesd'agent:

Serveur. Ce qui communique avec l'utilisateur, gre la manipulation gnrale du


systme.Ilcontactedirectementl'utilisateuretlesagentsdistributeurs.

Distributeur.Cequicredesrequtesconvenablesauxcapacitsdeswrappeurssur
chaquesite.

Wrappeur.Cequiextraireautomatiquementdesinformationsncessaires.Ilrpond
directementlademandedudistributeur.

Gnie logiciel orient agent

55

Larelationentrelesagentsetlesrlesdusystme:

Le Serveur joue le rle de rcepteur, d'envoyeur, de distributeur des requtes,


d'intgrateurdesrponses.

Le Distributeur joue le rle de distributeur des requtes, de demandeur et


d'intgrateur.

LeWrappeurjouelerledecontaineretdecapteurdesinformationssurchaquesite.

Serveur

R1

R2

R3

R4

Distributeur

R5

R6

R7

Wrappeur

Lesystmeaseptbuts,septrlesettroisagents:

LesdeuxbutsB1etB2sonttoutfairepartitionns.Donc,ilsn'ontpasbesoindes
rles.

LestroisrlesR3,R4etR5correspondentaubutB0.Lereste,chaquerles'occupe
d'unbut.

Serveurjouequatrerles,DistributeurjouetroisrlesetWrappeurjouedeuxrles.

B0

B1

B2

B3

B4

R1

R2

R3

R4

R5

B5

B6

R6

R7

Gnie logiciel orient agent

56

B.2Conception
Danslaphasedelaconception,ilyaquatremodles:

Modledesclassesd'agent

Modledesprotocoles

Modledestructured'agent

Modled'exploitation

B.2.1Modledesclassesdtaille
Lesystmeatroisclassesd'agent,quatreprotocolesentreeuxetdeuxacteurs:

Lestroisclassesd'agentsontServeur,DistributeuretWrappeur.

LesquatreprotocolessontleprotocoleServeurRequetedeServeurDistributeur,le
protocole DistributeurRequete de Distributeur Wrappeur, le protocole
WrappeurReponsedeWrappeurDistributeuretleprotocoleDistributeurReponse
deDistributeurServeur.

Lesdeuxacteurssontutilisateuretsiteweb.

B.2.2Modled'agentinterne
Lesystmecontienttroisclassesd'agent:

Serveur

Distributeur

Gnie logiciel orient agent

57

Wrappeur

Serveur

Le Serveur joue quatre rles : Rcepteur, Envoyeur, Distributeur et Intgrateur. Son


comportementinterneestuncyclesuivant:

Toutd'abord,aprstrecr,ilentrel'tatderceptiondesdemandesdel'utilisateur.

Quand une demande de l'utilisateur arrive, il entre l'tat de cration des sous
demandes, s'il est ncessaire. Aprs cet tape, il possde un ensemble des sous
demandes.

Aprs avoir envoy des sousdemandes aux Distributeurs correspondant, il entre


l'tatd'attendupourattendretouteslesrponsesdesDistributeurs.

AprsavoirreutouteslesrponsesdesDistributeurs,ilentrel'tatd'intgrationdans
lequelillesintgreaursultatfinal.Puis,ill'envoiel'utilisateuretrentrel'tatde
rceptiondenouvellesdemandesd'autreutilisateur.

Gnie logiciel orient agent

58

Distributeur

LeDistributeurjouetroisrles:Distributeur,IntgrateuretDemandeur.Soncomportement
estuncyclesuivant:

Toutd'abord,aprstrecr,ilentrel'tatderceptiondesdemandesconcrtesde
Serveur.

QuandunedemandedeServeurarrive,ilentrel'tatdecrationdesrequtes,s'ilest
ncessaire.Aprscettape,ilpossdeunensembledesrequtes.

Aprs avoir envoy des requtes aux Wrappeurs correspondant, il entre l'tat
d'attendupourattendretouteslesrponsesdesWrappeurs.

AprsavoirreutouteslesrponsesdesWrappeurs,ilentrel'tatd'intgrationdans
lequelillesintgresaproprerponse.Puis,ill'envoieServeuretrentrel'tatde
rceptiondenouvellessousdemandesdeServeur.

Gnie logiciel orient agent

59

Wrappeur

LeWrappeurjoue deux rles deContaineretCapteur.Son comportement estun cycle


suivant:

Toutd'abord,aprstrecr,ilentrel'tatdecherchedesinformationssurlesite
dontils'occupe.

S'ilyaunrequted'unDistributeur,ilentrel'tatderponsedanslequelilrequisse
danssaproprebasededonnespourobtenirunerponsesatisfaisantlarequtede
Distributeur.

Aprs avoir envoy le rponse Distributeur, il revient l'tat de cherche des


informations.

Algorithmed'extractiondesinformations

L'ideestd'extrairedesinformationssurlesiteenbasantsurlastructurdesjetons(tags)de
lapageHTMLquelanavigateuraffiche.Onconstruitl'arbreDOMpourlapage.L'arbre
DOM(DocumentObjetModle)estunarbrereprsentantlastructurdesjetons(tags,par
exemple:HTML,BODY,TABLE,TR,TD...)delapage.Puis,dansl'arbre,ondtermine
desnoeudsinutilespourlesjeter,desnoeudsreprsentantdesinformationsncessairespour
les traiter. Et puis, en basant sur l'arbre, on dtermine des rgions reprsentant les
informations dont on a besoin. En fin, on extrait des informations dans ces rgions
([14],[25])(voyezendtaillenannexeA).

Gnie logiciel orient agent

60

Begin

Crawler pages HTML

Cration d'arbre DOM

limination
des bruits d'informations

Extraction
des rgions de donnes

Extraction
des informations

End

L'algorithmecontientcinqtapesprincipales:

CrawlerdespagesHTMLdusiteweb:oncaptureaumoinsdedeuxpagesdusite
pourreconnatredeformedusite.

Crationd'arbreDOM:Enbasantsurlastructuredesjetonsdelapage,onconstruit
unarbrepourunepage.Chaquepageaunarbrecorrespondant.

liminationdesbruitsdesinformations:onliminedesbruitsdesinformationsdans
l'arbreDOMenutilisantl'arbreST(StyleTree,[25]).Desbruitsapparaissentsous
formedesjetonsinutilesquireprsententdesinformationsauxquellesonn'intresse
pas,parexempledesjetonsdesscripts,despublicits,despanelsdenavigation...Cet
tapeestpourlebutdediminuerdelacomplexitetd'augmenterdelaprcisiondes

Gnie logiciel orient agent

61

traitementsdanslestapessuivantes.

Extraction des rgions des informations : on slectionne des rgions dans l'arbre
DOMquiontdelapossibilitdereprsenterdesinformationsdontonabesoin.Des
rgionssontslectionnesencomparantladistancedite[14]entreslesnoeudsde
l'arbreDOM:plusladistancediteestpetite,pluslesdeuxnoeudssontpartie
d'unemmergions.

Extractiondesinformations:onextraiedesrecordsdesdonnespartirdesrgions
qu'onaobtenuesdansl'tapeprcdente.D'abord,onsparelesobjetsdanschaque
rgionspourextrairedesobjets.Puis,onsparedesattributsdanschaqueobjet[14].

Aprscestapes,onaobtenudesinformationsncessairesquisontreprsentessousforme
desobjetsetleursattributs.
B.2.3Modledeprotocole
Ilyaquatreprotocolesdanslesystme:

LeprotocoledeServeurRequete

LeprotocoledeDistributeurReponse

LeprotocoledeDistributeurRequete

LeprotocoledeWrappeurReponse.

ServeurRequete

Le protocole de ServeurRequete permette Serveur d'envoyer des sousdemandes


Distributeur.

Lesparticipants:Serveur(transmetteur)etDistributeur(rcepteur).

Lesinformationschanges:unesousdemande,uneconfirmation.

Scnario:

ServeurenvoieunDistributeurunesousdemande.

DistributeurenvoieServeuruneconfirmation.

Gnie logiciel orient agent

62

DistributeurReponse

Le protocole de DistributeurReponse permette Distributeur d'envoyer une rponse


Serveur.

Lesparticipants:Distributeur(transmetteur)etServeur(rcepteur).

Lesinformationschanges:unerponse,uneconfirmation.

Scnario:

DistributeurenvoieServeurunerponse.

ServeurenvoieDistributeuruneconfirmation.

DistributeurRequete

LeprotocoledeDistributeurRequetepermetteDistributeurd'envoyerunerequteun
Wrappeur.

Lesparticipants:Distributeur(transmetteur)etWrappeur(rcepteur).

Lesinformationschanges:unerequte,uneconfirmation.

Gnie logiciel orient agent

63

Scnario:

DistributeurenvoieWrappeurunerequte.

WrappeurenvoieDistributeuruneconfirmation.

WrappeurReponse

Le protocole de WrappeurReponse permette Wrappeur d'envoyer une rponse


Distributeur.

Lesparticipants:Wrappeur(transmetteur)etDistributeur(rcepteur).

Lesinformationschanges:unerponse,uneconfirmation.

Scnario:

WrappeurenvoieunDistributeurunerponse.

DistributeurenvoieWrappeuruneconfirmation.

B.2.4Modled'exploitation
Ilyatroistypesd'agent:

Gnie logiciel orient agent

64

Serveur:unseul.

Distributeur : un service en a un. Par exemple, le Distributeur de football, le


Distributeurdemto...Donc,cetypen'estpasbeaucoup.

Wrappeur:unserviceenaplusieurs,chaquesiteweb(ressourcedesinformations)a
unWrappeurcorrespondant.Donc,cetypeestnombreux.

PuisquelenombretotaldeServeuretdeDistributeurn'estpastropgrand,onpeutlesmets
danslemmeserveur.LenombredeWrappeurestgrand,donconlesmetsdanschaquesite
(s'ilestpossible)surlequelilsextraientdesinformationsncessaires:

Serveursesituedansleserveurdusystme.

LesDistributeurssesituentaussidansleserveurdusystme.

ChaqueWrappeursesituedanslesitewebsurlequelilextraiedesinformations.

Gnie logiciel orient agent

65

AnnexeC:Algorithmed'extractiondesinformation
L'algorithmecontientcinqtapesprincipales:

CrawlerdespagesHTMLdusiteweb.

Crationd'arbreDOM.

liminationdesbruitsdesinformations.

Extractiondesrgionsdesinformations.

Extractiondesinformations.

C.1CrawlerdespagesHTML

Onconsultelasourcecodedelapagegrcelanavigateurnormale.

Lapageobtenueestsousformed'unepageHTMLnormale.

C.2Crationd'arbreDOM
Ilyadestapes:

Complterdesjetonsquin'ontqu'untag,parexemple:<P>,<Br>...

Jeterlesjetonsinutiles(jeterseulementcesjetons,nejettepaslecontenudansdes
pairsdesjetons),parexemple:<B>,<I>...

Lereste,chaquepairdesjetonsdevientunnoeuddel'arbreDOM.

Ce jeton est contenu direct d'un jeton parent devient un fils direct du noeud
correspondantaujetonparent

Exemple,partirdelapagesuivante,onaunarbreDOM[14]:

Gnie logiciel orient agent

C.3liminationdesbruitsdesinformations
Ilyadestapes:

Crationd'arbreST(StyleTree).

66

Gnie logiciel orient agent

Dterminationdeslmentsbruitsdansl'arbreST

Dtectiondesbruits

67

Crationd'arbreST

L'arbreST[25]reprsentelestyled'unepageHTMLdontchaquenoeud(appelnoeud
style)adeuxcomposants:lepremier(appelEs)estunesquencedesnoeudslaposition
correspondant dans l'arbre DOM. Le second (appel n) est un nombre reprsentant le
nombredepagecontientcenoeudlaposition.
Oncrel'arbreStpartirdel'arbreDOMsuivant:

Slectiondeplusieurspagedummesite(environ50100).

Crationd'unarbreDOMpourchaquepage.

Traverse tous les arbres DOM crs : Pour chaque noeud de DOM, s'il a style
ressembleaustyledunoeudEsdeST(lammeposition),onaugmenteralavaleur
ndunoeudd'uneunit.Sinon,oncreraunnouveaunoeudEslammeposition
(lemmenoeudparent)avec(n=1).

Onpeutchoisirlaprofondeurdel'arbreSTenviron510niveaux.

Exemple,partirdesdeuxDOMsd1etd2,onaobtenuunarbreSTsuivant[25]:

Gnie logiciel orient agent

68

Dterminationdeslmentsbruitsdansl'arbreST

partirdel'arbreST,oncalculelepoidspourchaquenoeuddansl'arbreenbasantsurles
rglesflouessuivantes:

Pluslenoeudapparatnombreuxdansl'arbre,plussonpoidsestpetit,etviseversa.
Lenombred'apparatd'unnoeudestdterminparlavaleurdendunoeudsurle
nombretotaldepagesconsidres.

Cenoeudapparatseulementunefoisestlenoeudleplusimportant(sonpoids=1).
Ce noeud apparat dans tous les arbres DOMs considrs est le noeud le moins
important(sonpoids=0).

Plussesfilssontimportants,plusilestimportant(pluslepoidsestgrand),etvise
versa.Onn'apasbesoind'appliquercetterglepourlesnoeudsdesfeuilles.

Dtectiondesbruits

Aprsavoircalcullavaleurdepoispourtouslesnoeudsdel'arbreST,oncontinue:

Slectiond'unseuildansuneintervalle[0,1]pourdciderlesnoeudsbruits(moins
importants).

Unnoeudestconsidrcommeunnoeudbruitsi:sapoidsestinfrieurauseuilet,
toussesfilsontlespoidsquisontaussiinfrieursauseuil.

Si un noeud est bruit, on le marque dans l'arbre ST et puis, marque les noeuds
correspondantdansl'arbreDOM.

C.4Extractiondesrgionsdesinformations
Onretournel'arbreDOM.partirdecemoment,onneconsidrepluslesnoeudsbruits
quionttmarquscommebruitsdansl'arbre.
Pourextrairedesrgions,ondfinitdestermessurl'arbreDOM:
Unnoeudgnralis[14]delongueurnestunensembledesnoeudsquicontientnnoeuds
dansDOMquisatisfontdesconditions:

Lesnoeudsontlemmenoeudparent

Lesnoeudssontadjacents.

Unergionsdesdonnes[14]estunecollectiond''aumoinsdedeuxnoeudsgnralissqui
satisfontdesconditions:

Lesnoeudsgnralissontlemmenoeudparent

Lesnoeudsgnralissontlammelongueur

Lesnoeudsgnralisssontadjacents

Ladistanceditenormaliseentreseuxestinfrieurunseuilslectionn.

Gnie logiciel orient agent

69

Ladistancedite[14]mesureladistanceentredeuxstrings.Elleestdtermineparle
nombredepointmutationncessairepourchangerunestringuneautrestring.Lepoint
mutationestundescas:

Changementd'unelettre

Ajouted'unelettre

Suppressiond'unelettre.

Donc,lestapesdedterminerdesrgionsdesinformationssontsuivantes:

Trouvertouslesnoeudsgnralissdel'arbre

Pourchaquenoeuddel'arbrequiaaumoinsd'unnoeudgnralis(sesfils).On
collectetouslesnoeudsgnralisscommeunensemble.

On calcule toutes les combinaisons (chaque combinaison a au moins de deux


lments)possiblesdel'ensemblecidessus.

Oncalculetouteslesdistancesditesentrelespairsdesnoeudsgnralissdans
chaquecombinaison.

Si toutes les distances dites d'une combinaison sont infrieurs au seuil, on


considracettecombinaisoncommeunergiondesinformations.

Danscecasoilyaunergionquicontientuneautrergion,onneconsidrequela
rgionlaplusgrande.

Voiciunexempledesrgionsdansl'arbreDOM.

Gnie logiciel orient agent

70

C.5Extractiondesinformations
Aprsavoirdtermintouslesrgionsdesdonnesdansl'arbreDOM.Onextraitdesobjets
etleursattributspartirdesrgions.Lesrgionscontiennentdesnoeudsgnraliss.Donc,
onconsidrelesnoeudsgnralissdechaquergion:
Danslecasochaquenoeudsgnralisaunseulnoeuddetag:

Sitouslesfilsdunoeudsontsimilairesetcenoeudn'estpasuneligned'untableau,
chaquefilsdunoeudseraunrecorddedonnes.

Sinon,cenoeudseraunrecorddedonnes.

Danslecasochaquenoeudsgnralisaplusieursnoeudsdetag:

Sitouslesfilsdechaquenoeuddetagsontsimilairesetchaquenoeuddetagale
mmenombredesfils,cesfilssontdesdescriptionsdesobjetsnoncontinues.Un
objetnoncontinueestreprsentparuntableau:unelignereprsentelenomdes
attributs d'objet, puis une ligne reprsente la valeur (ou description) de l'attribut
correspondant.

Sinon,cenoeudseraunrecorddedonnes.

Exemple,unobjetnormaletunobjetnoncontinue:

Aprscestapes,onaobtenudesinformationsncessairesquisontreprsentessousforme
desobjetsetleursattributs.

You might also like