Obsah předášky VII. Komuikace v MAS Podkady k předáškám kurzu AGS ---------------------------------------------------- 2006 Fratišek Zboři m. zborif@fit.vutbr.cz Úvod do probematiky a zákadí pojmy Komuikačí jazyky KQML ACL FIPA Otoogie Komuikačí protokoy Zákadí protokoy CNP Aukce Kategorie komuikace Dotazováí Aget hedá ějakou iformaci a dotazuje se jiého ageta, o kterém věří, že mu tuto iformaci může poskytout. Hedáí iformace Ageti spoečě pátrají po iformaci, která eí zámá žádému z ich. Přesvědčováí Aget se saží přesvědčit jiého ageta, aby přija ěkteré z jeho záměrů. Vyjedáváí Ageti vyjedávají o podmíkách sdíeí prostředků, ebo o poskytutí sužeb tak, aby všichi zúčastěí dosáhi maximáího zisku. Porada Cíem porady je aézt řešeí probému, které je v zájmu všech zúčastěých. Ageti poskytují své zaosti a schoposti a usáší se a daším postupu. Eristický diaog Eristický diaog je diaog, během kterého si ageti vyměňují expresivě iformace za účeem dosažeí svých záměrů. Tyto iformace ejsou ai ogickou podporou argumetu, ai vyjedáváím či dotazováím. Typickým takovým diaogem je hádka. Austi, teorieřečových aktů Řečový akt (ocutioary act) pokud je ěco řečeo, potom je vykoá, ebo bude vykoá akt ve smysu působeí a stav okoí. vs. do té doby uvažovaého promouváí jako předáváí faktů Dva typy řečových aktů preacutioary act efekt tohoto aktu je exterí vůči čteáři, ebo posuchači, má za ásedek přimět ěkoho provést ěco. Jedá se zejméa o přesvědčováí, vysvětováí, ispiraci, zastrašováí apod. iocutioary act vyřčeím tohoto typu aktu je provedea akce. Může se jedat o kostatováí, prohášeí, dotazováí, sib apod.
Komuikace v MAS Komuikace mezi agety je zaožea a řečových aktech Stadardem je jazyk ACL, který vychází z jazyka KQML Kdy aget komuikuje? Des g It i SpeechAct a Message m Př Des získat_místo(fit,asistet) It uspech(kokurz,aistet,fit) (sestaví pá k dosažeí záměru zaožeý a přísušém iterakčím protokou) SpeechAct iformovat o dosažeém vzděáí Message (performativeiform sederfz receiverkomisar1 cotetabsovet(fz,fit00)) Komuikace v rámci patformy a komuikace mezi patformami ACL θ 11 θ 12 θ 1; θ 1 zpráva+obáka ACL Trasport zpráv (komuikačí kaá, http, stp) MTL MTL AP ACL MTL ACL θ 11 θ 12 θ 1 θ 21 θ 22 θ 2 ACL Aget Commuicatio Laguage AP Aget Patform MTL Message Trasport System KQML Kowedge Query ad Maipuatio Laguage, Fi, Weber 93, vychází ze SGML Jazyk a protoko pro výměu iformací a zaostí mezi iteigetími systémy Řečový akt je určitého typu, které je dáo parametrem (performative) a určuje, jak má obsah zprávy ovivit posuchače Podporuje komuikaci eje, ae i pro komuikaci prostředictvím zprostředkovatee komuikace (commuicatio faciitator) KQML sytaxe Sytaxe je podobá sytaxi jazyka LISP ( Idetifikátor { Idetifikátor Hodota}* ) (iform seder (aget-idetifier ame i) reciever (aget-idetifier ame j) cotet "weather(today,raiig)" aguage Proog ) typ zprávy
KQML ěkteré kategorie typů zpráv Iformačí typy zpráv te, dey, ute Práce s virtuáí bází zaostí isert, deete Typ zprávy odpověď error, sorry Dotazy ask-if, ask-about, evauate Proud zpráv stream-about, stream-a, eos Typy zpráv pro řízeí sítě forward, broadcast, pipe KQML, virtuáí báze zaostí Aget VKB GOAL kow(wather(thu,x)) GOAL ited(aaget, kow(weather(thu,x))) FACT weather(tue, rai) FACT weather(we, suy) GOAL kow(customer3, weather(we, suy) Virtuáí báze zaostí se v KQML modeu předpokádá u všech agetů, kteří spou komuikují Obsahuje dekarace agetových cíů a představ. Během komuikace se VKB agetu měí Existují typy zpráv, které přímo maipuují s VKB příjemce (isert, deete) KQML, přímá komuikace Aget A Ask_if(weather(we,rai)) Iform True Aget B weather(we,rai) Iformace zasíaé agetem jsou pravdivé ve VKB tohoto ageta Ageti předáváím zpráv ovivňují stav svých VKB (cíů a představ) KQML, zprostředkovate Aget s roí zprostředkovatee komuikace má v KQML modeu ásedující úkoy Uchovávat databázi adres agetů v systému Spravovat registrace sužeb (přijímat, uchovávat a rušit) poskytovaých agety Řídit komuikaci, předávat a směrovat zprávy apod. Pro komuikaci se zprostředkovateem jsou vyhrazey zprávy typu brooker-oe, brooker-a, recommed-oe, recommeda, recruit-oe, recruit-a Aget ve zprávě požaduje zpracovat sužbu, která je obsahem zprávy (brooker, recruit), ebo aézt vhodého ageta (vhodé agety), kteří jsou schopi sužby zpracovat (recomet) Typ zprávy brooker a recruit se iší v důsedku, kdy v prvím případě sděuje výsedek zpracováí úohy zprostředkovate, zatím co v druhém případě je žadate iformová přímo agetem, ebo agety, kteří sužbu zpracovai.
KQML, zprostředkovate brooker_a ask_if weather(we,rai) Aget A Faciitator ask_if weather(we,rai) KB service(wforecast,aget B) service(wforecast,aget E) ask_if weather(we,rai) VKB weather(we,rai) Aget B Aget C Aget D VKB weather(we,suy) Aget E KQML poožky zprávy Kíčové sovo Obsah / Výzam cotet Obsah zprávy force Typ zprávy i-repy-to Kód zprávy, a kterou je tato zpráva odpovědí aguage Jazyk obsahu zprávy otoogy Otoogie, specifikace kotextu zprávy receiver Adresa příjemce seder Adresa odesiatee KQML, sabá místa Některé z typů řečových aktů mají spíše charakter operací s virtuáí bází zaostí, ebo komuikačími kaáy. Potřeba důkadější formáí specifikace jedotivých typů zpráv Některé typy zpráv se ukázay být edůežité, jié aopak přibyy v ásedících tohoto jazyka. Aget Commuicatio Laguage ACL, součást specifikací FIPA Vychází z KQML, odstraňuje edostatky svého předchůdce Sytaxe je obdobá jako u KQML Má formáě staoveou sématiků jedotivých typů zpráv Defiováa ve stadardech FIPA (http//www.fipa.org/fipa SC00037J.pdf)
ACL poožky zprávy ACL Předáváí iformací a žádosti o iformace Parametr Performative Seder Receiver Repy-to Cotet Laguage Ecodig Otoogy Protoco Coversatio-id Repy-with I-repy-to Repy-by Výzam Typ zprávy Idetifikace odesiatee Idetifikace příjemce Idetifikace ageta, který má obdržet odpověď Obsah zprávy. Jazyk obsahu zprávy Specifikace kódováí obsahu Otoogie Iterakčí protoko Idetifikátor koverzace Idetifikátor, kterým má být ozačea odpověď Idetifikátor odpovědi Časové vymezeí (do kdy aget čeká odpověď) Komuikačí akt Cofirm Discofirm Iform Iform If Iform Ref Cace Query If Query Ref Subscribe Výzam Aget potvrzuje, že iformace, o které si druhý eby jist pravdivostí, pravdivá je. Aget epotvrzuje pravdivost iformace. Aget iformuje druhého o pravdivosti ějaké iformace. Akt, kterým aget iformuje druhého, zdai ějaká iformace pravdivá je, ebo eí Aget iformuje druhého o stavu objektu, a který by dotazová Aget iformuje druhého, že již etrvá a prováděí domuveé akce druhým. Aget se táže druhého, zdai je obsah zprávy pravdivý. Aget žádá druhého o iformováí o stav objektu, specifikovaého přiožeou referecí Aget žádá druhého, aby jej iformova o stavu objektu specifikovaého přiožeou referecí a potom i pokaždé, když se stav tohoto objektu změí. ACL vyjedáváí, řízeí prováděí akcí a iformace o chybách Komuikačí akt Accept Proposa Agree Cace Ca for Proposa Faiure Not Uderstood Propagate Propose Proxy Refuse Reject Proposa Request Request Whe Request Wheever Výzam Přijmutí předchozího požadavku a vykoáí akce. Souhas s provedeím akce v budoucu. Aget iformuje druhého, že již etrvá a prováděí domuveé akce druhým. Požadavek a podáváí ávrhů provedeí ějaké akce Aget iformuje druhého, že se pokusi vykoat smuveou akci, ae eúspěšě. Aget, že erozumě předchozí zprávě (jediý poviý typ zprávy pro ageta komuik. v ACL) Požaadvek, aby zpráva bya poskytuta prostředictvím příjemce daším agetům. Aget dává ávrh, že provede ějakou akci spoečě s případými podmíkami, za kterých akci provede. Aget žádá druhého, aby urči skupiy agetů a zákadě přiožeých podmíek a zasa jim vožeou zprávu. Aget odmítá vykoat akci a přikádá vysvěteí důvodů odmítutí. Aget odmítá ávrh druhého během vyjedáváí. Aget žádá druhého o vykoáí ějaké akce. Aget žádá druhého o vykoáí ějaké akce, pokud astae uvedeá podmíka. Obdobé jako předchozí s tím, že aget žádá druhého o vykoáí akce pokaždé, když uvedeá podmíka astae. ACL formáí specifikace typu řečového aktu Defiice typu, ebo jeho odvozeí z dříve defiovaých typů Předpokad pro provedeí (Feasibe Precoditio, FP), FP(a i ) je podmíka provedeí aktu a i Racioáí efekt (Racioa Effect, RE), RE(a i ) je racioáí efekt aktu a i Pro edetermiistický výběr aktů a=a 1 a 2 a jsou FP(a)=a 1 a 2 a RE(a)= a 1 a 2 a
ACL Formáí specifikace typů zpráv, modaity a metáí stavy B i f aget i věří v patost formue f U i f aget i si eí si jistý, zdai patí f, ae věří spíše patí f, eži f (má představu o patosti) C i f aget i si přeje, aby patia formue f Bif i f B i f B i f aget i věří v patost formue f, ebo patost její egace Uif i f U i f U i f aget i má představu o patosti formue f Otoogie Otoogie je sdíeý kocept během komuikace Epistemoogie pojedává o zaosti, otoogie pojedává o kokrétím objektu Otoogie je vytvořea a sdíea mezi agety při komuikaci a popisuje kotext rozhovoru Vymezeí domé, etity jsou rozděey do tříd a jsou dekarovaá pravida/axiomy patá v takovémto modeu Des je ejzámějším prostředkem pro defiici otoogií jazyk OWL, ástrojem pak powl a jié Sématický web Jazyky Web Otoogy Laguage a Resource Descriptio Laguage tvoří zákad pro Sématický web Oba jsou defiováy v dokumetech w3c Jazyk RDL kasifikuje idividuaity do tříd (casses) a mají defiovaé vastosti (properties), dáe mohou být defiováy hierarchické vztahy mezi třídami i vastostmi a defiičí obory vastostí Web Otoogy Laguage Rozšířeí RDL vůči jiým strukturáím vazbám mezi třídami a etitami, umožňuje vytvářet otoogický mode a te sdíet mezi agety během komuikace Např. jeda istace třídy omezuje rozsah hodot vastosti druhé třídy, jazyk umožňuje defiovat kardiaitu vztahů mezi vastostmi třídy s jiými třídami, vytvářet metatřídy daé výčtem a možiovými operacemi ad metatřídami atd.
Iterakčí protokoy požadavek a zrušeí požadavku (protoco request) Iterakčí protokoy dotaz a zrušeí dotazu (protoco query) Iiciátor Účastík Iiciátor cace Účastík Iiciátor Účastík Iiciátor Účastík request refuse iform-doe request query-ref refuse cace agree agree doe resuts Poz Protoko request_whe je variatou tohoto protokou, je ae avíc uvedea podmíka, při které má být požadavek vykoá iform t/f iform res iform-doe Iterakčí protokoy kotraktí síť s iterací (protoco fipa-cotract-et) Iiciátor i j=-i cfp refuse propose accept =j-k iform-doe iform-resut Účastík m k j Iiciátor vyhásí přijímáí ávrhů pro kotrakt (ca for propoca, cfp) pro m agetů agetů odpoví, část odmíte možost uzavřít koktrakt a ostatí (j agetů) pošou své ávrhy ávrhy agetů jsou přijaty a sjedaí ageti iformují o úspěšém, ebo eúspěšém vykoáí sužby Iterakčí protokoy kotraktí síť s iterací (protoco fipa-iterated-cotract-et) Iiciátor i j=-i k k-p cfp refuse propose cfp accept 0 p k iform Účastík m k j i=j-k Komuikace probíhá obdobě., jako v předchozím případě, až a to, že iiciátor může výzvu k podáváí ávrhů opakovat vícekrát
Iterakčí protokoy agická dražba Iiciátor 1 cfp ot-uderstood 1 propose 1 accept iform o-bids Účastík 1 iform auctio started m cfp2 request 1 Cea je podhodocea a každá z abídek ceu zvyšuje. Vyhrává posedí abídka a patí aposedy abídutá cea Iterakčí protokoy hoadská dražba Iiciátor 1 iform auctio started 1 cfp ot-uderstood 1 propose 1 accept m cfp2 iform o-bids Účastík Cea je staovea ad očekávaou hodotu kotraktu a během dražby se sižuje. Prví abídka aukci vyhrává