Sunteți pe pagina 1din 29

Aplicaie bazat pe un sistem multi agent folosind ZEUS

pentru realizarea unui Telefon Mobil
















Studeni: Neag Anamaria
Alina Butnaru
Grupa:1053/1052

2

Cuprins
Analiza domeniului ....................................................................................................................................... 4
Enunul problemei si premisele ................................................................................................................ 4
Domeniul si modelul de roluri .................................................................................................................. 6
Menionare ageni i roluri ........................................................................................................................ 7
Proiectarea aplicaiei ................................................................................................................................... 11
Proiectarea problemei ............................................................................................................................. 11
Crearea Ontologiei .................................................................................................................................. 19
Identificarea conceptelor ..................................................................................................................... 19
Constrngeri ........................................................................................................................................ 20
Dezvoltarea Aplicatiei ................................................................................................................................ 20
Crearea agenilor ..................................................................................................................................... 20
Definirea agenilor .............................................................................................................................. 21
Descriere Task-ului ............................................................................................................................. 22
Organizarea agentului ......................................................................................................................... 23
Coordonarea agenilor ......................................................................................................................... 24
Configurarea agenilor utilitari................................................................................................................ 25
Configurarea agenilor task ..................................................................................................................... 27
Bibliografie ................................................................................................................................................. 29


















3

Lista figurilor:
Figure 1 - 1 Modelul de roluri din modelul Simple Supply Chain ............................................................... 7
Figure 2 - Colaborarea necesar pentru iniierea unui lan de aprovizionare ................................................ 7
Figure 3 Participanii din lanul de aprovizionare pentr Telefoane ............................................................ 8
Figure 4 - Ontologia .................................................................................................................................... 21
Figure 5 - Definirea Agentului GSM .......................................................................................................... 22
Figure 6 - Task-ul MakeRezistivDisplay .................................................................................................... 23
Figure 7 - Organizarea agentului GSM ....................................................................................................... 24
Figure 8 - Proprietatea de a cumpra a agentului GSM/ Proprietatea de a primi resurse ........................... 25
Figure 9 - Agenii utilitari ........................................................................................................................... 26
Figure 10 - Configurarea realizat pentru agenii utilitari .......................................................................... 27
Figure 11 - Configurarea agenilor task ...................................................................................................... 28























4

Analiza domeniului
Enunul problemei si premisele

Lucrarea de fa i propune s analizeze i s simuleze asamblarea unui telefon mobil, cu
ajutorul unei noi aplicatii, bazate pe un sistem multi agent.
Scopul sistemului multiagent Telefon este:
- simularea fabricrii de telefoane mobile cu piesele oferite de furnizori
- s permit participanilor negocierea de resurse de care este nevoie prin intermediul
agenilor.
Premize:
Proiectul descrie o posibil implementare a aplicaiei care simuleaz realizarea unui
telefon mobil. Realizarea unui telefon mobil implic achiziionarea i integrarea mai multor
componente, de obicei de la mai muli furnizori. Scenariul din cadrul aplicaiei va arta cum
anumite componente sunt achiziionate i asamblate.
Obiectivul proiectului este de a contura problemele des ntlnite i de a oferi suport n
alegerea, aplicarea i adaptarea soluiilor existente.
Pentru simplificare se va crea un model de telefon mobil alctuit din:
- carcas,
- plac de circuit,
- display, fie cu touch-screen, fie cu tastaur,
- baterie.
Se va presupune c fiecare component este un bun i nu exist diferene ntre dou
instane ale aceluiai item.
n cele ce urmeaz vom descrie participanii i aptitudinile lor (task-uri specifice de care
acetia sunt capabili).
Primul participant este numit Samsung. El este reprezentantul unui
productor de telefoane care trebuie s achiziioneze componentele necesare
pentru asamblarea unui telefon mobil. Acestuia i vom asocia un singur task
numit MakeTelefon. Resursele iniiale pe care le deine productorul sunt : 1000
de carcase stil Slide si 1000 de carcase Simple.
5

