L'INSTITUTDELAFRANCOPHONIEPOURL'INFORMATIQUE(IFI)
TRAVAILD'INTRTPERSONNELENCADR(TIPE)
Gnielogicielorientagent
Superviseur: HoTuongVinhRalisateur: NguyenManhHung
Hano,2006
Table du contenuIntroduction.............................................................................................................................................1Chapitre 1 ...............................................................................................................................................3SYSTME MULTIAGENT....................................................................................................................3
1.1 Agent............................................................................................................................................31.2 Systme multiagent.......................................................................................................................31.3 Conclusion....................................................................................................................................5
Chapitre 2 ...............................................................................................................................................6MODLISATION DU SYSTME MULTIAGENT..............................................................................6
2.1 Mthodologie................................................................................................................................62.1.1 MAS-CommonKADS...........................................................................................................62.1.2 MaSE....................................................................................................................................72.1.3 Gaia.......................................................................................................................................82.1.4 O-MaSE................................................................................................................................92.1.5 Bilan des mthodologies.....................................................................................................10
2.2 Outil............................................................................................................................................132.2.1 AUML.................................................................................................................................132.2.2 agentTool............................................................................................................................142.2.3 JADE...................................................................................................................................142.2.4 BRAIN................................................................................................................................152.2.5 Bilan d'outil.........................................................................................................................16
2.3 Conclusion..................................................................................................................................17Chapitre 3 .............................................................................................................................................18TUDE DE CAS...................................................................................................................................18
3.1 Problme.....................................................................................................................................183.1.1 Description gnrale...........................................................................................................183.1.2 Solution propose...............................................................................................................193.1.3 Besoin d'analyser et de concevoir orient agent.................................................................203.1.4 Choix de mthode et outil...................................................................................................21
3.2 Analyse.......................................................................................................................................233.2.1 Modlisation des buts.........................................................................................................233.2.2 Modlisation des cas d'utilisation.......................................................................................243.2.3 Modlisation des rles........................................................................................................253.2.4 Modlisation des domaines.................................................................................................263.2.5 Modlisation des agents......................................................................................................28
3.3 Conception..................................................................................................................................303.3.1 Modlisation des classes dtaille......................................................................................303.3.2 Modlisation d'agent interne...............................................................................................303.3.3 Modlisation de protocole..................................................................................................32
3.4 Bilan d'analyse et conception.....................................................................................................333.4.1 Application.........................................................................................................................333.4.2 Mthodologie......................................................................................................................343.4.3 Outil....................................................................................................................................35
3.5 Conclusion..................................................................................................................................35Conclusion.............................................................................................................................................36
Rfrences....................................................................................................................................37Annexe A : Mthodologies...............................................................................................................40
A.1 MAS-CommonKADS...........................................................................................................40A.2 MaSE....................................................................................................................................42A.3 Gaia.......................................................................................................................................43A.4 O-MaSE................................................................................................................................46
Annexe B : Analyse et conception du systme d'tude de cas.........................................................48
B.1 Analyse......................................................................................................................................48B.1.1 Modle des buts.................................................................................................................48B.1.2 Modle des cas d'utilisation...............................................................................................49B.1.3 Modle des rles................................................................................................................51B.1.4 Modle des domaines.........................................................................................................52B.1.5 Modle des agents..............................................................................................................54
B.2 Conception.................................................................................................................................56B.2.1 Modle des classes dtaille...............................................................................................56B.2.2 Modle d'agent interne.......................................................................................................56B.2.3 Modle de protocole...........................................................................................................61B.2.4 Modle d'exploitation.........................................................................................................63
Annexe C : Algorithme d'extraction des information.......................................................................65C.1 Crawler des pages HTML.....................................................................................................65C.2 Cration d'arbre DOM...........................................................................................................65C.3 limination des bruits des informations................................................................................66C.4 Extraction des rgions des informations...............................................................................68C.5 Extraction des informations..................................................................................................70
Gnie logiciel orient agent 1
IntroductionDanslesderniersannes, ledveloppementdeslogicielsorient agentaattir plusieursrecherches([510],[16],[27]).Commelebesoindedvelopperdeslogicielsprcisesetceux en tempsrel, qui peuvent bien marcher dans les environnements complexes,distribusethtrognes[17],lesconcepteursvoudraientdvelopperdessystmesbasantsurlescomposants,chaquecomposantsoccupedesonpropretravailpourquetouslescomposantspuissentinteragirpourcomplterletravailgnraldusystme.Cescomposantssontappelslesagentslogiciels.
Onconsidretroisexemplessuivants:
Exemple1:Systmedecalculomniprsent(ubiquitouscomputing)
L'ideestdeprofiterlacapacitdesmachinesportablespourlecalcul.Onauneintentiondeconcevoirunsystmedecalculdanslequelilyadepetitsmorceauxdelogicielsesituant la portable. Chaquemorceauest capable des'occuper d'unemission (calcul) qu'il estralisedsquelaportableestlibre.Quandilneterminepasencoresamission,ilpourral'envoyerunautremorceausesituantl'autreportable.
Lesystmeestconstruitenbasantsurlesmorceauxlogicielsquisontcapablesderaliserautomatiquementleurmissionetdeprendrededcisiond'envoyersamissionunautres'ilestncessaire.Cesmorceauxlogicielssontappelsagents.
Exemple2:Systmed'extractionautomatiquedesinformationssurlesiteweb
L'ideestd'extrairedesinformationsncessairessurlesitewebselonchaquedomaine:soitlesrsultatsdufootball,soitlemto,soitlecoursducharge.Leproblmeestquechaquesourced'informationsesitueunsitediffrent,chaquesitereprsentedesinformationsdelafaondiffrente.Onveutqu'ilyauncomposantlogicielchaquesourced'information.Cecomposantreconnatlastructurdel'informationetextraitedesinformationsncessairesdelafaonautomatique.Ilyaunautrecomposants'occupantd'intgrerlesinformationsretenues:chaquefoisqu'ilyaunedemandedel'utilisateur,ildemandeauxcomposantssurlessitesdeluienvoyerlesinformationsncessaires.
Danscecas, onconsidrechaquecomposantcommeunagentetlesystmecommeunsystmemultiagent.
Exemple3:Ngociationautomatiqueencommercelectronique
Aujourd'hui,ilyadeplusenplusvendeurssurInternet,leursproduitssontnombreux.Afind'aiderlesacheteurs acheter leproduitqui leurssatisfait leplus, onveutqu'il yaunsystmedans lequel il y a des composant dont chaqu'un joue le rle d'acheteur pourcontacteretngocierautomatiquementavecunvendeurpourtrouverunproduitquisatisfait
Gnie logiciel orient agent 2
auxintrtsduconsommateur.Puis,lescomposantsdoiventcollaborerpourslectionnerleproduitfinalquiconvientleplusauxintrtsduconsommateur.
Danscecas,onconsidreaussichaquecomposantcommeunagentetlesystmecommeunsystmemultiagent.
Cestroisexemplesnousindiquentqu'ilyadeplusenplusdesapplicationsquiontbesoind'treralisescommeunsystmemultiagent.Leproblmeleplusimportantseposantestcommentpeutonmodliserunsystmelogicielsousformeunsystmemultiagent.
Cedocumentvaprsentercommentpeutonmodliserunsystmelogicielsousformeunsystmemultiagent:lepremierchapitrevaprsenterqu'estcequ'unsystmemultiagent;ledeuximechapitrevaprsenterlamthodologiederalisationd'unsystmelogicielsousformeunsystmemultiagent;ledernierchapitrevaprsenterunetudedecasquiappliqueunemthodepouranalyseretconcevoirunsystmemultiagent.
Gnie logiciel orient agent 3
Chapitre1
SYSTMEMULTIAGENT
Cechapitrevaprsentergnralementl'agentetlesystmemultiagent:
Agentetsescaractristiques
Lesystmemultiagentetsescaractristiques
Lesproblmeslisausystmemultiagent
1.1Agent
Agent [21] est uneentit autonomese situant dansunenvironnement spcifique, il estcapabledevivreautonomeetflexibleenpercevantetensagissantsursonenvironnementpourobtenirsonproprebut.Agentaquatrecaractristiquesprincipales[23]:
Autonome, capable de vivre soit mme, il na pas besoin d'tre contrl parl'extrieur. L'autonomie contient deux aspects : l'autonomie de l'tat interne etl'autonomiedel'action.L'autonomiedel'tatinterneestcapabledechangersontatinterne selon sonplan (objectif). L'autonomie de l'action est capable de prendreautomatiquementdesdcisionsdefairequelquesactivitsselonsontatinterneetlesconditionsdel'environnement.
Ractif, capable de percevoir le changement de lenvironnement et de sagirautomatiquementsurl'environnement.
Proactif,capabledesagirselonsonplanorientsonobjectif:selonlechangementdel'environnementetsonpropretatinterne,agentchoisituneactionquil'aidelemieuxobtenirsonobjectif.
Social,capabledecommuniqueraveclesautresagentspourcompltersamission.Non seulement l'agent est orient son propre objectif. Mais encore l'agent peutinteragiraveclesautrespourtreorientl'objectifcommundusystme.
1.2Systmemultiagent
Agentestvraimentperformantquandilsesituedansunsystmemultiagent.Unsystmemultiagent[22]estunrseaudesentitsquipeuventinteragirpourobtenirleurspropresobjectifs, et donc, le systme obtient l'objectif gnral. Un systme multiagent estcaractrisparquartecaractristiques[22]:
Chaqueagentaunrestreintdecapacitetderessource,doncplusieursagentsdoiventinteragirpourrsoudreleproblmegnral.
Lesystmemultiagentestdistribu.Ilnyapasdecontrlecentral:chaqueagentagitselonsonobjectif,iln'estpascontrlparlesautres.
Il estdistribu lesressources: chaqueagents'occuped'unepartiedetravailet il
Gnie logiciel orient agent 4
possdeaussiunepartiederessourcedusystme.
Le traitement dans un systme multiagent est asynchrone. Chaque agent traiteautomatiquementsontravailselonsonplan.Ilnedoitpasattendrelesautressaufqu'ilsontbesoind'interagirpourterminerleurstravaux.
Applicationdusystmemultiagent
L'approchedemodlisationdusystmeorienteagental'airefficacedanslescontextessuivants[17]:
Le systme a besoin des communications complexes. Une communication estconsidre comme celle complexe si : elle a au moins de deux participants et,l'changedesinformationsentreseuxsepasseenplusieursfois.
Lesystmedoitmarcherbiendanslescasoonnepeutpasprvoirouspcifiertoutsoncomportementendescasencas(casebycase).
Lesystmeconcerne la ngociation, la collaborationou lacomptitionentre desentitsdiffrentes.
Lesystmedoitmarcherdelafaonautomatique.
Lesystmeestprvuqu'ilyaitdeschangementsdanslesystmeouquelebutdusystmesoitchangdynamiquement.
On peut rsumer que le systme multiagent est efficace quand il marcher dans unenvironnement:
Distribu etcomplexe:onabesoindelacommunication(sousdesformesdelangociation,lacollaborationoulacomptition).
Htrogne:onnepeutpasprvoirouspcifiertoutsoncomportementendescasencas.
Ouvert:ilyadeschangementsdescomposantsdanslesystmeentempsmarch.
Dynamique:ilyadeschangementsdanslesystmeoulebutdusystmeestchangdynamiquement.
Problmeliausystmemultiagent
Sycara[22]amontrsixdfisdusystmemultiagent:
Ladcompositionlesproblmesetladistributiondestchesauxagentsindividuels.
Lacoordinationdescommunicationsdesagents.
Faireagirauxagentsdelamanirecohrente.
L'augmentationdunombredesagentsetdestatsdelacoordination.
Laconciliationdesconflitsdebutentrelesagents
Lagniepratiquedesystmemultiagent
Cedocumentconcentresurlesiximedfidusystmemultiagent,c'estlagniesystme
Gnie logiciel orient agent 5
multiagent:lamthodologiepourl'analyseetlaconceptiondusystmemultiagent,l'outilpourledvelopper.C'estdirequ'ondoitrpondreauxdeuxquestions:commentpeutonmodliserunsystmesousformeunsystmemultiagentetquelestl'outilefficacenousaidantlefaire.
1.3Conclusion
Ce chapitre a prsent en gnral les termes agent et le systme multiagent : leurscaractristiques, leurscontextesdel'applicationet leursproblmes.Leproblmeleplusgranddusystmemultiagentestcommentpeutonmodliserunsystmesousformeunsystmemultiagentetquelestl'outilefficacenousaidantlefaire.Lechapitresuivantvarpondrecesquestions.
Gnie logiciel orient agent 6
Chapitre2
MODLISATIONDUSYSTMEMULTIAGENT
Leproblmeseposantestcommentpeutonmodliserunsystmesousformeunsystmemultiagentetquelestl'outilefficacenousaidantlefaire.Donc,onabesoindes'intresserauxdeuxaspects:
Lamthodologie:lafaondemodlisationetralisationunsystmesousformeunsystmemultiagent.
L'outil : la moyen qui nous aide le raliser en analysant, en concevant et enimplmentantlesystmemultiagent.
2.1Mthodologie
Ilyaplusieursrecherchesquisintressentlamthodologiedanalyseetdeconceptionorientesagent([510], [27]). Maintenant, il n'yapasencoreunemthodestandardcarchaquegroupederechercheproposeunemthodediffrente.Chaquemthodeconvientungroupeparticulierdesapplications.
Cettesectionvaprsenter,enpointdevuedelamodlisationsystmeenmultiagent,quatremthodestypiquesquisontnesdanslesderniersannes:
MASCommonKADS
MaSE
Gaia
OMaSE
2.1.1MASCommonKADS
MASCommonKADS[12](MultiagentSystemKnowledgeAnalysisandDevelopmentSystem)esttendudelamthodologiedegnieconnaissance[12]enprenantlestechniquesorientesobjetetcellesdelamthodologiedegnieprotocole.Cettemthodemodliseunsystmepardestapessuivantes:
Modlisationdesagents :crelesinstancesoriginalespouridentifieretdcrirelesagentsenutilisantlemodled'agent.Modled'agentdterminelescaractristiquesdel'agent:Lescapacitsderaisonnement,lescomportements(percevoir/s'agir),lesservices,lesgroupesethirarchiedesagents.
Modlisation des tches : dcouvrit et dcrit toutes les tches possibles dans lesystmeenutilisantlemodledestches.Modledestchesdterminelestchesdontl'agentpeuts'occuper:lesbuts,lespartitionsdescomposantsetlesmthodesdersoudreleproblmequilielatche.
Gnie logiciel orient agent 7
Modlisationdescoordinations:dveloppelemodledescoordinations.Modledescoordinations dtermine les conversations entre les agents : les interactions, lesprotocolesetlescapacitsncessaires.
Modlisationdeconnaissance:modliselaconnaissancedudomaineenutilisantlemodled'expert.Modled'expertdterminelesconnaissancesdontlesagentsontbesoinpourobtenirleursobjectifs.
Modlisationd'organisation :dveloppelemodled'organisationenbasantsurlemodled'agent.Cemodleprsentelesrelationsstatiquesoustructuresentrelesagents.
Cettemthodologieintgrelamthodologiedegnieconnaissanceetlestechniquesdelamthodologie oriente objet et gnie protocole. Elle propose un nouveau modle, c'estmodledecoordination,quipeutreprsenterlesrelationsdynamiquesentrelesagentsouentrelesagentsetlesgensdanslesystme,etdonc,ellenousaideconcevoirlesystmeplusdynamiquequ'autrefois.
2.1.2MaSE
MaSE([5],[7])(MultiagentSystemEngineering):Elleconsidreunagentcommeuntyped'objet,soitayantdel'intelligence,soitnon.Lebutdecettemthodeestdetransformerlesexigencesentresdel'utilisateurauxmodlesquidcriventletyped'agent,sesinteractionsaveclesautresetl'architectureinternedechaqueagent.
Ellecontientdestapes:
Captationdesbuts:identifieetpartitionnelesbutsdusystme.Puis,ellelesorganisedansundiagrammesousformehirarchieselonlesrelationsentrelesbuts.
Descriptiondescasd'utilisation:enbasantsurlesexigencesetlemodledesbuts,onextraitelesscnariosquireprsententlecomportementdusystmedanslescasspcifiques.Chaquescnariodcritendtailllespartenaires,l'ordredesactivitsetlesinformationschangesentreeux.
Construirel'ontologie :construitlaconnaissancedansledomained'applicationdusystmeenmodlisantlesinformationschangesdanslesscnarios.
Construirelesrles:enbasantsurlesdiagrammessquencesetlesbuts,onidentifielesrlesdusystme.Chaquebutestcaptparaumoinsd'unrle,etviseversa,unrles'occupeaumoinsd'unbut.Selonlesdiagrammesdesscnarios,ondterminelesrelationsncessairesentrelesrles.
Reprsentationdestches:dcritendtaillchaquetchequ'onabesoinderaliserpourobtenirlebut.Chaquetcheestdcriteparundiagrammedestatsdanslequelonindiquel'tatinitial,l'tatfinietlestatsintermdiaires.Chaquetatadesentres,dessorties,desfonctionsetdesconditionsprovoquesettermines.
Crationdesclassesd'agent:identifielesagentsenbasantsurlesrles.Chaquerleest jou par aumoinsd'unagent et unagent doit jouer aumoinsd'unrle. Les
Gnie logiciel orient agent 8
relationsentrelesagentscorrespondentauxrelationsentrelesrlesqu'ilsjouent.
Construiredesconversations:dcritendtaillchaqueconversationentrelesagents.Chaqueconversationestunprotocoledecoordinationentredeuxagents.Pourchaqueconversation, on dtermine les participants, l'agent initial, l'agent fini, les tats.Chaque tat a des fonctions, des conditions entres, des conditions sorties, desactivits.
Cettemthodeadesamliorationsparrapportdelamthodeorientobjet:elleestorientlebutdusystme,lerledanssystmeetleprotocoleentrelesagents.Cependant,cettemthodeadespointsfaibles[6]:
Elleconstruiseunsystmefermdanslequellesagentsjouentunnombrederleslimitsetlecapacitdechangementlerleestaussilimite.
Elle ne permette pas dintgrer des soussystmes un systmemultiagent. Lesagentsinteragissentenlemmeniveau:ilnyapasdehirarchiedanslemodledinteractionentrelesagents.
Afind'viterlespointsfaiblesdecettemthode,rcent,onutilisedesapprochesbasantsurlagnieorganisation:
Onconsidrelesystmemultiagentcommeuneautoorganisationdanslaquellelesagentssontmembres.Ilsjouentdesrlesdiffrentsselonleursproprescapacits.Lecapacit de chaque agent peut tre chang dynamiquement donc, agent peutautomatiquementchangersonrle.
Dailleurs, quandonveut intgrer unautresystme unsystmemultiagent, onconsidrelesdeuxsystmecommedeuxsousorganisationsdansungrandsystmemultiagentetalors,ondoitseulementconcevoirlesmcanismesdelinteractionauniveauentrelessousorganisations.
En consquence, le systme multiagent est plus ouvert qu'autrefois. Par exemple, lamthodeGaia([24],[27]),lamthodeOMaSE[6]
2.1.3Gaia
Gaia[27]:exploitel'abstractionorganisationnellepourfournirunemthoded'analyseetconceptionlesystmedelogicielouvertetcomplexe.Ellecontientdesmodles:
Modled'organisation :diviselesystmeparrapportplusieurssoussystmes.Soitselonl'identificationdessoussystmesquiexistentdjdanslesystme,soitselonlastructurdescomposants.Descomposantsappartiennentaummesoussystmequand: soit ils ont les objectifs communs ; soit ils interagissent avecunehautefrquence;soitleurscapacitssontprochesetchaquecomposantadescapacitsdontlesautresontvraimentbesoin.
Modle d'environnement : considre l'environnement en terme des ressourcescalcules abstraites. Il est considr comme une liste des ressources. Chaqueressourceestassocieavecunnomcaractrisparl'actionquel'agentpeutys'agir.
Gnie logiciel orient agent 9
Modleprliminairederle :cen'estpasencorel'organisationactuelle.Ilestunedfinitionprliminairedesrleset desprotocolesdel'organisation.Gaiaproposedeuxtermespourreprsenterdelafaondemiformellelerle.Permission,dfinitlarelation de l'agent avec son environnement si l'agent a le droit d'accder lesressources, de les changer ou de les consommer. Responsabilit, dtermine lescomportementsd'unagentselondeuxtypes:lepropritvivantquidcritlestatsauxquels un agent doit arriver sur quelques conditions, et proprit scurit quiassure qu'un agent vient aux tats acceptables. Puis, on cre un ensemble desschmasderle,unrleenaunecorrespondante.
Modleprliminaired'interaction:captelesindpendancesetlesrelationsentrelesrles dans le systme, en terme d'une dfinition protocole pour un type del'interactionentreeux.Unprotocoleestdfiniprliminairementparlesattributs:lenom,l'initiateur,lepartenaire,lesentres,lessortiesetladescription.
Modledergleorganisationnelle:largleorganisationnelleestconsidrecommele responsabilit de l'organisation. Elle contient deux types : la rgle vivanteconcernantl'invariantquel'organisationdoitrespecter,larglescuritconcernantl'expressdynamiquedel'organisation.Larglevivanteassurel'ordrederalisationdesrlesoudesprotocoles,d'unaprsd'autre.Larglescuritassurequ'unrleestjouparaumoinsd'unagentetqu'unagentpeutjouerauplusunrlelafois.
Gaia se base fortement sur le rle dans le systme. Elle propose aussi des rglesd'environnementetd'organisation.Cependant,ellemanquelafaondeconstruirel'ontologiedusystme,quisupportel'interactionentrelesagents.
2.1.4OMaSE
OMaSE [6] (Organization based Multiagent System Engineering) : Cette mthodeconsidre un systmemultiagent commeune organisation des agents dans laquelle lesagentssontmembres,chaqueagentjoueunrlespcifiqueselonsescapacitspourobtenirsesobjectifs.Donc,lebutdecettemthodeestdeconstruireunesocitorganisationnelledesagentsenbasantsurlesmtamodlesdel'organisation.
But :estunobjectifquelesystmedoitobtenirousatisfaire.Ilestdiffrentdelafonction du systme : le but ne s'intresse que le rsultat obtenu, cependant, lafonctions'intresselafaonpourobtenirl'objectif.
Rle : est une entit capable d'obtenir des buts dans l'organisation. Unrle doits'occuperaumoinsd'unbutdusystme.Donc,ilyaunerelationentrelesrlesetlesbuts.
Agent : est un composant vivant et s'agissant autonome dans l'environnement.Chaqueagentdoitjoueraumoinsd'unrlepourobtenirunoudesbuts.Donc,ilyaunerelationentrelesagents,lesrlesetlesbuts.
Capacit:reprsentelacapabled'agentpours'occuperdesmissions.Enbasantsurla
Gnie logiciel orient agent 10
capacit,ondtermineprcismentlarelationentrelesagentsetlesrles:lesagentsontdesproprescapacitsetlesrlesdemandentcertainscapacitspourlesjouer.Donc,quandunagentalescapacitsncessairesdontunrledemande,ilpourrajouercerle.C'estdire,l'agentpeutjouerdesrlesselonsesproprescapacits.
Ontologie:dfinitdesentitsdansledomained'applicationetleursrelations.Parmientreeux,onextraitedestypesdedonneetleursrelationsquipermettentauxagentsdecommuniqueraveclesinformationsspcifiques.
Cettemthodecontientlestapes:
Modledesbuts :lesexigencessonttransfertsauxbutsdusystmeetorganisesdansunarbrehirarchiedesbuts.
Modle prliminaire d'organisation : dfinit les interactions avec des acteursexternes.L'organisationpeuttrediviseparplusieurssousorganisationsselonlesbuts d'organisation. Chaque sousorganisation s'occupe certain de but et fournitcertainservicesauxacteursouauxautressousorganisations.
Modledesrles:dfinitlesrlesdansl'organisation,lesservicesqu'ilsfournissentetlescapacitsdontilsdemandentpourlesjouer.Chaquerleestdfinipourobtenircertainbutetfournircertainactivitspourraliserlesservices.
Modle d'ontologie : dfinit les entits dans le domaine d'application del'organisation.Chaqueentitestdcriteparsespropresattributsetlesrelationsaveclesautres.
Modledesagents :dfinitlesagentsetleursrelationsdansl'organisation.Chaqueagentestdcritparsescapacits,lesrlesqu'ilpeutjoueretlesservicesqu'ilfournitpourobtenirdesbuts.
Modledeprotocole :dfinitlesprotocolesentrelesagents.Chaqueprotocoleestdcrit par un diagrammede squence qui indique les participants, les messageschangs,l'ordred'changerdesmessages.
Modle d'tat d'agent : dfinit le comportement de chaque agent en utilisant lediagrammedestatsfinis.Chaquetatestdcritparlesconditionsprovoques,lesconditionssorties,lesfonctionsinternesetlescomportements.
OMaSEestlargiedeMaSE,doncellecomposedesavantagesdeMaSEetceuxdelagnieorganisation.
2.1.5Bilandesmthodologies
Pourunepetiteconclusionconcernantlesmthodologies,onauntableausuivant:
tapesMAS
CommonKADSMaSE Gaia OMaSE
Modledebuts x x
Gnie logiciel orient agent 11
Modledecasd'utilisation
(option) x (option)
Modlederles/detches
TcheRle/Tche
RleRle/Tche
Modled'ontologie/deconnaissance/d'environnement
Connaissance Ontologies Environnement Domaine
Modledergles x
Modled'agent/d'organisation
Agent/Organisation
Classesd'agentOrganisationprliminaire
Gnral/Dtaill
Modledeprotocoles/decoordination
Coordination/Communication
Conversation Interaction Protocoles
Modled'tatd'agent x x x x
Modledeservice x
Modledeplatforme x
Modled'exploitation x
Onpeuttrsbientrouverquelesmthodesmodlisentlesystmesurdeuxaspects:
Modlisationdescomposantsdanslesystme:lesagents,lesrlesetlesbuts...Cescomposantssontmodlisspardesmodlescorrespondant:lemodledesagents,lemodledesrlesetlemodledesbuts.
Modlisation des interactions entre les agents dans le systme. Une interactionconcerne un protocole et une base de connaissance pour ce protocole. Ilscorrespondentaumodledesprotocoles(soittrenommcoordination,conversation,interaction) et au modle d'ontologie (soit tre nomm domaine, connaissance,environnement).
Ilyaunegrandediffrenceentrelamthodeorienteagentetcelleorienteobjet:
Lamthodeorienteobjetmodliselesystmeencomposantsquis'appellentobjets:elleseconcentreseulementsurlamodlisationdescomposantsdanslesystmeentrouvantlesattributsetlesmthodesdechaqueobjet.
Cependant,nonseulementlamthodeorienteagentseconcentresurlamodlisationdescomposantsdanslesystmeenutilisantdesmodles:lemodledesagents,lemodle des rles et le modle des buts ... Mais encore elle se concentre sur lamodlisationdesinteractionsentrelescomposantsdanslesystmeenutilisantdesmodles:lemodledesprotocolesetlemodled'ontologie.
Pourtantqu'iln'yaitpasencoreunemthodestandardpourtouslestypesdel'application
Gnie logiciel orient agent 12
car, en effet, chaque mthode propose est rserve un groupe des applicationsparticuliers,onpeuttrsbienrsumercesmthodesparunemthodegnralesuivante:
Engnral,danslaphased'analyse,onabesoindesmodles:lemodledesbuts,lemodledesrles,lemodledesagentsetlemodled'ontologie.Pourcrerlesmodlesdesrlesetd'ontologie,onabesoind'ajouterlemodledecasd'utilisation(modledesystme)pourdcrireendtailllecomportementdusystme.
Modledesbuts:identificationdesbutsetdesrelationsentreeux.
Modle de cas d'utilisation : description de comportement avec l'environnementexternedusystmepardesscnarios.
Modledesrles:identificationdesrlesetdesrelationsentreeux.Chaquerleestidentifiparsesobjectifs(buts)pourobteniretlescapacitsdemandspourjouercerle.
Modled'ontologie:identificationdestermesreprsentantdesconnaissancesdansle
Modle de but
Modle de cas d'utilisation
Modle de rleModle de domaine
Modle d'agent
Modle d'agent dtaill
Modle de protocole
Modle de structure
Modle d'exploitation
Exigences Collection des exigences
Analyse
Conception
Gnie logiciel orient agent 13
domainedusystme,surtoutdestermesconcernantlesinformationschangesentrelesrles.
Modledesagents:identificationdesagentsetdesrelationsentreeux.Chaqueagentestidentifiparsesproprescapacit,lesrlesqu'ilpeutjoueretlesbutsqu'ilpeutsatisfaire.
Danslaphasedeconception,ilyadestapescommunes:lemodledesprotocolesetlemodled'tatd'agentetlemodled'exploitation.
Lemodledesprotocoles: Il s'agitd'identifierl'interactionoudelacoordinationentre les agents. Unprotocoleest dfini quand il y a une interactionentredeuxagents. 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'unagent.
Cettemthodevatreappliquepouranalyseretconcevoirlesystmereldansl'tudedecas(chapitre3).
2.2Outil
Lesoutilssontdivisspardeuxtypes:
Lesoutilssupportentseulementd'analyseretdeconcevoirorientagent.Ilssoientunoutil en gnral qui peuvent supporter plusieurs mthodologies diffrentes, parexemple AUML [1] ; soient un outil spcifique qui est associ avec unemthodologie,parexempleagentToolavecMaSE([5],[7]).
Lesoutilssupportentaussid'implmenterlelogicielorientagent.Ilssontdescadrespermettant de concevoir et d'implmenter unsystmemultiagent, par exemple lecadreJADE[2]etBRAIN[4].
2.2.1AUML
AUML(AgentbasedUnifiedModelingLanguage)([1],[19],[20]):estuneextensiondeUMLrservpourl'analyseetlaconceptionorientesagent.ElleutilisedesnotationsdeUMLdanslesdiagrammes.Ellesupportetouslesdiagrammesdesphasesd'analyseetdeconception.EllemodifielesdiagrammesdeUMLdeviennentlesdiagrammesquipeuventreprsenterl'interactionentrelesagentsetl'tatinterned'agent.
Lesobjetssontremplacsparlesagentsetlesrles;
Ajoutedesnotationspourreprsenter lesinteractionscomplexes, parexemplelesconnecteursAND,ORetXOR;
Supportelesprotocolesencastres;
Extensiondecontenudumessagechang.
Gnie logiciel orient agent 14
2.2.2agentTool
agentTool ([5], [7]) : est un outil associ la mthodologie MaSE[5]. Il fournit desdiagrammespourreprsenterlesmodlescorrespondantauxtapesdeMaSE:lahirarchiedes buts, la descriptiondes cas d'utilisation, le diagrammesquence, le diagrammedesrles, le diagramme des tches, le modle d'ontologie, le diagramme des agents, lediagrammedesconversationsetlediagrammed'exploitation.AgentToolsupporteaussi:
devrifiersilediagrammedestatsdechaquetcheoudechaqueconversationestconsistant:sichaquetatadesconditionsentresetdesconditionssorties,s'ilyadescirculesinfinisdanslediagramme;
devrifiersilesdeuxdiagrammesd'uneconversationsontcorrespondants;
degnrerautomatiquementlecodeselonlemodleconudesagents.C'estlecodeprliminaire,leprogrammeurdoitlecomplteraprs.
2.2.3JADE
JADE (Java Agent Development Framework) [2] : est un cadre rserv pour ledveloppement des applications multiagent distribues basant sur l'architecture decommunicationpairpair.Lacommunicationestbasesurlerseaunormalourseausansfils.
L'architecturedeJADEestdcritecommecidessous[2]:
L'architecturedeJADE
Gnie logiciel orient agent 15
Cetarchitectureatroisniveauxprincipauxdebasenhaut:
LeniveaudelamachinevirtuelledeJava:c'estleniveaufondamentaldeJADE.IlcontientdesplatformessurlesquellesJADEmarche.LesplatformessoientJ2SE,soientJ2EE,soientJavapersonnel,soientCLDC.Cesplatformesmarchentsurlerseaud'internetoulerseausansfils.
LeniveaudeJADE:c'estleniveauprincipaldeJADE.Ilcontientdesconteneurquifournissentdesmatrielsfondamentauxpourconcevoiretimplmenterdesagents:le mcanismepour l'interactionentre les agents, le mcanismepourconcevoir lecomportementd'unagent...
Leniveaudel'application:ilfournitdesinterfacespourconcevoiretimplmenterlesagentsetlesinteractionsentreeux.
JADEadescaractristiquestechniques:
L'applicationmultipartsetdistribueaveclacommunicationpairpair.
L'adaptablelastandardFIPA(FoundationforIntelligentPhysicalAgents)
Gestiondetoutelacirculedevied'agent
Outilgraphiquesupportededcouvrirdesfautes,degreretdesurveillerdesphasesdedveloppement.
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 permettantd'implmenterunsystmemultiagentquiestconuselonlagnieorganisationbasantsurlerle.L'architecturedeBRAINestdcritecommecidessous.
Gnie logiciel orient agent 16
L'architecturedeBRAIN
BRAINproposetroismodlesdebasenhaut:
L'implmentation des tablissements d'interaction basant sur les modles et lesnotationsprcdents.apermetteauxagentsdes'occuperdesrlesetdecontrlerdesinteractions.
LanotationbasantsurXMLpourdcrirelerle.Ilestassezflexibled'exploiterlerledanslestapesdiffrentesdelaphasedeconception.Chaquerleestdcritparune pice de XMLayant trois parties : L'information fondamentale, ce sont lesinformations concernant l'identification du rle, dtermination de la situationd'interactiondurleetlesfonctionsfondamentalesdurle. L'actionpermettant,cesontdesactionsquisontpermisesd'agirparlesystme. L'vnementreconnu, cesontdesvnementsquecetagentaccepteetgre.
Lemodle d'interaction basant sur le rle. BRAINmodlise un rle commeunensembledescapacitsetuncomportementattendu.Chaquerlepeutrecevoirdesvnements dans l'environnement et raliser des actions attendues. Donc, uneinteractionentredeuxagentssepassequandunagentprenduneaction,etcetactiondevientunvnementd'autreagentquiattendcetvnement.
L'avantage de BRAINest l'ide d'utiliser XMLpour dcrire le rle. Elle permette detransformerlerledelafaondiffrenteselonl'intrtdedveloppeur.D'ailleurs,lerlebasantsurXMLestplusadaptableauxplusieursplatformesdiffrentes.
2.2.5Biland'outil
Lesoutilscorrespondentauxmthodes, ils supportentdemodliserlesystmesurdeuxaspects:
Modlisationdescomposantsdanslesystme:lemodledesagents,lemodledes
Gnie logiciel orient agent 17
rlesetlemodledesbuts
Modlisationdesinteractionsentrelesagents:lemodledesprotocolesetlemodledontologie.
Cependant,ilnousmanquequelqueschosessurloutil:
Ilnyapasencoreunoutilstandardpourtouteslesmthodes.Enralit,chaqueoutilestrservunemthodespcifique;
Ilnyapasencoreunoutilsupportantdemodliserlacration,lamodificationetlaprojectiondumodledontologie;
Ilnyapasencoreunoutilsupportantdemodliserlarelationlogiqueentre lesagentsetlesrles,entrelesrlesetlesbuts.
2.3Conclusion
Cechapitre aprsent ltat de lart sur les mthodologiesde modlisationdesystmemultiagentetsurlesoutilsaidantanalyseretconcevoirlesystmemultiagent.
Danslesderniersannes,cedomaineaattirdeplusenpluschercheurs.Ilyavaitplusieursmthodesetoutilsproposspourmodliserlesystmemultiagent.Engnral,ilsbasentsurdenouvellespointsdevuedusystme:onaproposdenouveauxtermesdanslesystmecommelesagents,lesrles,lesbutsetlescapacits...Nonseulementonsintresselamodlisationdescomposantsdanslesystme,maisencoreonsintresselamodlisationdesinteractionsentrecescomposants.
Cependant,linstance,ilnyapasencoreunemthodestandardetunoutilstandardpourtouslestypesdelapplication.Ilresteencoredeslimitsdeloutilpourmodlisationdesinteractionsdanslesystme.Cedocumentafaitunrsumsurdesmthodesetdesoutils.Lamthodeetloutilrsums(gnraux)vonttreappliquslaralisationdunsystmereldansltudedecasduchapitresuivant.
Gnie logiciel orient agent 18
Chapitre3
TUDEDECAS
Cechapitre vaprsenter l'applicationde la mthodeet l'outil qu'onaprsentsdans lechapitre 2 pour modliser un systmeconcrte qui s'appelle Systmede service desinformationsintgressurlaportable(SSII).Ilcontientdesparties:
Posdusystmerel
Analyseetconceptiondusystmeenappliquantunemthodeetunoutilchoisi.
Bilansurl'analyseetconception
3.1Problme
3.1.1Descriptiongnrale
SSIIestunsystmefournissantdesinformationsl'utilisateurparsaportable:l'utilisateurenvoie sa demande et reoit la rponde (des informations) par sa portable (tlphoneportable,PDA...).Lesystmerpondelademandedel'utilisateurencherchantdanssabasededonnequiestintgreautomatiquementdesplusieurssourcesinformatiques(sitesweb)encherchantetenslectionnantautomatiquementdesinformationsdontl'utilisateurabesoin.
Lesystmefournissantdesinformationsdufootball
Lesinformationsdufootballsesituentauxplusieurssitesweb(sources),doncquandunutilisateurveutsavoirlersultatdunematche,ildevraallerausitecorrespondantpourletrouver.Parexemple,ilyauraunematcheentredeuxquipes,l'quipeChelseaetl'quipeBarca,danslechampionnatC1.Unutilisateurdemandedesavoirlesrsultatsde5derniersmatchesdechaquequipepourprvoirlersultatdecettematche.
Soit,ildoitallerauxsitesdiffrents:
Le site du football anglais pour savoir les derniers rsultats de Chelsea dans lePrimieShip
LesitedufootballespagnolpoursavoirlesderniersrsultatdeBarcadanslaLiga1
LesiteduC1poursavoirlesderniersrsultatsdeuxtouteslesdeuxquipesdansleChampionnatC1.
Puis,ildevraintgrercesrsultatspourobtenirlersultatfinal,cesontdes5derniersmatchesdechaquequipe.
Ilyaunproblmeseposantquand:
Gnie logiciel orient agent 19
Lutilisateurneconnatpaslessitesdufootball
LutilisateurnepeutpasconnecterInternet
Lutilisateurnapasassezdetempspourleschercher
Donc, ce dont lutilisateur a besoin est un systme qui le remplace trouver cesinformationsetluirpondlasuiteparlesquipementspersonnels:PDA,portable...Parexemple,continuelexemplecidessus,lesystmevachercherlesrsultatsdeChelseasurlesiteducoupeC1etsurlesitedufootballanglais(surdeuxsitesdiffrents),etchercherlesrsultatsdeBarcasurlesiteducoupeC1etsurlesitedufootballespagnol(deuxsitesdiffrentsaussi).Puis,lesrsultatsobtenussontintgrspourobtenirles5derniersmatchesdechaquequipeetenvoyslutilisateurparsaportable.
3.1.2Solutionpropose
Onvaconcevoirunsystmequicontienttroispartiesprincipales:lectdel'utilisateur,celuiduserveuretceluidesourced'information:
Lect del'utilisateur: fournit l'interfaceentrel'utilisateuret le systmeparsaportablepourenvoyerlademandeetrecevoirlersultat.
Lectduserveur(leServeur):contactel'utilisateurpourrecevoirlademandeetenvoyerlersultat;analyselademandepourlessourcescorrespondant;envoielesrequtesauxsourcesd'informationetintgrelesrpondesreues.
Lectdessourcesd'information(lesWrappeurs):slectionneautomatiquementdesinformationsncessairessur chaquesite ; sauvegardedes informationscaptesetrpondauserveurlorsqu'ildemande.
Gnie logiciel orient agent 20
3.1.3Besoind'analyseretdeconcevoirorientagent
Cedontonabesoinsontque:
LesWrappeursextraientautomatiquementdesinformationssurchaquesource;
Lesystmedoittredistribuselonladistributiondessourcesd'information;
Le Serveur communicate avec les Wrappeurs ds que l'utilisateur demande : lacommunicationalieuplusieursfois;lesinformationschangessontsousplusieurs
rseau rseau
Wrappeur
BD Site
Wrappeur
BD Site
rseau rseau
Recepteur Envoyeur
Projecteur
Distributeur Intgrateur
Serveur
Ontologie
Gnie logiciel orient agent 21
typesdiffrents(lacommunicationestcomplexe);
Les entits dans le systmedoivent fonctionner de la faon active : ils doiventcouteractivementlademandedesautrespourlaservitoutdesuite.
Sionappliqueunemthoded'analyseetconceptionorientesobjet,onauradesdifficults:
Comment peuton modliser un objet qui est capable de fonctionnerautomatiquementsanscontrolenutilisantdestechniquesdepaquetageethrdit?
Comment peuton modliser un systme distribu dans le quel on ne sait pascombiendescomposantsqu'ilvacontenir?
CommentpeutonmodliserlacommunicationentreleServeuretlesWrappeursenutilisant les appels passifs des fonctions des objets? Surtout dans le cas o cescommunicationssepassentplusieursfoisetqu'ilyaplusieurstypesd'informationchanges!
Estcequelesobjetssontactifspourragiractivementquandleserveurdemande?
Cependant,sionappliqueunemthoded'analyseetconceptionorientesagent,onauradesfacilits:
Onn'aplusbesoindes'occuperdufonctionnementautomatiquedesWrappeursetduServeur car la capacit de fonctionnement automatique est un caractristiqueimplicitedel'agent.
galement,unsystmemultiagentestimplicited'unsystmedistribu.
OnpeutmodliserlescommunicationsentreleServeuretlesWrappeursgrceauxtechniquesdemodlisationdesinteractionsdanslesystmemultiagent:modliserleprotocoleetl'ontologie.
Unagentesttoujoursactifpourragiractivementquandleserveurdemandemmesiiln'arienfaire.
3.1.4Choixdemthodeetoutil
Mthode
Puisquil nya pasencore unemthodestandardqui convient toutes les applicationsdiffrentes,onnesuitpasdemthodeconcrete.Onvaslectionnerlamthodersumedanslechapitre2avecdestapes:
Danslaphasedelanalyse,onabesoindecinqmodles:
Modledebuts
Modledecasd'utilisation
Modlederlesetdetches
Gnie logiciel orient agent 22
Modlededomaine
Modled'agents
Danslaphasedelaconception,onabesoinquatremodles:
Modledeclassed'agent
Modledeprotocole
Modledestructured'agent
Modled'exploitation
Outil
Puisquil ny a pas encore un outil standard qui convient toutes les applicationsdiffrentes,onnesuitpasdoutilconcrete.OnvasuivrelarecommandationdeDeLoach[6]dutiliserdesdiagrammesdeUML:
Modle de but
Modle de cas d'utilisation
Modle de rleModle de domaine
Modle d'agent
Modle d'agent dtaill
Modle de protocole
Modle de structure
Modle d'exploitation
Exigences Collection des exigences
Analyse
Conception
Gnie logiciel orient agent 23
Modledebuts:reprsentparlediagrammedesclasses,chaqueclassereprsenteunbut.
Modledecasd'utilisation:reprsentparlediagrammedecasdutilisation.
Modlederlesetdetches:reprsentparlediagrammedesclasses,chaqueclassereprsenteunroleouuntache.
Modle de domaine: reprsent par le diagramme des classes, chaque classereprsenteuntermedanslontologie.
Modled'agents:reprsentparlediagrammedesclasses,chaqueclassereprsenteunagent.
Modledeclassed'agent:reprsent parlediagrammedesclasses,chaqueclassereprsenteunclassedagent.
Modle de protocole: reprsent par le diagramme squence (diagrammecollaboration).
Modle de structure d'agent: reprsent par le diagrammedes tats, chaque tatreprsenteuntatinternedunagent.
Modle d'exploitation: reprsent par le diagramme des classes, chaque classereprsenteunsystme.
3.2Analyse
Danslaphased'analyse,onabesoinde:
Modlisationdesbuts
Modlisationdescasd'utilisation
Modlisationdesrlesetdestches
Modlisationdesdomaines
Modlisationdesagents
3.2.1Modlisationdesbuts
L'objectifdecettetapeestdedterminerlesbutsdusystmeetlesrelationsentreeux.Pourdterminerlesbuts,onconsidretroisaspects:
Afindefournirleservicedesinformations,ilfaut:fournirleserviceencontactantl'utilisateur,etcollectionnerdesinformationsdemandes.
Afindecontacter l'utilisateur,il fautuneinterfacepour: recevoir lademandedel'utilisateuretenvoyerlersultatfinal.
Afindecollectionnerdesinformations,ilfaut:extrairedesinformationsncessairesetsauvegarderdesinformationscaptures.
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 lesauvegardedesinformations.
3.2.2Modlisationdescasd'utilisation
L'objectifdecettetapeestressemblceladanslamthodeorienteobjet.C'estdedcrirele comportement du systmeen interagissant avec des acteurs extrieurs : l'utilisateur,l'autresystme...
Gnie logiciel orient agent 25
Lesystmeadeuxtypesd'acteur:
L'utilisateur:cequiutiliseleservicedusystme.
Lesiteweb:cequiadesinformationsncessaires.
Donc,ilyadeuxcasd'utilisationprincipaux:
Lecontact de l'utilisateur. Il contient la demandede l'utilisateur de recevoir desinformationsetlarponsedusystmelademandedel'utilisateur
L'extractiondesinformationsdessitesweb.
3.2.3Modlisationdesrles
L'objectifdecettetapeestdedterminerlesrlesdanslesystme;lesrelationsentreeuxetlesrelationsentrelesrlesetlesbuts.
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 informationsconcernantlademande.
Gnie logiciel orient agent 26
R6:Container.Cequigardedesinformationscapturessurchaquesite.
R7:Capteur.Cequicapturedesinformationsncessairessurchaquesite.
Lesrelationsentrelesbutsetlesrlesdusystme:
RcepteurenvoielademandeDistributeur.
DistributeurenvoiedesrequtesDemandeur.
DemandeurdemandeContainerderpondrechaquerequte.
ContainerrpondlademandedeDemandeur.
CapteurenvoielersultatcapturContaineur.
DemandeurenvoielarponseIntgrateur.
IntgrateurenvoielersultatintgrEnvoyeur.
B0 B1 B2 B3 B4 B5 B6
R1 x
R2 x
R3 x
R4 x
R5 x
R6 x
R7 x
3.2.4Modlisationdesdomaines
L'objectif de cette tape est de dterminer les termes, les informations qu'on a besoind'utiliser dans les communications entre les agents. Il y a deux types des informationsauxquellesons'intresse:
Lesinformationsncessairespourchangerentrelesagents.Ellessontsousformedesmessageschangsentreeux.
Les informations ncessairespourcomprendre le contenudumessage. Elles sontsousformed'unebasedeconnaissancesdusystme.
Typedemessage
Ilyatroistypesdemessage:
Adresse:ilreprsentel'adressed'unagent.Ilcontientunhteauquelagentsesitueetuneportparlaquelleagentcommuniqueaveclesautres.
Enquete:ilreprsenteunerequted'unservice.L'attributtypesoitunrsultat
Gnie logiciel orient agent 27
d'unematch,soituncalendrier,soitunclassement.L'attributquipeestlenomd'quipementionne.L'attributnombredematchestutiledanslecasondemandequelquesderniersmatchesd'unequipe.
Resultat : il reprsente le rsultat obtenud'un service. L'attribut type soit unrsultatd'unematch,soituncalendrier,soitunclassement(ressembleceluidanslaclasseEnquete).L'attributcontenureprsentelavaleurcorrespondant.
Basedeconnaissancesdusystme
Ondoitreprsenterdelaconnaissancegrcelaquellelesagentspeuventcomprendrecequ'ondemandeetlestermesdansledomainedeservice.Cetteconnaissancepermetauxagentsdeprojeterdeleursproprestermesauxtermesdesautres.
Onlareprsentesousformeunarbre(danslecascomplexe,c'estungraphe)dontlenoeudestuntermedansledomaine:
Pluslenoeudestprsdelaracine,plusletermereprsentparcenoeudestgnral,etviceversa.
Unfilsderondereprsenteuntermedansledomainedetermereprsentparnoeudparent.
Unfilsderectanglereprsentedestermesquivalantdanslecontextededomainedterminantparletermedenoeudparent.
Voiciunpetitmorceaudelaconnaissancedusystme.Laracinereprsenteuntermeleplusgnralduservice,puisleniveaudesnoeudsreprsentantdesservicesconcrtes,etpuis,leniveaudesnoeudsreprsentantdespartiesd'unservice...Leniveaudesnoeudsdesfeuillesreprsentantdestermesleplusdtaillspourchaqueservice.Lefilsderectanglereprsente
Gnie logiciel orient agent 28
destermesquivalantquechaquepageutilise.
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, grelamanipulationgnraledusystme.Ilcontactedirectementl'utilisateuretlesagentsdistributeurs.
Serviceintgr
Football Mto
AnglaisFranais Europen
quipe
Liverpool
MUMan'Utd/Manchester'U/Man'Utd/ManchesterUnited
Liv'l/Liver/Liv'pool
Gnie logiciel orient agent 29
Distributeur:CequicredesrequtesconvenablesauxcapacitsdesWrappeurssurchaquesite.
Wrappeur:Cequiextraireautomatiquementdesinformationsncessaires.Ilrponddirectementlademandedudistributeur.
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 etd'intgrateur.
LeWrappeurjouelerledecontaineretdecapteurdesinformationssurchaquesite.
R1 R2 R3 R4 R5 R6 R7
Serveur x x x x
Distributeur x x x
Wrappeur x x
Lesystmeaseptbuts,septrlesettroisagents:
LesdeuxbutsB1etB2sonttoutfairepartitionns.Donc,ilsn'ontpasbesoindesrles.
LestroisrlesR3,R4etR5correspondentaubutB0.Lereste,chaquerles'occuped'unbut.
B0
B1 B2
B3 B4 B5 B6
R1 R2 R3 R4 R5 R6 R7
S D W
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,leprotocole DistributeurRequete de Distributeur Wrappeur, le protocoleWrappeurReponsedeWrappeur DistributeuretleprotocoleDistributeurReponsedeDistributeurServeur.
Lesdeuxacteurssontutilisateuretsiteweb.
3.3.2Modlisationd'agentinterne
Lesystmecontienttroisclassesd'agent:Serveur,Distributeur,Wrappeur.Voicilemodlede 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 sousdemandes, s'il est ncessaire. Aprs cet tape, il possdeun ensemble des sousdemandes.
Aprs avoir envoy des sousdemandes aux Distributeurs correspondant, il entrel'tatd'attendupourattendretouteslesrponsesdesDistributeurs.
AprsavoirreutouteslesrponsesdesDistributeurs,ilentrel'tatd'intgrationdanslequelillesintgreaursultatfinal.Puis,ill'envoiel'utilisateuretrentrel'tatderceptiondenouvellesdemandesd'autreutilisateur.
Gnie logiciel orient agent 32
3.3.3Modlisationdeprotocole
Ilyaquatreprotocolessousdeuxpairsdanslesystme:LeprotocoledeServeurRequeteetleprotocoledeDistributeurReponse,leprotocoledeDistributeurRequeteetleprotocoledeWrappeurReponse.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, leDistributeurdemto...Donc,cetypen'estpasbeaucoup.
Wrappeur:unserviceenaplusieurs,chaquesiteweb(ressourcedesinformations)aunWrappeurcorrespondant.Donc,cetypeestnombreux.
PuisquelenombretotaldeServeuretdeDistributeurn'estpastropgrand,onpeutlesmetsdanslemmeserveur.LenombredeWrappeurestgrand,donconlesmetsdanschaquesite(s'ilestpossible)surlequelilsextraientdesinformationsncessaires:
Serveursesituedansleserveurdusystme.
LesDistributeurssesituentaussidansleserveurdusystme.
ChaqueWrappeursesituedanslesitewebsurlequelilextraiedesinformations.
3.4Biland'analyseetconception
Cettesectionvafaireunbilansurdesaspects:
L'application
Lamthodologieapplique
L'outilutilis
3.4.1Application
L'intentiondefournirplusieursservices.Eneffet,onaanalysetconupourunseulservicedefootball.
Enpoint devuedel'application,l'architecturedusystmeest ouvertetflexiblecarelle
Gnie logiciel orient agent 34
permetde:
Ajouter unnouveauservice ausystmeousupprimerunservicedusystme(auniveaudeservice,parexemplelefootball,lemto...).
Ajouterunnouveausitewebouchangerunsitewebd'unWrappeurcorrespondant.
Quandonveutajouterunnouveauserviceausystme,onnedoitfaireque:
Construire un module correspondant au service qui contient un Distributeur duserviceetdesWrappeursquiextraientdesinformationsncessairessurlessiteswebcorrespondants.
Mettrejourl'ontologiedusystmeenyajoutantdesconnaissancesconcernantdenouveauxagents(unDistributeuretdesWrappeurs)etdenouveauxservicesajouts.
Quandonveutajouterunnouveausiteunserviceouchangerunsited'unservice,onnedoitfaireque:
Construire un module qui contient un Wrappeur qui extraie des informationsncessairessurlesitewebcorrespondant.
Mettrejourunepartiedel'ontologiedusystmeenyajoutantdesconnaissancesconcernantlenouveauWrappeur.
Danscescas,onn'apasbesoindechangerlescomposantsexistantdusystme.
3.4.2Mthodologie
Enutilisantlamthoded'analyseetconceptionorientesagent,onpeut:
Modliser un systmebasant sur des composants dans toutes les deux aspects :modliserlescomposantsdanslesystmeetmodliser lesinteractionsentreeux.Cependant,sionprendunemthodeorienteobjet,onnepourramodliserquelescomposantsdanslesystme.
Facilementmodliserl'interagissemententrelesagents. Lesprotocolespermettentauxagents d'interagir avecuneseulecondition: Ils connaissentuneontologieetinteragissent selon un protocole particulier. Cependant, si onprendunemthodeorienteobjet,ondevraappelerdesfonctionsentreslesclassesetd'ailleurs,ondevraconnatrelaprototypedesfonctionsdechaqueclassedesobjets.
Profiterlacapacit d'autonomed'agent.LesWrappeursextraientautomatiquementdesinformationsmaisonn'apasbesoindes'inquiterleurcapacitd'autonome.
Profiterlacapacitd'agissementd'agent.Onn'apasbesoindecontrlertouslescaspossiblesdeleurcomportementenutilisantlarglesi...alors....
Gnie logiciel orient agent 35
3.4.3Outil
L'utilisationdeUMLpouranalyseretconcevoirlesystmeorientagentadesavantages:
FacilecomprendrecarUMLestpopulairedanslemonded'analyseetconception.
OnpeutappliquerdesmodlesdeUMLdans l'analyseet conceptiondesystmeorientagentcarilyadesmthodologiesd'analyseetconceptionorientesagentquibasentsurcellesd'analyseetconceptionorientesobjet.
Mais,ilyadesinconvnients:
Ilmanquedesmodlesparticulierspourchaquetapedelamthode.Ilyadeuxtapes ayant un modle correspondant : modle de systme (modle de casd'utilisateur)etmodledeclasse.Lesautresdoiventutiliserlemodledeclassepourreprsenterleurrsultat.
Ilmanquedesoutilsncessairespermettantdeconstruireetdereprsenterl'ontologiedusystme.Ici,ondoitutiliserlemodledeclassepourcebut.
Ilmanqueaussidesoutilspourmodliserlesrelationsentrelesagentsetlesrles,entrelesrlesetlesbuts.
Ilmanqueaussiunmcanismepourmodliserlechangementautomatiquedesrlesdunagentquandiljoueplusieursrlesdiffrents.
3.5Conclusion
Cechapitreaprsent unetudedecasdanslaquelleonaanalys etconuunsystmefournissantunservicedesinformationsquisontextraitesetintgresdesplusieurssourcesdiffrentesd'information.Cesystmeestanalysetconuenappliquantlamthodologied'analyseetconceptionorientesagentquiatrsumedanslechapitre2.
Lapplicationdunenouvellemthodenestpasfacile,surtoutdanslecasoilmanquedesoutilspourlesdemandesparticuliersdanslamodlisationdesystmemultiagent.Pourtant,onpuissetrsbiendirequelesystmemodlisesttoutfairetouchlesystmedsir.
Gnie logiciel orient agent 36
Conclusion
Lagnielogicielorientagentaattirplusieurschercheursdanslesderniersannes.Sonproblme le plus important est de modliser un systme sous forme d'un systmemultiagent:
Commentmodliserunsystmemultiagent?
Quandappliquercettemthode?
Queloutilaidantraliserlesystme?
Ilyavaitplusieursmthodesetoutilsproposs.Engnral,cesmthodesbasentsurdenouveauxtermes:agents,rles,buts,capacits...Ellesconsidrentunsystmecommeuneorganisationdanslaquelleilyadesagentsetdesrelationsentreeux,chaqueagentjouedesrlesdiffrentsselonsescapacitspourobtenirdesbutsdusystme.Ellesmodlisentdonclesystmemultiagentsurdeuxaspects:
Modlisation les composants dans le systme: les agents, les rles, les buts, lescapacits
Modlisationlesinteractionsdanslesystme:lesprotocoles,l'ontologie
Eneffet,iln'yapasencoreunemthodestandardpourtouteslesapplications.Iln'yapasnonplusunoutilpourcebut.Ilaaussiindiqudesinconvnientsmaintenantdesmthodesetoutils:
Commentmodliser le changementautomatiquederle d'unagentquandil joueplusieursrlesdanslesystme?
Iln'yapasencoreunoutilquinousaidecrer,modliserouchangerl'ontologied'unsystmemultiagent.
Cedocumentafaitunbilansurdesmthodesrcentesetamontrunemthodelapluscommuneentreeux.Lamthodersumeat appliquepouranalyseretconcevoirunsystme qui fournit des informations par la portable en extrayant et en intgrantautomatiquementdesinformationsdessourcesdistribuesdiffrentes.
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,AgentOrientedSoftwareEngineering,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.AnoteontheReciprocityintheAggregationofFuzzyPreferencerelationsusingOWAoperators. FuzzySetsandSystems137:1,pages7183,2003.
[4].G.Cabri,L.Leonardi,andF.Zambonelli. BRAIN:AFrameworkforFlexibleRoleBased Interactions in multiagent Systems. Proceedings of the 2003Conference onCooperativeInformationSystems(CoopIS),Catania,Italy,pages145161,2003.
[5]. S. A. DeLoach. Analysis and Design using MaSE and agentTool. 12th MidwestArtificial Intelligence and Cognitive Science Conference(MAICS 2001), MiamiUniversity,Oxford,Ohio,March31April1,2001.
[6]. S. A. DeLoach. Engineering Organizationbased Multiagent Systems. The 4th
InternationalWorkshoponSoftwareEngineeringforLargescalemultiagentSystems(SELMAS05),May1516,2005,St.Louis,MO.Springer, LNCSvol.3914,,pages109125,.
[7]. J. DiLeo, T. Jacobs and S. A. DeLoach. Intergrating Ontologies into Multiagent Systems Engineering. Fourth International BiConference Workshop on AgentOrientedInformationSystems(AOSI2002),Bologna(Italy),1516July2002.
[8]. S. A. DeLoach, E. Matson. An Organizational Model for Designing Adaptive MultiagentSystems. TheAAAI04WorkshoponAgentOrganizations:TheoryandPractice(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 EngineeringInteractionsinLargescalemultiagentSystems.InAdvancesinSoftwareEngineeringfor LargeScale Multiagent Systems (postproceedings of SELMAS03), Springer,2004.
[11].M.He,N.R.JenningsandH.Leung.OnAgentMediatedElectronicCommerce.IEEETransactionsKnowledgeandDataEngineering15(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: AgentTheories,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.Proceedingsofthe ACMSIGKDD International Conference on Knowledge Discovery & DataMining(KDD2003),Washington,DC,USA,August2427,2003.
[15]. X. Luo, J. H. Lee, H. Liung and N. R. Jennings. Prioritised Fuzzy ConstrantSaticfactionProblems:Axioms,InstantiationandValidation.JournalofFuzzySetsandSystems,136(2),pages155188,2002.
[16].P.MoraitisandN.Spanoudakis. CombiningGaiaandJADEformultiagentSystemsDevelopment. The 4th International Symposium "From Agent Theory to AgentImplementation" (AT2AI4), in: Proceedings of the 17th European Meeting onCyberneticsandSystemsResearch(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 SecondInternational Workshop On AgentOriented Software Engineering(AOSE 2001),Montreal,Canada,May29th2001.
[18]. J. Odell, M. Nodine, and R. Levy. AMetamodel for Agents, Roles, andGroups.AgentOriented Software Engineering (AOSE) V, James Odell, P. Giorgini, JrgMller, eds., Lecture NotesonComputer Sciencevolume(forthcoming), Springer,Berlin,2005.
[19].J.Odell,H.V.D.Parunak,andB.Bauer.ExtendingUMLforagents.InG.Wagner,Y. Lesperance, andE.Yu,editors, ProceedingsoftheAgentOrientedInformationSystemsWorkshopatthe17thNationalconferenceonArtificialIntelligence,Austin,Texas,july302000.
[20].H.V.D.ParunakandJ.Odell.RepresentingSocialStructuresinUML.AgentOrientedSoftwareEngineeringII,LectureNotesonComputerSciencevol.2222,SpringerVerlag,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.WooldridgeandN.R. Jennings. Inteliigent Agents: TheoryandPractice. TheKnowledgeEngineeringReview,10(2),pages115152,1995.
[24].M.J.Wooldridge,N.R.JenningsandD.Kinny.TheGaiamethodologyforagentoriented 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 KnowledgeDiscovery&DataMining(KDD2003), Washington,DC,USA,August24 27,2003.
[26] F. Zambonelli, N. R. Jennings, M. Wooldridge. Organizational Rules as anAbstractionfortheAnalysisandDesignofmultiagentSystems.InternationalJournalofSoftwareEngineeringandKnowledgeEngineering,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](multiagentSystemKnowledgeAnalysisandDevelopmentSystem) : tend lamthodologiedegnieconnaissance[12]enprenant les techniquesorient objetetlestechniquesdelamthodologiedegnieprotocole.Ellecontientseptmodles.
Modled'agent :dterminelescaractristiquesdel'agent:Lescapacitsderaison,leshabilets(percevoir/s'agir),lesserviceslesgroupesethirarchiedesagents.
Modle de tche : dtermine les tchesque l'agent peut s'occuper : les buts, lespartitionslescomposantsetlesmthodesdersoudreleproblme.
Modled'expert:dterminelesconnaissancesdontlesagentontbesoinpourobtenirleursobjectifs.
Modled'organisation:dterminel'organisationdanslaquellelesystmemultiagentestconsidrcommeuneorganisationsocialedelasocitd'agent.
Modle de coordination : dtermine les conversations entre les agents : lesinteractions,lesprotocolesetlescapacitsncessaires.
Modledecommunication:dtermineendtailll'interactionentrelesagentsetlesgens,lesfacteurshumainespourdvelopperlesinterfacesaveclesgens.
Modledeconception:collectecesmodlescidessus.Ilcontienttroissousmodles: Conception de rseau, il conoit les fondations du rseau d'agent. Conceptiond'agentconoitl'architectureinternedel'agent.Conceptiondeplatformeslectionnelaplatformededveloppementagentpourchaquearchitectured'agent.
Conceptualisation :dcritleproblmeendtailleenidentifianttouteslesexigences,lesbesoins,lesbuts,lestches...Cettephaseutiliselescasd'utilisation,unetechniqueorientobjet,pourfairecomprendrel'exigenceinformelleetpourtesterlesystme.Chaquecasd'utilisationdcritendtailluncomportemententrelesystmeetlesgens.
Analyse:dcritetmodliselesystmeenprenantlesmodles. Modlisationd'agent : cre les instancesoriginales pour identifier et dcrire les
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 quiapparaissentdanslescasd'utilisation,soitenextrayantlesujetdesphasesdansles
Gnie logiciel orient agent 41
casd'utilisation.Second, l'identification lesrelationsentre lesagents propossenbasantaussisurlescasd'utilisation.
Modlisationdetche:dcouvritetdcrittouteslestchespossiblesdanslesystmeenutilisantlemodledetche.Ildcomposedestchesenutilisantl'approchedehautbasetenconstruisantunarbredestches.Chaquetcheestdcrieparsonnom,lesentrs,lessortis,sastructur,lescontrls,lescapacitncessaires...
Modlisationdecoordination:dveloppelemodledecoordination.Ilcontientdeuxsoustapes. Premier, dfinition et construit le prototype pour les canaux decommunication.Ildcritlesscnariosprototypesentrelesagents.Puis,ilreprsenteles vnements entre eux et modlise les informations changes dans chaqueinteraction.Etpuis,ilmodlisel'interactionaveclediagrammedetransfertl'tat.Enfin,ildterminechaqueinteractionestsynchroneouasynchrone.Second,ilvrifiechaquediagrammed'interactions'ilsatisfaitlebesoin,s'ilyadestchesdupliquesous'ilyexistequelquesconflits...
Modlisationdeconnaissance :modliselaconnaissancedudomaine.Ellecontientlaconnaissance ncessairepourobtenirl'objectifdel'agentetlaconnaissancedel'environnementet desautresagents. Il contient trois typesdeconnaissance : Laconnaissance de domaine concernant le problme, la connaissance d'infrencereprsentantlestapesinfrespourrsoudreunetche,laconnaissancedetchereprsentantl'ordredelastructurinfre.
Modlisationd'organisation :dveloppelemodled'organisationenbasantsurlemodled'agent.Cemodleprsentelesrelationsstatiquesoustructuresentrelesagents.
Conception : partirdel'ensembledesagentsquiainiti danslaphased'analyse. Onconoitlemodledeconceptionselonlestapes.
Conceptionderseaud'agent:dterminelesfondationsncessairespourlesystmemultiagent.Cesfondationscontiennenttroisaspects:lafacilitderseauconcernantlesservicesdurseau,niveaudescurit,leprotocoledel'application.Lafacilitdeconnaissance concernant l'ontologie, le transfert la langue reprsentant laconnaissance.Lafacilitdecoordinationconcernantlesmcanismespourlagestiondesressourcescommunes.
Conceptiond'agent :dterminel'architecturequiconvientleplus chaqueagent.Chaqueagentestdivisparrapportdesmodules:decommunicationhumaine,decommunicationagent,dedlibrationetraction,deserviceexterne...
Conceptiondeplatforme:slectionnelelogicielquijouederledel'environnementdveloppd'agent.
Cette mthodologie intgre la mthodologie de gnie connaissance et les techniques de lamthodologieorientobjetetgnieprotocole.Elleproposeunnouveaumodle,c'estmodledecoordination,quipeutreprsenterlesrelationsdynamiquesentrelesagentsoulesagentsetlesgens
Gnie logiciel orient agent 42
danslesystme,etdonc,ellenousaidedeconcevoirlesystmeplusdynamiquequ'autrefois.
A.2MaSE
MaSE([5],[7])(multiagentSystemEngineering):Elleconsidreunagentcommeuntyped'objet,soitayantdel'intelligence,soitnon.Lebutdecettemthodeestdetransformerlesexigencesentresdel'utilisateurauxmodlesquidcriventletyped'agent,sesinteractionsaveclesautresetl'architectureinternedechaqueagent.
LestapesdelamthodologieMaSE
Analyse :identifielesrleetlestchesquelesystmedoits'occuperenjouantcesrles.Ellecontientdestapes
Captationdesbuts :identifieetpartitionnelesbutsdusystme.Puis,lesorganisedansundiagrammesousformehirarchieselonlesrelationsentrelesbuts.
Descriptiondescasd'utilisationparlesdiagrammessquences :enbasantsurles
Exigences
Modle d'organisation
Modle d'environnement
Modle prliminairede rle
Modle prliminaired'interaction
Rglesd'organisation
Modle de structure
Modle de rle
Modle d'interaction
Modle d'agent
Modle de service
Collection des exigences
Analyse
Conception architecturale
Conception dtaille
Gnie logiciel orient agent 43
exigences et le modle de but, on extraite les scnarios qui reprsentent lecomportementdusystmedanslescasspcifiques.Chaquescnariodcritendtailllespartenaires,l'ordredesactivitsetlesinformationschangesentreeux.
Construirel'ontologie :construitlaconnaissancedansledomained'applicationdusystmeenmodlisantlesinformationschangesdanslesscnarios.
Construirelesrles:enbasantsurlesdiagrammessquencesetlesbuts,onidentifielesrledusystme.Chaquebutestcaptparaumoinsunrle,etviseversa,unrles'occupeaumoinsunbut. Selon les diagrammesdesscnarios, ondtermine lesrelationsncessairesentrelesrles.
Reprsentationdestches:dcritendtaillchaquetchequ'onabesoinderaliserpourobtenirlebut.Chaquetcheestdcrieparundiagrammedestatsdanslequelonindiquel'tatinitial,l'tatfinietlestatsintermdiaires.Chaquetatadesentres,dessorties,desfonctionsetdesconditionsprovoquesettermines.
Conception :identifielesagentsetlesconversationsentreeux.Elleconstruitendtailll'architecturegnraledusystmeetl'architectureinternedechaqueagent.
Crationdesclassesd'agent:identifielesagentsenbasantsurlesrles.Chaquerleestjouparaumoinsunagentetunagentdoitjoueraumoinsunrle.Lesrelationsentrelesagentscorrespondentauxrelationsentrelesrlesdontilsjouent.
Construiredesconversations:dcritendtaillchaqueconversationentrelesagents.Chaqueconversationestunprotocoledecoordinationentredeuxagents.Pourchaqueconversation,ondterminelesparticipants,agentinitial,agentfini,lestats.Chaquetatadesfonctions,desconditionsentres,desconditionssorties,desactivit.
Construired'agent :construitl'architectureinternedechaqueagentenutilisantlediagramme des tats. Chaque tat a des fonctions, des conditions entres, desconditionssorties,desactivitqu'unagentdoitraliser.Lestatssontdpendudesrlesdontunagentjoue.
Exploitationdesystme :indiquelaportraitdusystmequandonl'exploitdansunenvironnementrel.Ondterminelenombredechaquetyped'agent,lesplacessurlesquelleslesagentssesituent.
A.3Gaia
Gaia[27]: exploitel'abstractionorganisationnellepourfournir unmthoded'analyseetconceptionlesystmedelogicielouvertetcomplexe.Ellecontientdeuxphases:l'analyseetlaconception.Laconceptioncontientlaconceptionarchitecturaleetlaconceptiondtaille.
Gnie logiciel orient agent 44
LestapesdelamthodologieGaia
Analyse :organiselesexigencesetlesspcificationsauxmodlesdecettephase.Lebutprincipalestdeconstruirelemodlederledusystme.
Modled'organisation :diviselesystmeparrapportplusieurssoussystmes.Soitselonl'identificationdessoussystmesquiexistentdjdanslesystme,soitselonlastructurdescomposants.Descomposantsappartiennentaummesoussystmequand : soit ils ont les objectifs communs; soit ils interagissent avec une hautefrquence;soitleurshabiletssontprochesetchaquecomposantadeshabiletsdontlesautresontvraimentbesoin.
Modle d'environnement : considre l'environnement en terme des ressources
Hirarchie des buts
Cas d'utilisation
Rle
Diagramme squence
Tche
Classe d'agent
Conversation
Architecture d'agent
Diagrammed'exploitation
Exigences initiales
Ontologie du systme
Collection des exigences
Analyse
Conception
Gnie logiciel orient agent 45
calcules abstraites. Il est considr comme une liste des ressources. Chaqueressourceestassocieavecunnomcaractrisparl'actionquel'agentpeutys'agir.
Modleprliminairederle :cen'estpasencorel'organisationactuelle.Ilestunedfinitionprliminairedesrleset desprotocolesdel'organisation.Gaiaproposedeuxtermespourreprsenterdelafaondemiformellelerle.Permission,dfinitlarelation de l'agent avec son environnement si l'agent a le droit d'accder lesressources, de les changer ou de les consommer. Responsabilit, dtermine lescomportementsd'unagentselondeuxtypes:lepropritvivantquidcritlestatsauxquels un agent doit arriver sur quelques conditions, et proprit scurit quiassurequ'unagentvientauxtatsacceptables.Puis,oncreunensembledesschmaderle,unrleenaunecorrespondante.
Modleprliminaired'interaction:captelesindpendancesetlesrelationsentreslesrles dans le systme, en terme d'une dfinition protocole pour un type del'interactionentreeux.Unprotocoleestdfiniprliminairementparlesattributs:lenom,l'initiateur,lepartenaire,lesentres,lessortiesetladescription.
Modledergleorganisationnelle:largleorganisationnelleestconsidrecommele responsabilit de l'organisation. Elle contient deux types : la rgle vivanteconcernantl'invariantquel'organisationdoitrespecter,larglescuritconcernantl'expressdynamiquedel'organisation.Larglevivanteassurel'ordrederalisationdesrlesoudesprotocoles,d'unaprsd'autres.Larglescuritassurequeunrleestjouparaumoisd'unagentetqu'unagentpeutjouerauplusunrlelafois.
Conceptionarchitecturale:compltelesmodlesprliminairesderleetdeprotocolequiontcrsdanslaphased'analyse.
Choixdestructurorganisationnelle:contientchoisirlatopologieetchoisirlergimedecontrle.Latopologiedpenddelaportdusystme,soitpairpair,soithirarchieavecunniveau,soitcomplexeavechirarchieplusieursniveaux.Lergimedecontrletraitedel'interaction entre les membres de l'organisation. Le choix est influenc par les rglesorganisationnellesetlesorganisationsrelles.Puis,onexploit lecadreorganisationneletreprsentelastructureorganisationnelle.
Compltementdemodlederle:Chaquerleestdcritendtaillparunensembledescaractristiques.Puis,ondterminelesrelationsentrelesrlesenbasantsurlatopologieorganisationnelle:dterminantchaquerledoitinteragitavecquelsrlespourfinirsamission.
Compltementdemodled'interaction:enbasantsurlatopologieorganisationnelleet le modle de rle, on a des relations entre les rles. Puis, on dtermine lesinformations changes dans chaque interaction pour dcrire le protocole : lescaractristiques,lerleinitial,lerlefini,lesinformationschanges.
Conceptiondtaille : identifielesagentspourcrerlemodled'agentetlemodledeservice.Cesmodlessontservispourlaphased'implmentation.
Gnie logiciel orient agent 46
Dfinitiondemodled'agent : identifielesagentsendcidantchaqueagentpeutjouerquelsrles.Ladcisiondpenddelatopologieorganisationnelle(lergimedel'interaction). Puis, en basant sur les relations entre les rle correspondants, ondcouvritlesrelationsentrelesagents.
Dfinitiondemodledeservice:identifielesservicesqu'unagentfournitenjouantdes rles correspondants. Chaque service est dcrie par un ensemble descaractristiques : les entres, les sorties, les conditions provoques, les prconditions,lespostconditions.
Gaia se base fortement sur le rle dans le systme. Elle propose aussi des rglesd'environnementetd'organisation.Cependant,ellemanquelafaondeconstruirel'ontologiedusystme,quisupportel'interactionentrelesagents.
A.4OMaSE
OMaSE [6] (Organization based Multiagent System Engineering): Cette mthodeconsidre un systmemultiagent commeune organisation des agents dans laquelle lesagentssontlesmembres,chaqueagentjoued'unrlespcifiqueselonsescapacitspourobtenir ses objectifs. Donc, le but de cette mthode est de construire une socitorganisationnelledesagentsenbasantsurlesmtamodlesdel'organisation.
But :estunobjectifquelesystmedoitobtenirousatisfaire.Ilestdiffrentdelafonction du systme : le but ne s'intresse que le rsultat obtenu, cependant, lafonctions'intresselafaonpourobtenirl'objectif.
Rle : est une entit capable d'obtenir des buts dans l'organisation. Unrle doits'occuperaumoinsunbutdusystme.Donc,ilyaunerelationentrelesrleetlesbuts.
Agent : est un composant vivant et s'agissant autonome dans l'environnement.Chaqueagentdoitjoueraumoinsunrlepourobtenirunoudesbuts.Donc,ilyaunerelationentrelesagents,lesrlesetlesbuts.
Capacit:reprsentelacapabled'agentpours'occuperdesmissions.Enbasantsurlacapacit,ondtermineprcismentlarelationentrelesagentsetlesrles:lesagentsontdesproprescapacitsetlesrlesdemandentcertaincapacitpourjouercerle.Donc,quandunagentalescapacitsncessairesdontunrledemande,ilpourrajouercerle.C'estdire,l'agentpeutjouerdesrlesselonsesproprescapacits.
Ontologie:dfinitdesentitsdansledomained'applicationetleursrelations.Parmientreeux,onextraitedestypesdedonneetleursrelationsquipermettentauxagentsdecommuniqueraveclesinformationsspcifiques.
Analyse:contientlestapes Modledebut:lesexigencessonttransfertsauxbutsdusystmeetorganisesdans
unarbrehirarchiedesbuts.
Modle prliminaire d'organisation : dfinit les interactions avec des acteurs
Gnie logiciel orient agent 47
externes.L'organisationpeuttrediviseparplusieurssousorganisationsselonlesbutsd'organisation.Chaquesousorganisations'occupecertainbutetfournitcertainservicesauxacteursouautressousorganisations.
Modlederle:dfinitlesrlesdansl'organisation,lesservicesqu'ilsfournissentetlescapacitsdontilsdemandentpourlesjouer.Chaquerleestdfinipourobtenircertainbutetfournircertainactivitspourraliserlesservices.
Modle d'ontologie : dfinit les entits dans le domaine d'application del'organisation.Chaqueentitestdcrieparsespropresattributsetlesrelationsaveclesautres.
Conception:contientlestapes Modle d'agent : dfinit les agents et leurs relations dans l'organisation. Chaque
agentestdcrit parsescapacits, lesrlesdontil peut joueret lesservicesqu'ilfournitpourobtenirdesbuts.
Modledeprotocole :dfinitlesprotocolesentrelesagents.Chaqueprotocoleestdcrit par un diagrammede squence qui indique les participants, les messageschangs,l'ordred'changerdesmessages.
Modle d'tat d'agent : dfinit le comportement de chaque agent en utilisant lediagrammedestatsfinis.Chaquetatestdcritparlesconditionsprovoques,lesconditionssorties,lesfonctionsinternesetlescomportements.
OMaSEestlargiedeMaSE,doncellecomposedesavantagesdeMaSEetceuxdelagnieorganisation.
Gnie logiciel orient agent 48
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.
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 lesauvegardedesinformations.
B.1.2Modledescasd'utilisation
Lesystmeadeuxtypesd'acteur:
L'utilisateur:cequiutiliseleservicedusystme.
Lesiteweb:cequiadesinformationsncessaires.
Donc,ilyadeuxcasd'utilisationprincipaux:
Lecontact de l'utilisateur. Il contient la demandede l'utilisateur de recevoir desinformationsetlarponsedusystmelademandedel'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 51
8. 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 informationsconcernantlademande.
R6:Container.Cequigardedesinformationscapturessurchaquesite.
R7:Capteur.Cequicapturedesinformationsncessairessurchaquesite.
Lesrelationsentrelesbutsetlesrlesdusystme:
RcepteurenvoielademandeDistributeur.
DistributeurenvoiedesrequtesDemandeur.
DemandeurdemandeContainerderpondrechaquerequte.
Gnie logiciel orient agent 52
ContainerrpondlademandedeDemandeur.
CapteurenvoielersultatcapturContaineur.
DemandeurenvoielarponseIntgrateur.
IntgrateurenvoielersultatintgrEnvoyeur.
B0 B1 B2 B3 B4 B5 B6
R1 x
R2 x
R3 x
R4 x
R5 x
R6 x
R7 x
B.1.4Modledesdomaines
Ilyadeuxtypesdesinformationsauxquellesons'intresse:
Lesinformatio
Top Related