Version 1, last updated by Goran Gligorin at April 26, 2010 12:24 UTC
Agent Communication Protocol
Agent Communication Protocol (ACP) bi uporabljali za komunikacijo med agenti. Potekala bi tako, da agent serverju pošlje sporočilo, ki je za druge agente. Server nato to sporočilo pošlje naprej pravemu agentu. V prosojnicah "Komunikacija in interakcija v večagentnih sistemih" (je na učilnici) je opisan jezik KQML. Ta daje strukturo sporočilom, ki se mi zdi kul. Zgleda nekako takole:
(KQML_performative
:sender<word>
:receiver<word>
:language
<word>
:ontology<word>
:content<expression>
. . .)
Mi tu ne rabimo ontology in language dela, ker se itq vse nanaša na naš sistem. Content del bo enostaven, ker KQML omogoča na primer tudi gnezdena sporočila. Pri receiver delu bomo morali definirat kako se naslavlja posamezne agente. To lahko naredimo tudi tako, da ob povezovanju vsak dobi svoj ID. Posebena vrednost reciever polja je all. Tako sporočilo broadcasta server vsem agentom. KQML_performative je najpomembnejši del. Pove kaj je namen sporočila. Tu predlagam, da si omislimo svojih par ključnih besed in to je to. Na primer:
- ask: "Kdo bo izračunal velikost sektorja?"
- tell: "Našel sem škatlo na (10, 5)"
- (bomo dodajali sproti)
Razširitev KQML je, da omogočimo asinhrono komunikacijo. Kar pomeni, da ima vsako sporočilo ID in ko se agent na sporočilo odzove vključi, na katero sporočilo se je odzval.