Al doilea participant este Intel i este reprezentantul unui productor de plci
de circuit echipate cu procesoare de diferite frecvene . Se consider c acesta
deine toate resursele necesare pentru construirea unei plci fra a mai fi nevoie de colaborarea
lui cu ali furnizori. Task-ul se va numi MakeCPU. El are un stoc iniial de 2000 de plci dintre
care : 1000 de plci cu procesor cu dou nuclee i 1000 de plci cu procesor cu 4 nuclee.
Al treilea participant este Battery, el este reprezentantul unui productor de
baterii. Se presupune c el are toate resursele necesare i nu v-a colabora cu ali
furnizori. Produce baterii prin intermediul task-ului MakeBattery. Are un stoc
iniial de: 1500 baterii li-ion cu 4 celule i 1500 baterii li-ion cu 6 celule.
Al patrulea participant este Soft, el este reprezentantul unui producator de
software . Se presupune c particpantul a subcontractat producia de sisteme de
operare i realizeaza un singur task MakeSO. Resursele iniiale sunt: 2000 de
sisteme de operare iOS i 2000 de sisteme de operare Android.

Al cincilea participant este SO, producatorul de ecrane de cele 2 tipuri : rezistiv
i capacitiv. El reprezint doua task-uri : MakeiOS i MakeAndroid. Nu deine
resurse iniiale.

Al aselea participant este GSM i este reprezentatul unui productor de ecrane.
Pentru complexitate, se presupune c particpantul a subcontractat producia de
ecrane i realizeaz un singur task MakeDisplay. Resursele iniiale sunt: 2000 de
ecrane de tip capacitiv i 2000 de ecrane de tip rezistiv.

Ultimul participant este Display , productorul de ecrane de cele 2 tipuri :
rezistiv i capacitiv. El reprezint doua task-uri : MakeRezistiv i
MakeCapacitiv. Nu deine resurse iniiale.

n acest exemplu, se va presupune c exist o pia intern iar sumele vor fi debitate i
creditate, asdar nu este nevoie de existena unor bugete iniiale. Toate tranzactile vor fi fcute
in Lei, cu urmatoarele preuri:
Carcasele stil Slide i Simple costa 100 Lei
CPU-urile cu dou nuclee cost 150 Lei, iar cele cu 4 nuclee cost 200 Lei
Bateriile de tip Li-ion cu 4 celule cost 300 Lei, iar cele cu 6 celule cost 400 Lei
6

Ecranele de tip rezistiv cost 200 Lei, iar cele de tip capacitiv cost 300 Lei
Costul de implementare a unui sistem de operare Android este de 300 Lei, iar pentru
iOS este de 500 Lei.
Aplicaia ine cont de urmatoarele relaii dintre furnizori:
- Intel si Battery au contract cu Samsung (preul este fix)
- Display i GSM nu colaboreaz cu Samsung n baza unui contract (preul este
variabil)
- SO i Soft de asemenea nu colaboreaz cu Samsung n baza unui contract (preul este
variabil).
Domeniul i modelul de roluri

Dup stabilirea specificaiilor, sistemul dorit trebuie ncadrat ntr-un domeniu ce conine
caracteristici asemntoare. O caracteristic important a domeniului este faptul c trebuie
realizat o producie i un transfer de resurse la cerere ctre cei care au nevoie de ele.
n plus, fa de modelul specific aplicaiei Zeus, alegem s folosim modelulul
SimpleSuplyChain, ntrucat producia i furnizarea de produse se bazeaz mai mult pe cerere
dect pe licitare competitiv.
Conform modelului de roluri din aplicaia standard Zeus Application, avem nevoie de un
agent n rolul Agent Name Server. Introducem n aplicaie i un agent Broker (Facilitator) pentru
a uura extinderea aplicaiei cu noi ageni, dei n cadrul modelului de roluri SimpleSuplyChain
nu este neaprat nevoie de acesta (furniozorii i productorii dein informaii unii despre ceilali).



Modelul de roluri Simple Supply Chain
Modelul Simple Supply Chain conine furnizori care produc bunuri/resurse i
consumatori care le consum. Un consumator poate avea mai muli furnizori, ns un furnizor nu
poate avea dect un singur consumator ntr-un lant de aprovizionare. Sunt incluse trei timpuri de
comportamente: planificare, negociere i livrare.

La cel mai nalt nivel modelul este alctuit din succesori i predecesori. Un predecesor
poate avea mai muli succesori dup cum se poate observa n diagrama de roluri Figura 1. Un
participant poate fi att predecesor ct i succesor.
7


Figure 1 - 1 Modelul de roluri din modelul Simple Supply Chain
Menionare ageni i roluri

Diagrama de colaborare este redat n Figura 2:

Figure 2 - Colaborarea necesar pentru iniierea unui lan de aprovizionare
Interaciunile aferente diagramei de colaborare sunt descrise n tabelul urmtor:

Colaborare Explicaie
1 Supply Request Negotiation Initiator solicit resurse
2 Supply Response Negotiation Partner accept sau refuz
3 Produce Dac resursa este produs extern, atunci este
achiziionat
4 Deliver Supplier-ul trimite resursa la Consumator


Pentru aplicatia Realizarea unui Telefon avem urmatorul lant de furnizori:
8


Figure 3 Participanii din lanul de aprovizionare pentr Telefoane
Pe baza Figurii 3 se pot afirma urmatoarele:
- Compania Samsung are nevoie de resurse ce nu pot fi fabricate local
- Compania Samsung nu se comport ca un furnizor, de aceea, i vom atribui rolul SC-
Head
- Intel si Battery aprovizioneaz Samsung fr a se baza pe resurse externe. De aceea,
ei pot juca rolul SC-Tail
- Compania GSM i Soft au nevoie de resurse externe (Display si SO) ns totodata se
comport i ca un furnizor n raport cu Samsung, prin urmare att GSM ct si Soft vor
juca rolul de SC-Participant
- Display i SO sunt furnizori pentru GSM respectiv Soft. De aceea, pot juca rolul SC-
Tail
Dup identificarea domeniului i a modelelor de roluri, am decis ca soluia aplicaiei s se
bazeze pe modelul de roluri Simple Supply Chain. n concluzie, dup identificarea domenului i
a modelelor de roluri folosite (Simple Supply Chain i ZEUS Application) soluia se va baza pe
crearea urmtorilor ageni care s ndeplineasc rolurile din modele folosite:
Nume
agent
Rol jucat
Samsung
SC Head (Negotiation Initiator, Consumer)
GSM
SC Participant (Negotiation Initiator, Negotiation Partner, Supplier,
Producer , Consumer)
Soft
SC Participant (Negotiation Initiator, Negotiation Partner, Supplier,
Producer , Consumer)
Intel
SC Tail (Negotiation Partner, Supplier, Producer)
9

Battery
SC Tail (Negotiation Partner, Supplier, Producer)
Display
SC Tail (Negotiation Partner, Supplier, Producer)
SO
SC Tail (Negotiation Partner, Supplier, Producer)
Odat identificate rolurile din cadrul aplicaiei, trebuie identificat modul n care agenii
vor juca fiecare rol:
Fiecare rol pe care l are un agent implic responsabiliti, de exemplu producerea sau
consumul de resurse, interaciunile cu alte sisteme .a.
Un agent din cadrul rolului Simple Supply Chain (SC Head) conine o serie de
responsabiliti. Ele pot fi clasificate n responsabiliti sociale (are nevoie de interaciuni cu
ceilali ageni) i de domeniu (activiti locale specifice aplicaiei i platformei). Acestea sunt
descrise n tabelul de mai jos:
SUPPLY CHAIN HEAD Responsabiliti sociale
Origine Responsabilitate
Negotiation
Initiator
S cunoasc resursele i capacitile lor
Negotiation
Initiator
S iniieze negocierea pentru furnizarea unei resurse
Negotiation
Initiator
S negocieze termenii n care se face furnizarea unei anumite
resurse
Negotiation
Initiator
S trimit informaii despre comenzile pentru resurse (s
dein rolul de Consumator)
Consumer S primeasc resursele livrate.

SUPPLY CHAIN HEAD Responsabiliti de domeniu
Origine Responsabilitate
Negotiation
Initiator
S iniieze cererea
Consumer S consume resursa livrat

10

Urmtorul rol descrie participantul din cadrul lanului de aprovizionare numit Supply
Chain Participant reprezentat de acei ageni care produc resurse i consum resurse. Rolul este
mai complex deoarece conine mai multe responsabiliti:

SUPPLY CHAIN PARTICIPANT Responsabiliti sociale
Origine Responsabilitate
Negotiation Initiator
Negotiation
Participant
S cunoasc resursele i capacitile lor
Negotiation Initiator S iniieze o cerere pentru aprovizionarea cu o anumit
resurs
Negotiation Initiator S negocieze termenii n care se realizeaz
aprovizionarea cu o anumit resurs
Negotiation Initiator S trimit informaii despre comenzile pentru resurse
(s dein rolul de Consumator)
Negotiation
Participant
S raspun cererilor de aprovizionare cu o anumit
resurs
Negotiation
Participant
S negocieze termenii n care se face furnizarea unei
anumite resurse
Negotiation
Participant
S trimit informaii despre comenzile pentru resurse
(s dein rolul de Productor (Producer))
Producer, Supplier S transfere resursele produse (de la Producer la
Supplier)
Consumer S primeasc resursele livrate


