Sunteți pe pagina 1din 12

UNIVERSITATEA TRANSILVANIA BRAOV

Facultatea de Inginerie Electric i tiina Calculatoarelor


Catedra de Automatic i Informatic Aplicat
Proiect SMA
Aplicaie Jade care s creeze un sistem multi-agent cu 5 ageni
reactivi, care primesc mesae de la o interfa grafic
!raov, "#$"
Cuprins
1. Tehnologia multiagent i noiunea de agent....................................................................2
2. Caracteristicile agenilor..................................................................................................4
3. Comunicarea agenilor ....................................................................................................4
4. Agenii reactii.................................................................................................................!
!. Pre"entarea aplicaiei.......................................................................................................!
!.1 Mediul de de"oltare #A$% &#aa Agent $%elopment'..........................................(
!.2 Plat)orma de programare *et+eans i codul aplicaiei..............................................,
1. Tehnologia multiagent i noiunea de agent
2
-nc. din cele mai echi timpuri/ oamenii au )ost )ascinai de ideea de a crea
entit.i arti)iciale care s. 0ndeplineasc. dierse )uncii. %1istena automatelor poate )i
urm.rit. de2a lungul secolelor/ cei mai releani predecesori ai agenilor so)t3are de
ast."i )iind seromecanismele/ dispo"itiele de control i de automati"are a actiit.ilor
de ghidare i supraeghere a tra)icului aerian.
Termenul de agent deri. din lim+a latin./ proenind de la participiul er+ului
agere4 a conduce/ a interpreta/ a )ace. Se ateapt. de la ageni un comportament inteligent/
dar pentru aceasta acetia tre+uie s. 5cunoasc.6 anumite in)ormaii despre conte1tul
situaiei cu care sunt con)runtai.
7n agent este 0n esen. o component. so)t3are special. a c.rei autonomie o)er.
inter)aa interopera+il. la un sistem ar+itrar/ i se comport. ca un agent uman/ care
lucrea". pentru unii clieni 0n urm.rirea agendei sale. Agenii sunt considerai una dintre
cele mai importante paradigme care/ pe de o parte/ poate aduce 0m+un.t.iri metodelor
actuale pentru conceptuali"area/ proiectarea i implementarea de sisteme so)t3are/ iar pe
de alt. parte ar putea )i soluia la pro+lemele de integrare so)t3are.
7n sistem multi2agent &SMA' este un sistem distri+uit )ormat dintr2o
colecie de ageni autonomi care interacionea". 0ntr2un mediu comun/ )iecare agent
a8nd cunotiine/ capacit.i de aciune i scopuri proprii.
Chiar dac. sistemele de ageni se pot +a"a pe un singur agent solitar 0ntr2un mediu
de lucru i/ care/ dac. este necesar/ interacionea". cu utili"atorii s.i/ de o+icei sunt
constituite din ageni multipli. Aceste sisteme multiagent pot modela sisteme comple1e i
introduc posi+ilitatea e1istenei agenilor care au o+iectie comune sau con)lictuale.
Agenii pot decide s. coopere"e pentru +ene)icii reciproce sau pot concura pentru a2i
seri interesele proprii. -n mod normal/ un agent a aea un repertoriu de aciuni pe care
le poate reali"a. Acest set de aciuni posi+ile repre"int. capacitatea unui agent de a
aciona asupra mediului 0n care se a)l.. $e reinut c. nu toate aciunile pot )i e)ectuate 0n
orice situaie. Aciunile au/ prin urmare/ precondiii asociate/ care de)inesc situaiile
posi+ile 0n care acestea pot )i e1ecutate.
3
2. Caracteristicile agenilor
Cele mai importante caracteristici pentru ca un agent s. )ie considerat un agent
inteligent/ sunt considerate a )i4
Autonomia4 Agentul operea". ).r. interenia direct. a oamenilor sau a
altor sisteme i are un anumit tip de control asupra aciunilor proprii i
asupra st.rii sale interne. Autonomia este o caracteristic. )undamental.
deoarece d. posi+ilitatea agenilor de a lua deci"ii ).r. interenie din
e1terior/ lucru care deose+ete )undamental un agent de un program
oarecare de calculator.
A+ilitatea social.4 -n atingerea o+iectielor 0ntr2un mediu alc.tuit din
di)erii ageni/ acetia tre+uie s. coopere"e i s. 0i complete"e
competenele i de asemenea tre+uie s. negocie"e. Termenul de a+ilitate
social. se re)er. la a+ilitatea de a interaciona cu ali ageni/ care pot aea
complet alte o+iectie. 9nteraciunea cu ali ageni este reali"at. utili"8nd
un anumit lim+a: de comunicare/ care este 0neles de toi ceilali ageni.
Continuitatea 4 speci)ic. )aptul c. un agent poate aea o e1istena pe
termen lung.
3. Comunicarea agenilor
-n cadul oric.rui sistem multiagent/ comunicarea este cea care :oac. un rol
esenial. Schim+ul de mesa:e pe care 0l reali"ea". agenii este reali"at 0n deplin.
con)ormitate cu un anumit protocol presta+ilit. Agenii comunic. 0ntre ei 0n scopul de a2i
0ndeplini sarcinile proprii/ dar i sarcinile 0ntregului sistem multiagent din care )ac parte.
Protocoalele de comunicare 0ntre agenii inteligeni sunt complicate/ inclu"8nd 0n acelai
timp at8t operaii de niel elementar c8t i ecuaii de ordin mai 0nalt. Trimiterea de
mesa:e/ primirea sau con)irmarea mesa:elor sunt operaii elementare. ;peraiile de niel
0nalt includ aciuni de tipul in)luenare/ coningere/ detectarea relaiilor interagent.
4
4. Agenii reactivi
Agenii reactii au o nou. a+ordare/ ideile de +a". )iind urm.toarele4
2 comportamentul inteligent nu necesit. repre"ent.ri e1plicite
2 comportamentul inteligent nu necesit. raionament a+stract
2 inteligena este produsul interaciunii cu mediul incon:ur.tor
2 inteligena este o proprietate ap.rut. 0n sistemele comple1e.
Agenii reactii se mai numesc i ageni comportamentali deoarece ei presupun
e1istena unor comportamente de +a". &secene de aciuni care se e1ecut. concomitent'.
Cea mai cunoscut. arhitectur. de acest tip e cea numit. su%sumption/ care e caracteri"at.
de un set de programe numite comportamente si care sunt de )apt maini de stare care
e1ecut. comen"i de tipul i) then else.
Aceste comportamente descriu in mod independent )iecare aciune pe care agentul
tre+uie s. o 0ndeplineasc. si care e organi"at. ierarhic. -n acest sens e1ist. mai multe
nieluri/ )iecare a8nd un set de comportamente. Cel mai 0nalt niel e construit pe
nieluri in)erioare i asigur. cel mai comple1 comportament. Comportamentul sistemului
luat ca 0ntreg operea". asincron.

