You are on page 1of 10

Proiect Agenti Software SISTEM MULTIAGENT PENTRU REZERVAREA BILETELOR DE AVION

2011

I.

Prezentarea aplicaiei

Se consider problema simulrii unui sistem de rezervare a biletelor de avion. Scopul global al sistemului multiagent denumit SMA_Rezervare este simularea unui sistem care permite rezervarea i anularea biletelor de avion. Fiierul proiect al aplicaiei este rezbilet.def.

Arhitectura Sistemului Multiagent


n figura 1 este prezentat arhitectura sistemului multiagent. Sistemul are trei ageni: Pasager, Program_agent_vanzari i Supervizor. Pasager

Program_agent_vanz ari

Supervizor Figura1. Arhitectura sistemului multiagent din aplicaia Zeus rezervarea biletelor de avion

Ontologia sistemului multiagent


Ontologia sistemului cuprinde cinci fapte de tip entitate: destinatie, pret, ora, clasa i loc. n tabelul 1 sunt prezentate atributele celor cinci fapte. Tabelul 1. Atributele faptelor din ontologia sistemului Atribute Specifice destinatie Paris (String) Londra (String) Barcelona (String) Atena (String) Roma (String) Nisa (String) euro100 (String) euro140 (String) euro150 (String) euro200 (String)

Fapte

Motenite -

pret

ora

clasa loc

euro120 (String) euro197 (String) ora9 (String) ora11 (String) ora13 (String) ora17 (String) ora16 (String) ora20 (String) Economic (String) Business (String) Geam (String) Culoar (String)

Ontologia sistemului (rezervare.ont) a fost definit cu ajutorul editorului de ontologie furnizat de Zeus.

Diagrama de interaciune a societii de ageni

Definirea agenilor
Agentul Pasager are abilitatea de a realiza task-urile primitive: Cauta_zbor, Selectare_zbor, Confirma_zbor, Validare_bilet, Introduce_date_personale; n seciunea organizarea agentului se completeaza relaia dintre agentul Pasager i agenii Program_agent_vanzari i Supervizor ( agentul Pasager este peer agenilor Program_agent_vanzari si Supervizor); rolul n cadrul schemei de coordonare este initiator pentru protocolul contract net (CNP); strategia de coordonare este Default-No-Negotiation (strategie predefinit); Agentul Program_agent_vanzari

are abilitatea de a realiza task-urile primitive: Afisare_zboruri, Cerere_confirmare_zbor, Introduce_date_pasager, Confirmare_rezervare, Validare_date, Confirma_rezervarea_biletului; n seciunea organizarea agentului se completeaza relaia dintre agentul Program_agent_vanzari i agenii Pasager i Supervizor ( agentul Program_agent_vanzari este peer agenilor Pasager i Supervizor); rolul n cadrul schemei de coordonare este respondent pentru protocolul contract net (CNP); strategia de coordonare este Default-Fixed-Margin (strategie predefinit);

Agentul Supervizor are abilitatea de a realiza task-urile primitive: Confirma_validarea; n seciunea organizarea agentului se completeaza relaia dintre agentul Supervizor i agenii Pasager i Program_agent_vanzari ( agentul Supervizor este peer agenilor Pasager i Program_agent_vanzari); rolul n cadrul schemei de coordonare este respondent pentru protocolul contract net (CNP); strategia de coordonare este Default-Fixed-Margin (strategie predefinit); Tabelul 2. Definirea agenilor Ageni Task-uri Informaii Pasager Cauta_zbor Selectare_zbor Confirma_zbor Validare_bilet Introduce_date_personale Program_agent_vanzari Afisare_zboruri Cerere_confirmare_zbor Introduce_date_pasager Confirmare_rezervare Validare_date Confirma_rezervarea_biletulu i Supervizor Confirma_validarea

Protocol de coordonare FipaContract-NetManager

Strategia de coordonare Default-NoNegotiation

FipaContract-NetContractor

Default-FixedMargin

FipaContract-NetContractor

Default-FixedMargin

Definirea agenilor n Zeus

Organizarea agenilor n Zeus

Coordonarea agenilor n Zeus

Definirea Task-urilor
Tabelul 3. Definirea task-urilor Task-uri Informaii Cauta_zbor Selectare_zbor Confirma_zbor Validare_bilet Introduce_date_personale Afisare_zboruri Confirma_rezervarea_biletului Validare_date Confirmare_rezervare Introduce_date_pasager Cerere_confirmare_zbor Confirma_rezervarea

Tip task Primitiv Primitiv Primitiv Primitiv Primitiv Primitiv Primitiv Primitiv Primitiv Primitiv Primitiv Primitiv

II.

Implementarea aplicaiei i generarea codului

Implementarea aplicaiei presupune generarea automat de cod (pentru agenii, taskuri i script-uri de start-up), apelnd generatorul automat de cod din Zeus.

Pentru a genera automat codul trebuie parcurse urmtoarele etape: configurarea task-urilor n panel-ul Tasks opiunea Generate; configurarea agenilor task n panel-ul Task Agents opiunea Generate; configurarea agenilor utilitari n panel-ul Utility Agents; n panel-ul Generation Plan o se stabilete directorul n care se va genera codul; o se selecteaz sistemul de operare pentru care se vor crea script-urile; o se apeleaz generatorul automat de cod prin selectarea opiunii Generate ; n urma generrii automate a codului se genereaz trei script-uri run1.bat, run2.bat, run3.bat i codurile surs pentru cei trei ageni i task-uri.

Rularea aplicaiei
Toate fiierele create automat se compileaz cu javac. Dup compilarea tuturor fiierelor Java se apeleaz n ordine script-urile run1, run2, run3.

Figura 2. Rularea aplicaiei n Zeus

Figura 3. Comunicarea ntre ageni folosind intrumentul Society Viewer

You might also like