SUPPLY CHAIN PARTICIPANT Responsabiliti de domeniu
Producer S produc resursele solicitate
Consumer S consume resursele livrate

Ultimul rol este jucat Supply Chain Tail, atribuit agenilor care vor furniza resurse fr
consum de resurse care auu fost produse de entiti externe. Are urmtoarele responsabiliti:

11

SUPPLY CHAIN TAIL Responsabiliti sociale
Origine Responsabilitate
Negotiation
Participant
S cunoasc resursele i capacitile lor
Negotiation
Participant
S raspund cererilor de aprovizionare cu o anumit
resurs
Negotiation
Participant
S negocieze termenii n care se face furnizarea unei
anumite resurse
Negotiation
Participant
S trimit informaii despre comenzi pentru resurse (s
dein rolul de Productor (Producer))
Producer, Supplier S transfere resursele produse (de la Producer la Supplier)

SUPPLY CHAIN TAIL Responsabiliti de domeniu
Producer S produc resursele solicitate


Proiectarea aplicaiei
Cuprinde 2 etape:
Proiectarea agenilor se mapeaz responsabilitile agenilor pe o problem
generalizat, iar ulterior, se va alege o soluie optim
Modelarea cunotinelor crearea ontologiei specifice aplicaiei

Proiectarea problemei
Dup identificarea responsabilitilor aferente fiecrui agent, se trece la transpunerea
fiecrei responsabiliti ntr-o problem ce trebuie rezolvat.
a) Rolul Supply Head
n aplicaia noastr, singurul agent care va juca rolul de Supply Head este agentul
Samsung, avnd urmtoarele responsabiliti sociale:
Supply Chain Head Responsabiliti sociale
Responsabilitate: - S cunoasc resursele i
12

capacitile lor
Origine Negotiation Initiator
Problem Date (despre Furnizor, despre Resursele
solicitate)
Soluie Ofer informaii despre resurse
Ofera informaii despre capacitiile
resurselor
Explicaie Nu este nevoie ca agenii s afle unul de
cellalt prin intermediu Facilitatorului deoarece
relaiile statice dintre acetia sunt specificate
cnd sunt generai
Responsabilitate: - S iniieze negocierea pentru
furnizarea unei resurse
Origine Negotiation Initiator
Problem Iniiere dialog (cu: Furnizorul, despre
Resursele solicitate)
Soluie: Echipare agent cu protocol de coordonare
Explicaie Este nevoie ca acest agent s fie inzestrat cu un
protocol de coordonare pentru a iniia i pentru
a se angaja n negociere cu ali furnizori
Responsabilitate: - S negocieze termenii n care se
face furnizarea unei anumite
resurse
Origine Negotiation Initiator
Problem Evalueaz (Produs, Pre)
Soluie Echipare agent cu strategie de negociere
Explicaie Agenii pot deine strategii care le influeneaz
interaciunile cu ceilali ageni. Rolul Supply
Chain este de a cumpra resurse, strategia
GrowthStrategy se potrivete cel mai bine
problemei
Responsabilitate: - S informeze despre starea
livrrii resursei
Origine Negotiation Initiator
Problem Trimite informaii (ctre Consumator, despre
Resursele Livrate)
Soluie n mod Automat
13

Explicaie Dup ce s-a ajuns la o nelegere n privina
furnizrii unei resurse, jurnalul de planificare i
programare este actualizat corespunztor
Responsabilitate: - S primeasc resursele livrate
Origine Consumator (Consumer)
Problem Creare task Consumator
Definire atribute asupra task-ului
Explicaie Negocierea este condusa de nevoia
Consumatorului de a obine o resurs.
Precondiile task-ului creat sunt resursele ce
trebuie achiziionate la rulare.