5. Prezentarea aplicaiei
Aplicaia construit. simulea". un +ord de maina care primete semnal de la mai
muli sen"ori/ iar 0n ca" de eroare din partea unei componente se aprinde +ecul de aarie
0mpreun. cu +ecul care semnalea". eroarea&de e1emplu +ateria a sc."ut su+ un anumit
niel/ maina nu mai poate porni i atunci agentul care se ocup. de supraegherea
+ateriei trimite un mesa: de eroare c.tre unitatea central.'.
Am )olosit ! ageni/ dintre care 4 simulea". semnalul preluat de la sen"ori i un al
!2lea2 electronic control unit &EC&' 2 care primete mesa:ele de toi 4 agenii i le
procesea".. -n ca" c. eroarea a )ost corectat. 0ntre timp&de e1emplu s2a 0nc.rcat +ateria'
se apas. +utonul 5Anulare6 i dispare mesa:ul i se stinge +ecul din +ord.
!
5.1 Mediul de dezvoltare JADE (Java Agent DEvelopment)
#A$% este o plat)orm. so)t3are care o)er. )uncii de +a". necesare reali".rii
aplicaiilor distri+uite care e1ploatea". conceptul de agent so)t3are/ )uncii care sunt
independente de natura aplicaiilor reali"ate.
Mediul #A$% este open2source/ respect. predeerile F9PA/ se +a"ea". pe lim+a:ul
#aa i permite implementarea sistemelor multiagent. 9mplementarea comunit.ilor de
ageni este simpli)icat. prin e1istena unor +i+lioteci de programare a agenilor/ i de
asemenea prin o)erirea unor unelte gra)ice de e1ecuie/ monitori"are i depanare. Aceste
unelte gra)ice sunt la r8ndul lor ageni F9PA.
F9PA este o prescurtare de la societatea care l2a de"oltat 4 Foundation )or
9ntelligent Ph<sical Agents. Arhitectura F9PA de)inete la un niel a+stract/ cum doi
ageni se pot locali"a i pot comunica 0ntre ei prin 0nregistrare i schim+ de mesa:e.
Agenii comunic. prin intermediul schim+ului de mesa:e care repre"int. acte de or+ire
(
i care sunt codi)icate 0ntr2un lim+a: de comunicare agent. $e asemenea/ arhitectura F9PA
sta+ilete )aptul c. )iecare agent este identi)icat printr2un nume i printr2o adres./ care
0mpreun. )ormea". 9denti)icatorul de Agent A9$ &Agent Identifier'(
=im+a:ul F9PA este 0ntemeiat pe +a"a teoriei or+irii/ care preede c. mesa:ele
repre"int. aciuni/ sau acte de comunicare/ de asemenea/ cunoscute ca i acte de or+ire.
7nii dintre identi)icatrii cei mai )recent utili"ai e1prim.4 in)ormarea&9n)orm'/
cererea&>e?uest'/ acordul&Agree' ne0nelegerea &not2understood' i re)u"ul&>e)use'.
Aceti identi)icatori surprind esena ma:orit.tii )ormelor de comunicare de +a"..
@
9nter)aa gra)ic. )olosit. de mediul #ade este pre"entat. 0n )igura urm.toare4
Middle3are2ul o)erit de #A$% poart. numele de #A$% Plat)orm Agent i este
compus din urm.toarele elemente 4
2 Canalul de comunicaie utili"at pentru sericiul de mesa:e &ACC AAgent
Communication Channel' o)er. modalitatea principal. de contact 0ntre agenii
din interiorul sau din e1teriorul plat)ormei.
2 Sistemul de management al agenilor &AMS A Agent Management Serice'
este un agent superi"or de control pentru accesul i utili"area plat)ormei i
este responsa+il pentru autenti)icarea/ )uncionarea i 0nregistrarea plat)ormei.
2 Facilitatorul registrului &$F A $irector Facilitator' este un agent care
)urni"ea". sericii de tip pagini gal+ene pentru agentii din plat)orma.
2 Agentul de monitori"are la distan. &>MA A >emote Monitoring Agent' este
inter)aa gra)ic. utili"at. pentru managementul la distan./ monitori"area i
controlul st.rii agenilor &e"i )igura de mai sus'.
B
5.2 Platforma de programare Netbean !i "odul apli"a#iei
Scrierea codului #aa s2a reali"at 0n mediul de de"oltare *etCeans 9$%/
0mpreun. cu Ditul #aa $eelopment Eit&#$E'/ care cuprinde setul de li+r.rii #aa
)olosite/ i import8nd li+rariile :ade de care aem neoie pentru a rula agenii&:ade.:ar/
http.:ar/ :adeTools.:ar/ iiop.:ar i commons2codec21.3.:ar'.
%1empli)icare reali"are +uton4
2 sen"or niel +aterie4
private void battBActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your and!in" code ere#
battA.$etEnab!ed(true)%
battB.$etEnab!ed(fa!$e)%
batt&'(%
//u$er)*+.j,abe!(.$et-i$ib!e(fa!$e)%
.
2 anulare&a aceluiai +uton'4
private void battAActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your and!in" code ere#
battA.$etEnab!ed(fa!$e)%
battB.$etEnab!ed(true)%
batt&'/%
.
$eclarare aria+ile elemente gra)ice4
,
private java0.$win".1Button battA%
$tatic java0.$win".1,abe! j,abe!2%
$tatic java0.$win".1,ayeredPane j,ayeredPane(%
$tatic java0.$win".1Te0t3ie!d jTe0t3ie!d(%
pub!ic $tatic java0.$win".1,abe! jbatt%
private java0.$win".1Button oi!!A%
Principalele seciuni din corpul unui agent sunt urm.toarele4
protected void $etup() {
D3A"entDe$cription dfd ' new D3A"entDe$cription()%
dfd.$et4ame("etA+D())%
&erviceDe$cription $d ' new &erviceDe$cription()%
$d.$etType(5batt5)%
$d.$et4ame("et,oca!4ame()6 55)%
dfd.add&ervice$($d)%
try {
D3&ervice.re"i$ter(ti$7 dfd)%
.
catc (3+PAE0ception fe) {
fe.print&tac8Trace()%
.
addBeaviour(new Button((ti$))%
&y$tem.out.print!n("etA+D()."et,oca!4ame() 6 5#99&unt
pre"atit.5)%
.
protected void Ta8eDown() {
//Dere"i$ter from te ye!!ow pa"e$
try {
D3&ervice.dere"i$ter(ti$)%
.
catc (3+PAE0ception fe) {
fe.print&tac8Trace()%
.
.
pub!ic void action() {
if (u$er)*+.batt&''() {
1F
A:,;e$$a"e m$"(( ' new A:,;e$$a"e(A:,;e$$a"e.+43O<; )%
m$"((.$et&ender("etA+D())%
m$"((.$et:ontent( 5Baterie de$carcata=5 )%
m$"((.add<eceiver( new A+D( 5ecuA"ent57
A+D.+&,O:A,4A;E ) )%
&y$tem.out.print!n("etA+D()."et,oca!4ame()65#99;e$aju! 5 6
m$"((."et:ontent() 6 5 a fo$t trimi$.5)%
myA"ent.$end(m$"(()%
.
if (u$er)*+.batt&''/) {
A:,;e$$a"e m$"(( ' new A:,;e$$a"e(A:,;e$$a"e.+43O<; )%
m$"((.$et&ender("etA+D())%
m$"((.$et:ontent( 54ive! baterie norma!.5 )%
m$"((.add<eceiver( new A+D( 5ecuA"ent57
A+D.+&,O:A,4A;E ) )%
&y$tem.out.print!n("etA+D()."et,oca!4ame()65#99;e$aju! 5 6
m$"((."et:ontent() 6 5 a fo$t trimi$.5)%
myA"ent.$end(m$"(()%
.
u$er)*+.batt&'>%
.
7nitatea central.&%C7' preia mesa:ele de la ageni i )ace dierse aciuni4
A:,;e$$a"e m$" ' receive()%
if (m$"=' nu!!){
if (m$"."et:ontent().e?ua!$(BE)+4batt))
{&y$tem.out.print!n("etA+D()."et,oca!4ame()65#99A!erte@
$ofer# 56m$"."et:ontent())%
my)*+.jbatt.$et-i$ib!e(true)%
my)*+.jTe0t3ie!d(.$etTe0t(BE)+4batt)%
my)*+.jecu.$et-i$ib!e(true)%
.

e!$e if (m$"."et:ontent().e?ua!$(BE)+4en"i))
{&y$tem.out.print!n("etA+D()."et,oca!4ame()65#99A!erte@
$ofer# 56m$"."et:ontent())%
my)*+.jen"i.$et-i$ib!e(true)%
my)*+.jTe0t3ie!d(.$etTe0t(BE)+4en"i)%
11
my)*+.jecu.$et-i$ib!e(true)%
.
.
Mecanismul schim+ului de mesa:e 0ntre agenii care compun plat)orma poate )i
urm.rit cu a:utorul agentului Sni))er/ o unealt. gra)ic. pusa la dispo"iie de #A$% pentru
monitori"area i i"uali"area mesa:elor schim+ate de ageni. Agentul Sni))er este anunat
de c.tre Sistemul de Management al Agenilor &AMS' 0n momentul c8nd are loc un
schim+ de mesa:e 0ntre doi ageni din cadrul plat)ormei.
Modul 0n care comunic. agenii cu %C7 se poate o+sera din urm.toarea )igur.4
12

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