Professional Documents
Culture Documents
(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
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
auxintrtsduconsommateur.Puis,lescomposantsdoiventcollaborerpourslectionnerle
produitfinalquiconvientleplusauxintrtsduconsommateur.
Danscecas,onconsidreaussichaquecomposantcommeunagentetlesystmecommeun
systmemultiagent.
Cestroisexemplesnousindiquentqu'ilyadeplusenplusdesapplicationsquiontbesoin
d'treralisescommeunsystmemultiagent.Leproblmeleplusimportantseposantest
commentpeutonmodliserunsystmelogicielsousformeunsystmemultiagent.
Cedocumentvaprsentercommentpeutonmodliserunsystmelogicielsousformeun
systmemultiagent:lepremierchapitrevaprsenterqu'estcequ'unsystmemultiagent;le
deuximechapitrevaprsenterlamthodologiederalisationd'unsystmelogicielsous
formeunsystmemultiagent;ledernierchapitrevaprsenterunetudedecasquiapplique
unemthodepouranalyseretconcevoirunsystmemultiagent.
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.
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
possdeaussiunepartiederessourcedusystme.
Applicationdusystmemultiagent
L'approchedemodlisationdusystmeorienteagental'airefficacedanslescontextes
suivants[17]:
Lesystmedoitmarcherbiendanslescasoonnepeutpasprvoirouspcifiertout
soncomportementendescasencas(casebycase).
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
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.
Chapitre2
MODLISATIONDUSYSTMEMULTIAGENT
Leproblmeseposantestcommentpeutonmodliserunsystmesousformeunsystme
multiagentetquelestl'outilefficacenousaidantlefaire.Donc,onabesoindes'intresser
auxdeuxaspects:
Lamthodologie:lafaondemodlisationetralisationunsystmesousformeun
systmemultiagent.
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.
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
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.
Afind'viterlespointsfaiblesdecettemthode,rcent,onutilisedesapprochesbasantsur
lagnieorganisation:
Onconsidrelesystmemultiagentcommeuneautoorganisationdanslaquelleles
agentssontmembres.Ilsjouentdesrlesdiffrentsselonleursproprescapacits.Le
capacit de chaque agent peut tre chang dynamiquement donc, agent peut
automatiquementchangersonrle.
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.
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
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.
Capacit:reprsentelacapabled'agentpours'occuperdesmissions.Enbasantsurla
10
capacit,ondtermineprcismentlarelationentrelesagentsetlesrles:lesagents
ontdesproprescapacitsetlesrlesdemandentcertainscapacitspourlesjouer.
Donc,quandunagentalescapacitsncessairesdontunrledemande,ilpourra
jouercerle.C'estdire,l'agentpeutjouerdesrlesselonsesproprescapacits.
Ontologie:dfinitdesentitsdansledomained'applicationetleursrelations.Parmi
entreeux,onextraitedestypesdedonneetleursrelationsquipermettentauxagents
decommuniqueraveclesinformationsspcifiques.
Cettemthodecontientlestapes:
Modledesbuts :lesexigencessonttransfertsauxbutsdusystmeetorganises
dansunarbrehirarchiedesbuts.
Modledesrles:dfinitlesrlesdansl'organisation,lesservicesqu'ilsfournissent
etlescapacitsdontilsdemandentpourlesjouer.Chaquerleestdfinipourobtenir
certainbutetfournircertainactivitspourraliserlesservices.
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.
OMaSEestlargiedeMaSE,doncellecomposedesavantagesdeMaSEetceuxdela
gnieorganisation.
2.1.5Bilandesmthodologies
Pourunepetiteconclusionconcernantlesmthodologies,onauntableausuivant:
tapes
Modledebuts
MAS
CommonKADS
MaSE
x
Gaia
OMaSE
x
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
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.
Modledesrles:identificationdesrlesetdesrelationsentreeux.Chaquerleest
identifiparsesobjectifs(buts)pourobteniretlescapacitsdemandspourjouerce
rle.
Modled'ontologie:identificationdestermesreprsentantdesconnaissancesdansle
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.
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
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.
16
L'architecturedeBRAIN
BRAINproposetroismodlesdebasenhaut:
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.
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
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.
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:
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.
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;
21
typesdiffrents(lacommunicationestcomplexe);
Les entits dans le systme doivent fonctionner de la faon active : ils doivent
couteractivementlademandedesautrespourlaservitoutdesuite.
Sionappliqueunemthoded'analyseetconceptionorientesobjet,onauradesdifficults:
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
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:
23
Modledebuts:reprsentparlediagrammedesclasses,chaqueclassereprsente
unbut.
Modledecasd'utilisation:reprsentparlediagrammedecasdutilisation.
Modlederlesetdetches:reprsentparlediagrammedesclasses,chaqueclasse
reprsenteunroleouuntache.
Modled'agents:reprsentparlediagrammedesclasses,chaqueclassereprsente
unagent.
Modledeclassed'agent:reprsentparlediagrammedesclasses,chaqueclasse
reprsenteunclassedagent.
Modle de structure d'agent: reprsent par le diagramme des tats, chaque tat
reprsenteuntatinternedunagent.
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.
24
Enbasantsurlesrelationsentreslesbuts,onconstruitl'arbredesbutssuivant:
Lecontactdel'utilisateuretlacollectiondesinformationssontdesfilsdbutgnral.
Larceptionetl'envoisontpartidebutContactdel'utilisateur.
3.2.2Modlisationdescasd'utilisation
L'objectifdecettetapeestressemblceladanslamthodeorienteobjet.C'estdedcrire
le comportement du systme en interagissant avec des acteurs extrieurs : l'utilisateur,
l'autresystme...
25
Lesystmeadeuxtypesd'acteur:
L'utilisateur:cequiutiliseleservicedusystme.
Lesiteweb:cequiadesinformationsncessaires.
Donc,ilyadeuxcasd'utilisationprincipaux:
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.
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.
Typedemessage
Ilyatroistypesdemessage:
Adresse:ilreprsentel'adressed'unagent.Ilcontientunhteauquelagentsesitueet
uneportparlaquelleagentcommuniqueaveclesautres.
Enquete:ilreprsenteunerequted'unservice.L'attributtypesoitunrsultat
27
d'unematch,soituncalendrier,soitunclassement.L'attributquipeestlenom
d'quipementionne.L'attributnombredematchestutiledanslecasondemande
quelquesderniersmatchesd'unequipe.
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
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.
29
Distributeur:CequicredesrequtesconvenablesauxcapacitsdesWrappeurssur
chaquesite.
Wrappeur:Cequiextraireautomatiquementdesinformationsncessaires.Ilrpond
directementlademandedudistributeur.
Larelationentrelesagentsetlesrlesdusystme:
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.
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
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.
AprsavoirreutouteslesrponsesdesDistributeurs,ilentrel'tatd'intgrationdans
lequelillesintgreaursultatfinal.Puis,ill'envoiel'utilisateuretrentrel'tatde
rceptiondenouvellesdemandesd'autreutilisateur.
32
3.3.3Modlisationdeprotocole
Ilyaquatreprotocolessousdeuxpairsdanslesystme:LeprotocoledeServeurRequeteet
leprotocoledeDistributeurReponse,leprotocoledeDistributeurRequeteetleprotocolede
WrappeurReponse.Voicilepremierpairdesprotocoles(lerestedansl'annexeB).
ServeurRequete
Lesparticipants:Serveur(transmetteur)etDistributeur(rcepteur).
Lesinformationschanges:unesousdemande,uneconfirmation.
Scnario:
ServeurenvoieunDistributeurunesousdemande.
DistributeurenvoieServeuruneconfirmation.
DistributeurReponse
Lesparticipants:Distributeur(transmetteur)etServeur(rcepteur).
Lesinformationschanges:unerponse,uneconfirmation.
Scnario:
DistributeurenvoieServeurunerponse.
ServeurenvoieDistributeuruneconfirmation.
3.3.4Modled'exploitation
Ilyatroistypesd'agent:
33
Serveur:unseul.
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
34
permetde:
Ajouterunnouveausitewebouchangerunsitewebd'unWrappeurcorrespondant.
Quandonveutajouterunnouveauserviceausystme,onnedoitfaireque:
Mettrejourl'ontologiedusystmeenyajoutantdesconnaissancesconcernantde
nouveauxagents(unDistributeuretdesWrappeurs)etdenouveauxservicesajouts.
Quandonveutajouterunnouveausiteunserviceouchangerunsited'unservice,onne
doitfaireque:
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....
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.
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.
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.
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.
39
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.
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.
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.
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
43
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.
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.
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.
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
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.
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.
47
externes.L'organisationpeuttrediviseparplusieurssousorganisationsselonles
butsd'organisation.Chaquesousorganisations'occupecertainbutetfournitcertain
servicesauxacteursouautressousorganisations.
Modlederle:dfinitlesrlesdansl'organisation,lesservicesqu'ilsfournissentet
lescapacitsdontilsdemandentpourlesjouer.Chaquerleestdfinipourobtenir
certainbutetfournircertainactivitspourraliserlesservices.
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.
OMaSEestlargiedeMaSE,doncellecomposedesavantagesdeMaSEetceuxdela
gnieorganisation.
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
49
Constructiondel'arbredesbuts
Enbasantsurlesrelationsentreslesbuts,onconstruitl'arbredesbutssuivant:
Lecontactdel'utilisateuretlacollectiondesinformationssontdesfilsdbutgnral.
Larceptionetl'envoisontpartidebutContactdel'utilisateur.
B.1.2Modledescasd'utilisation
Lesystmeadeuxtypesd'acteur:
L'utilisateur:cequiutiliseleservicedusystme.
Lesiteweb:cequiadesinformationsncessaires.
Donc,ilyadeuxcasd'utilisationprincipaux:
L'extractiondesinformationsdessitesweb.
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.
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.
R6:Container.Cequigardedesinformationscapturessurchaquesite.
R7:Capteur.Cequicapturedesinformationsncessairessurchaquesite.
Lesrelationsentrelesbutsetlesrlesdusystme:
RcepteurenvoielademandeDistributeur.
DistributeurenvoiedesrequtesDemandeur.
DemandeurdemandeContainerderpondrechaquerequte.
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.
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.
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.
54
Service
intgr
Football
Franais
Anglais
Mto
Europen
quipe
Liverpool
MU
B.1.5Modledesagents
Onproposetroistypesd'agent:
Distributeur.Cequicredesrequtesconvenablesauxcapacitsdeswrappeurssur
chaquesite.
Wrappeur.Cequiextraireautomatiquementdesinformationsncessaires.Ilrpond
directementlademandedudistributeur.
55
Larelationentrelesagentsetlesrlesdusystme:
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
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
57
Wrappeur
Serveur
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.
AprsavoirreutouteslesrponsesdesDistributeurs,ilentrel'tatd'intgrationdans
lequelillesintgreaursultatfinal.Puis,ill'envoiel'utilisateuretrentrel'tatde
rceptiondenouvellesdemandesd'autreutilisateur.
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.
59
Wrappeur
Toutd'abord,aprstrecr,ilentrel'tatdecherchedesinformationssurlesite
dontils'occupe.
S'ilyaunrequted'unDistributeur,ilentrel'tatderponsedanslequelilrequisse
danssaproprebasededonnespourobtenirunerponsesatisfaisantlarequtede
Distributeur.
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).
60
Begin
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
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
Lesparticipants:Serveur(transmetteur)etDistributeur(rcepteur).
Lesinformationschanges:unesousdemande,uneconfirmation.
Scnario:
ServeurenvoieunDistributeurunesousdemande.
DistributeurenvoieServeuruneconfirmation.
62
DistributeurReponse
Lesparticipants:Distributeur(transmetteur)etServeur(rcepteur).
Lesinformationschanges:unerponse,uneconfirmation.
Scnario:
DistributeurenvoieServeurunerponse.
ServeurenvoieDistributeuruneconfirmation.
DistributeurRequete
LeprotocoledeDistributeurRequetepermetteDistributeurd'envoyerunerequteun
Wrappeur.
Lesparticipants:Distributeur(transmetteur)etWrappeur(rcepteur).
Lesinformationschanges:unerequte,uneconfirmation.
63
Scnario:
DistributeurenvoieWrappeurunerequte.
WrappeurenvoieDistributeuruneconfirmation.
WrappeurReponse
Lesparticipants:Wrappeur(transmetteur)etDistributeur(rcepteur).
Lesinformationschanges:unerponse,uneconfirmation.
Scnario:
WrappeurenvoieunDistributeurunerponse.
DistributeurenvoieWrappeuruneconfirmation.
B.2.4Modled'exploitation
Ilyatroistypesd'agent:
64
Serveur:unseul.
Wrappeur:unserviceenaplusieurs,chaquesiteweb(ressourcedesinformations)a
unWrappeurcorrespondant.Donc,cetypeestnombreux.
PuisquelenombretotaldeServeuretdeDistributeurn'estpastropgrand,onpeutlesmets
danslemmeserveur.LenombredeWrappeurestgrand,donconlesmetsdanschaquesite
(s'ilestpossible)surlequelilsextraientdesinformationsncessaires:
Serveursesituedansleserveurdusystme.
LesDistributeurssesituentaussidansleserveurdusystme.
ChaqueWrappeursesituedanslesitewebsurlequelilextraiedesinformations.
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]:
C.3liminationdesbruitsdesinformations
Ilyadestapes:
Crationd'arbreST(StyleTree).
66
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]:
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.
69
Ladistancedite[14]mesureladistanceentredeuxstrings.Elleestdtermineparle
nombredepointmutationncessairepourchangerunestringuneautrestring.Lepoint
mutationestundescas:
Changementd'unelettre
Ajouted'unelettre
Suppressiond'unelettre.
Donc,lestapesdedterminerdesrgionsdesinformationssontsuivantes:
Trouvertouslesnoeudsgnralissdel'arbre
Pourchaquenoeuddel'arbrequiaaumoinsd'unnoeudgnralis(sesfils).On
collectetouslesnoeudsgnralisscommeunensemble.
Oncalculetouteslesdistancesditesentrelespairsdesnoeudsgnralissdans
chaquecombinaison.
Danscecasoilyaunergionquicontientuneautrergion,onneconsidrequela
rgionlaplusgrande.
Voiciunexempledesrgionsdansl'arbreDOM.
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.