Supply Chain Head Responsabiliti de domeniu
Responsabilitate: - S iniieze cererea
Origine Negotiation Initiator
Problem Startarea lanului de aprovizionare
Soluie Folosete facilitatea Add goal a agentului
Agent Viewer
Explicaie Pentru a crea un nou scop pentru agent, se va
folosi facilitatea de New Goal a agentului
Viewer (astfel se va asigura solicitarea unei noi
resurse)
Responsabilitate: - S consume resursa livrat
Origine Consumator (Consumer)
Problem Implementare pentru folosirea resursei
Soluie: Implementeaz coninutul task-ului
Explicaie Dup ce resursa a fost furnizat, ea poate fi
consumat
Problem Evalueaz (Produs, Pre)
Soluie Echipare agent cu strategie de negociere
Explicaie Agenii pot deine strategii care le influeneaz
interaciunile cu ceilali ageni. Rolul Supply
Chain este de a cumpra resurse, strategia
GrowthStrategy se potrivete cel mai bine
problemei
Responsabilitate: - S informeze despre starea
14

livrrii resursei
Origine Negotiation Initiator
Problem Trimite informaii (ctre Consumator, despre
Resursele Livrate)
Soluie n mod Automat
Explicaie Dup ce s-a ajuns la o nelegere n privina
furnizrii unei resurse, jurnalul de planificare i
programare este actualizat corespunztor

b) Rolul Supply Participant
n cadrul acestei aplicaii avem 2 ageni cu rolul de Participant: GSM i Soft. Nu este
nevoie de proiectarea fiecrui agent deoarece au aceleai roluri. ns, cnd vor fi creai n Zeus,
atributele acestora vor fi diferite.
Supply Chain Participant Responsabiliti sociale
Responsabilitate: - S cunoasc resursele
Origine Negotiation Initiator, Negotiation Participant
Problem Date (despre Furnizor, despre Resursele
solicitate)
Soluie Ofer informaii despre resurse
Ofera informaii despre capacitiile
resurselor
Explicaie Nu este nevoie ca agenii s afle unul de
cellalt prin intermediu Facilitatorului deoarece
relaiile statice dintre acetia sunt specificate
cnd sunt generai
Responsabilitate: - S iniieze negocierea pentru
furnizarea unei resurse
Origine Negotiation Initiator
Problem Iniiere dialog (cu: Furnizorul, despre
Resursele solicitate)
Soluie: Echipare agent cu protocol de coordonare
Explicaie Este nevoie ca acest agent s fie inzestrat cu un
protocol de coordonare pentru a iniia tranzacii
i pentru a se angaja n tranzacii
Responsabilitate: - S negocieze termenii n care se
face furnizarea unei anumite
15

resurse
Origine Negotiation Initiator
Problem Evalueaz (Produs, Pre)
Soluie Echipare agent cu strategii de negociere
Explicaie n rolul Negotiation Participant, acest agent va
negocia furnizarea resursei frp a viza profitul.
Funcia, DecayStrategy este potrivit, licitaia
ncepnd de la un pre mic, crescndu-l pn
cnd acesta este acceptat sau se termin o
anumit perioad de timp.
Responsabilitate: - S informeze productorul local
despre starea livrrii resursei
Origine Negotiation Participant
Problem Trimite mesaj (cu Productor, despre Livrarea
resurselor)
Soluie Automatic funcionalitate implicit Task
Agent
Explicaie Dup ajungerea la o nelegere asupra furnizrii
unei resurse, jurnalul de planificare i
programare este actualizat corespunztor.
Responsabilitate: - S informeze consumatorul local
despre starea livrrii resurselor
Origine Negitiation Initiator
Problem Trimite mesaj (ctre Consumator, despre
Livrarea resurselor)
Soluie Automatic - funcionalitate implicit Task
Agent
Explicaie Dup ajungerea la o nelegere asupra furnizrii
unei resurse, jurnalul de planificare i
programare este actualizat corespunztor.
Responsabilitate: - S primeasc resursele livrate
Origine Consumator
Problem Interfa pentru implementarea resurselor
primite
Soluie Creaz task-ul Consumption
Definete atributele task-ului
Explicaie Procesul de negociere este condus de nevoia
16

Consumatorului de a avea o anumit resurs.
Este necesarp crearea unui task cu precondiii
resursele ce trebuie cumprate.
Responsabilitate: - Transferarea resurselor realizate
Origine Productor, Furnizor
Problem Automatic - funcionalitate implicit Task
Agent
Explicaie Dup ce o resurs a fost produs sau primit,
aceasta trebuie fcut disponibil rolului de
furnizor astfel nct aceasta s poat fi
transmis mai departe ctre urmtoarea entitate
a lanului de furnizori.

