Modelisation SMA

download Modelisation SMA

of 74

description

Modelisation SMA

Transcript of Modelisation SMA

  • 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