Professional Documents
Culture Documents
Tema: FIPA SL
Prof.Coordonator:
Sorin Ilie
Student:
Iuliana Filip
Ce inseamna FIPA?
FIPA (Foundation for Intelligent Physical Agents Fundaia pentru Ageni Fizici Inteligeni). Aceasta o organizaie membr IEEE ce promoveaz tehnologia bazat pe ageni i interoperabilitatea standardelor sale cu alte tehnologii. FIPA a fost nfiinat n anul 1996 ca o organizaie suedez specializat n producerea de specificaii pentru standardele software pentru ageni eterogeni i interactivi i sisteme bazate pe ageni. De la fondarea ei, FIPA a jucat un rol crucial n dezvoltarea de standarde pentru ageni i a promovat un numr de iniiative i evenimente care au contribuit la dezvoltarea i nelegerea tehnologiei bazate pe ageni. n plus, multe dintre ideile care au luat fiin la FIPA sunt acum n atenia noilor generaii de tehnologii Web/Internet.
FIPA este una dintre comisiile IEEE ce se ocup cu stabilirea normelor de implementare a agenilor i de comunicare dintre ageni ntr-un mediu multi-agent i importana standardelor sale este crucial pentru funcionarea eficient a agenilor, indiferent de platform sau implementare. Specificaiile FIPA - reprezint o colecie de standarde care intenioneaz s promoveze interoperabilitatea agenilor eterogeni i serviciile pe care agenii le pot reprezenta. Specificaia FIPA pentru limbajul SL (Semantic Language) definete o sintax concret pentru acest limbaj. Acesta este un limbaj definit de FIPA, care este folosit n conjunctie cu Limbajul de Comunicaie dintre Ageni al FIPA (ACL).
Primitive/ protocoale
KQML FIPA
ACL
Content language Ontology
Ontologii
DAML OWL
Limbaje de continut
Orice limbaj poate fi folosit ca si Content Language, de exemplu:
KIF Prolog SQL Serialized Objects Binary Large Objects FIPA - SL FIPA - CCL FIPA - RDF FIPA - KIF
O expresie FIPA SL poate fi utilizata ca si continut al unui mesaj ACL. Pot exista 3 cazuri: (1) Propozitie:
Wff (well formed formulae) poate avea asociata o valoare de tip true intr-un context specific, cum ar fi spre exemplu confirm. Agentul I confirma agentului J ca este adevarata afirmatia balena este mamifer
(confirm :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content ((este mamifer balena)) :language fipa-sl )
(2) Actiune
Se refera la ceva ce trebuie executat, de exemplu -> request.
(request :sender (agent-identifier :name i) :receiver (set (agent-identifier :name j)) :content ((action (agent-identifier :name j) (deliver box017 (loc 12))) ) :protocol fipa-request :language fipa-sl :reply-with order567 )
:content
((action (agent-identifier :name j) (inform-ref :sender (agent-identifier :name j) :receiver (set (agent-identifier :name i))
Operatori referentiali
Operatorul iota introduce un scop pentru o expresie data (care denota un termen) in care identificatorul este definit. Exemplu: - interactiune intre agentul A si agentul B , unde agentul A are urmatoarea notiune de baza: KB={P(A), Q(1, A), Q(1, B)} (query-ref :sender (agent-identifier :name B) :receiver (set (agent-identifier :name A)) :content "((iota ?x (p ?x)))" :language fipa-sl :reply-with query1) (inform :sender (agent-identifier :name A) :receiver (set (agent-identifier :name B) :content " ((= (iota ?x (p ?x)) a)) " :language fipa-sl :in-reply-to query1) Singurul obiect care satisface propozitia P(x) este a, deci mesajul query-ref este dat de inform asa cum se poate observa.
(query-ref :sender (agent-identifier :name B) :receiver (set (agent-identifier :name A)) :content "((any (sequence ?x ?y) (q ?x ?y)))" :language fipa-sl :reply-with query1) (inform :sender (agent-identifier :name A) :receiver (set (agent-identifier :name B)) :content "((= (any (sequence ?x ?y) (q ?x ?y)) (sequence 1 a)))" :language fipa-sl :in-reply-to query1)
Operatorul all este ultilizat pentru a indica setul de obiecte care satisfac popozitia reprezentata de formula.
Presupunem ca Agentul A are urmatoarea notiune de baza KB={P(A), Q(1, A), Q(1, B)}. Acest exemplu arata o interactiune realizata cu succes intre agentul A si agentul B care indeplinesc scopul operatorului all.
(query-ref :sender (agent-identifier :name B) :receiver (set (agent-identifier :name A)) :content "((all (sequence ?x ?y) (q ?x ?y)))" :language fipa-sl :reply-with query1)
(inform :sender (agent-identifier :name A) :receiver (set (agent-identifier :name B)) :content "(( = (all (sequence ?x ?y) (q ?x ?y)) (set(sequence 1 a)(sequence 1 b))))" :language fipa-sl :in-reply-to query1)
Bibliografie:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1.1921&rep=rep1&type=pdf
http://www.fipa.org/specs/fipa00008/XC00008G.pdf