Supply Chain Participant Responsabiliti de domeniu
Responsabilitate: - S produc resursele solicitate
Origine Productor
Problem Implementare care creeaz o reprezentare a
unei resurse
Soluie Implementeaz coninutul task-ului
Explicaie Comportamentul standard al unui task este de a
crea un nou obiect resurs pentru fiecare dintre
efectele sale. Dac producerea resursei implic
unele procese specifice domeniului, atunci
aceasta trebuie implementat n coninutul
task-ului, altfel nu.
Responsabilitate: - S consume resursele livrate
Origine Consumator
Problem Implementare care folsete resurse
Soluie: Implementeaz coninutul task-ului
Explicaie Dup ce resursa a fost furnizat, ea poate fi
consumat. Modul n care resursa se consum
este specific domeniului i trebuie implementat
de dezvoltator.
n caz c resursele nu sunt consumate (valoarea
lor nu dispare odat cu consumarea unui
Telefon) atunci nu mai este nevoie de
implementare.

17

c) Rolul Supply Chain Tail
Agenii care joac rolul de Supply Chain Tail sunt: Intel i Battery.Deoarece toi au
acelai rol, nu este nevoie de proiectarea fiecruia dintre ei.

Supply Chain Participant Responsabiliti sociale
Responsabilitate: - S cunoasc resursele i
capabilitile lor
Origine Negotiation Initiator, Negotiation Participant
Problem Informaii (despre Furnizor, despre Resursele
solicitate)
Soluie Ofer informaii despre resurse
Ofera informaii despre capacitiile
resurselor
Explicaie Nu este nevoie ca agenii s afle unul de
cellalt prin intermediu Facilitatorului deoarece
relaiile statice dintre acetia sunt specificate
cnd sunt generai
Responsabilitate: - S iniieze negocierea pentru
furnizarea unei resurse
Origine Negotiation Participant
Problem Iniiere dialog (cu: Furnizorul, despre
Resursele solicitate)
Soluie: Echipare agent cu protocol de coordonare
Explicaie Este nevoie ca acest agent s fie inzestrat cu un
protocol de coordonare pentru a iniia tranzacii
i pentru a se angaja n tranzacii
Responsabilitate: - S negocieze termenii n care se
face furnizarea unei anumite
resurse
Origine Negotiation Participant
Problem Evalueaz (Produs, Pre)
Soluie Echipare agent cu strategii de negociere
Explicaie n rolul Negotiation Participant, acest agent va
negocia furnizarea resursei viznd i fr a
viza profitul. Funcia, DecayStrategy este
potrivit, licitaia ncepnd de la un pre mic,
crescndu-l pn cnd acesta este acceptat sau
18

se termin o anumit perioad de timp.
Responsabilitate: - S informeze productorul local
despre starea livrrii resursei
Origine Negotiation Participant
Problem Trimite mesaj (cu Productor, despre Livrarea
resurselor)
Soluie Automatic funcionalitate implicit Task
Agent
Explicaie Dup ajungerea la o nelegere asupra furnizrii
unei resurse, jurnalul de planificare i
programare este actualizat corespunztor.
Responsabilitate: - S gestioneze producia de
resurse
Origine Producer
Problem Interfaa pentru gestionarea resurselor realizate
Soluie Crearea task-ului Consumption
Definirea atributelor task-ului
Explicaie Dup ajungerea la o nelegere asupra furnizrii
unei resurse, agentul i ndeplinete
angajamentul prin rularea task-ului care
produce acea resurs. De aceea, va fi nevoie de
crearea unui task ale crui efecte s conste n
producerea de resurse solicitate.
Responsabilitate: - Transferul resurselor realizate
(de la Productor la Furnizor)
Origine Productor, Furnizor
Problem Trimite mesaj (ctre Furnizor, despre
Valabilitatea resurselor)
Soluie Automatic funcionalitate a agentului Task
Agent
Explicaie Dup ce resursa a fost furnizat, ea poate fi
consumat. Modul n care resursa se consum
este specific domeniului i trebuie implementat
de dezvoltator.
n caz c resursele nu sunt consumate (valoarea
lor nu dispare odat cu consumarea unui
Telefon) atunci nu mai este nevoie de
implementare.
19


Supply Chain Tail Responsabiliti de domeniu
Responsabilitate: - S produc resursele solicitate
Origine Producer
Problem O implementare car ecreaz o reprezentare a
resursei
Soluie Implementeaz coninutul task-ului
Explicaie Dup ce resursa a fost furnizat, ea poate fi
consumat. Modul n care resursa se consum
este specific domeniului i trebuie implementat
de dezvoltator.
n caz c resursele nu sunt consumate (valoarea
lor nu dispare odat cu consumarea unui
Telefon) atunci nu mai este nevoie de
implementare.

Crearea Ontologiei

Urmtoarea faz este aceea de a modela cunotinele ce vor fi folosite de rolurile
agenilor.
Rezultatele trebuie s reprezinte faptele, atributele lor i posibilele valori ale acestora
(constrngeri).
Identificarea conceptelor

Conceptele cheie din aplicaia MakeTelefon sunt menionate n cerine/specificaii.
Acestea sunt:
- carcas,
- plac de circuit,
- display, fie cu touch-screen, fie cu tastaur,
- baterie
Pentru c aceste concepte fac referire la instane fizice (i nu abstracte), ele vor face parte
din fapte de tip entitate (Entity).
20

Toate faptele de tip entitate dein cte un atribut care descrie valoarea (unit_cost). In
aplicaia de fa acesta poate fi folosit pentru stocarea preului fiecrui bun. De asemenea el nu
este potrivit pentru aplicaii n care nu sunt folosite noiuni care s descrie valoarea bunurilor iar
preurile sunt determinate doar de cerere i ofert.
Constrngeri

Constrngerile ofer un mijloc de verificare, limitnd valorile la un subset de valori
posibile. In acest caz constrngerile sunt definite pentru:
carcase (Simple/ cu Slide), avand valoarea default: Simple
baterii (4 celule/ 6 celule), avnd valoarea default: 4 celule
sistem de operare (Android / iOS)
Prin urmare, faptele rezultate cu atributele i constrngerile arat ca n figura de mai jos.
Aceasta reprezint ontologia aplicaiei.

Odat definit aceasta se poate trece la procesul de creare al agenilor.
Dezvoltarea Aplicatiei
Crearea agenilor
Crearea agenilor const n mai multe subprocese care se vor repeta pentru fiecare agent
task in parte n cadrul aplicaiei.
21

Am creat un nou agent pe care l-am denumit GSM.
Rezultatul acestei aciuni este un nou agent ZEUS generic. In continuare acest agent va fi
configurat pentru a satisface responsabilitile specifice aplicaiei aferente rolurilor sale.
In fereastra Agent Editor am editat informaiile despre acest agent.

Figure 4 - Ontologia
Definirea agenilor
Am menionat resursele iniiale ale agentului GSM. In panel-ul Initial Agent
Resources am ales faptele din ierarhia de fapte. Pentru fiecare fapt am redenumit campul
Instance si am setat numarul si valoarea.
22


Figure 5 - Definirea Agentului GSM
Descriere Task-ului
Unul dintre task-urile aferente agentului GSM este MakeRezistivDisplay.
Precondiiile task-ului sunt: DisplayCase i Rezistiv. A fost modificat cmpul Instance
pentru a se face referire asupra faptului c este vorba de cazul 1 de tip de display (rezistiv). De
asemenea s-a modificat i cmpul Modifier i s-a bifat opiunea Must be in local database. Se
introduc i constrngerile relevante pentru consumul resursei DisplayCase. Tipul specificat va
reprezenta tipul de display folosit.
Costul care implic achiziionarea unui diplay de tip rezistiv este de 50 Lei dup cum se
observ n formula de mai jos. Aceasta se produce ntr-o unitate de timp.
23


Figure 6 - Task-ul MakeRezistivDisplay
Organizarea agentului
Deoarece un agent trebuie s dein apriori cuntine despre ceilali egni se va complete
i zona de organizarea a agenilor. Deoarece agentul GSM are nevoie de resurse de la agentul
Display, se observ o relaie de subordonare cu acesta. De asemenea agentul Telefon se va folosi
de resursele primate de la GSM fiind n relaie de superioritate cu acesta.

24


Figure 7 - Organizarea agentului GSM
Coordonarea agenilor
Agenii vor fi echipai cu capacitatea de a negocia, de a primi resurse, de a transfera
resurse i de a primi resurse. Din proiectarea agentului GSM rezult mai multe soluii ce vor
afecta nivelul de coordonare al agentului. Acestea vor fi identificate prin , ORG-x, COORD-x (
numrul fiecruia reprezint ordinea n care trebuie realizate, unele fiind dependente de existena
altora).

Ofer informaii despre resurse (ORG - 1)
Ofer informaii despre capacitile resurselor (ORG - 2)
Echipeaz agentul cu protocolul de coordonare (COORD - 1)
Echipeaz agentul cu strategii de negociere (COORD - 2)
Creaz task-ul Consumption (DEF - 2)
Definete atributele task-ului (TASK - 1)
Un agent pentru a ncepe s cumpere resurse trebuie s nceap dialogul cu un potenial
furnizor.
25

Atunci, acest proces implic echiparea agentului cu un protocol de iniiere prin selectarea
Fipa-Contract-Net-Manager din tabelul Coordination Protocols.
Imaginile de jos Coordination Strategies arat aplicabilitatea acelui protocol. Implicit
cmpul Mode va fi bifat, lucru ce indic aspectul c aceast strategie va fi folosit mpreun cu
faptele descrise n cmpul Fact Type. Deoarece acest cmp conine ZeusFact (Fapte Zeus)
aceast strategie va fi folosit pentru a cumpra fapte de orice tip.
Agenii vor stabili interaciuni particulare, de aceea n cmpul Relations se va completa
cu valoarea subordinate. Acest lucru specific faptul ca agentul are nevoie de resurse de la un alt
agent aflat n relaie de subordonare cu el. Furnizorul propune oferta sa (set Parameters) ce deine
capacitatea de a furniza resursele necesare agentului GSM. Se va folosi protocul Fipa-Contract-
Net-Contractor.
Am selectat functia DecayFunction din lista cu strategiile disponibile si am definit
parametrii care determina modul de lucru al strategiei DecayFunction.


Figure 8 - Proprietatea de a cumpra a agentului GSM/ Proprietatea de a primi resurse

Configurarea agenilor utilitari
n cadrul acestei etape se va stabili ce ageni utilitari vor fi creai i modul n care vor fi
configurai. Din interfaa principal de deschide instrumentul Code Generator. Se va afia planul
de generare (Generation Plan) i anume agenii care vor fi creai cnd se va executa generarea de
cod. Se poate observa c pe lng agenii creai pn acum mai sunt i Name Server, Facilitator
i Visualiser.
26

Deoarece cei 3 din urm ndeplinesc cerinele iniiale nu mai este nevoie s mai adugm
nc unul de vreun tip.


Figure 9 - Agenii utilitari
Pentru configurarea parametrilor de rulare pentru aceti ageni, am deschis tab-ul 'Utility
Agents i am completat astfel:
Agent Name Server
Am schimbat numele n ANS. Adresa IP n cmpul Host va fi implicit adresa
calculatorului (presupunnd c aici va rula i serverul). Deoarece exist un singur NaemServer
acesta este marcat ca fiind root i ofer valoarea pentru cmpul time-grain. Aceast valoare
se pote schimba ns 0.5 este o valoarea potrivit pentru aceast aplicaie. Se va presupune
pentru simplitate c toi agenii vor fi rulai din acelai director, de aceea n cmpul Address File
nu trebuie trecut o cale ci doar un nume de fiier. Valoarea introdusa a fost dns.db (acesta ofer
numele fiierului n care Name Server i va scrie locaia).
27


Figure 10 - Configurarea realizat pentru agenii utilitari
Facilitatorul
Se presupune c Facilitatorul va rula pe aceeai maina ca i serverul, prin urmare cmpul
Host nu trebuie schimbat. Cmpul DNS file conine calea i numele fiierului care conine
locaia serverului. Cmpul trebuie s aib acelai coninut ca i cmpul Address File de la Name
Server. Agentul este peroactiv. De aceea modificarea care se impune este aceea de a seta Recycle
Period la 2.0.
Visualiser
Cmpul Host poate rmne neschimbat iar cmpul DNS File trebuie s conin aceeai
valoare ca i campul Address File de la Name Server.
Configurarea agenilor task
Toi agenii:
- se presupune c vor rula pe acelai calcualtor ca i agenii utilitari (vor avea aceali
Host)
- cmpul DNS File trebuie s conin aceeai valoare ca a cmpului Address File de la
Name Server.
28

Conform proiectrii noastre, resursele agenilor por fi reprezentate n mod intern i nu
este nevoie s fie obinute din baze de date externe. De aceea cmpul Database External poate fi
lsat liber pentru toi agenii.

Figure 11 - Configurarea agenilor task













29



Bibliografie

[1] Michael Wooldridge - An introduction to multiagent systems;
[2] Jaron Collis - The Role Modelling Guide;
[3] Jaron Collis ZEUS Technical Manual;

S-ar putea să vă placă și