120 likes | 444 Views
(Imperative and) Declarative Programming Languages for Multi-Agent Systems. João Alexandre Leite. CENTRIA - New University of Lisbon http://centria.di.fct.unl.pt/~jleite/. PROMAS@AL3-TF2. Ljubljana, March 1st, 2005. Declarative description
E N D
(Imperative and) Declarative Programming Languages for Multi-Agent Systems João Alexandre Leite CENTRIA - New University of Lisbon http://centria.di.fct.unl.pt/~jleite/ PROMAS@AL3-TF2 Ljubljana, March 1st, 2005
Declarative description A grandchild to x is a child of one of x’s children. Imperative description I To find a grandchild of x, first find a child of x. Then find a child of that child. Imperative description II To find a grandchild of x, first find a parent-child pair and then check if the parent is a child of x. Imperative description III To find a grandchild of x, compute the factorial of 123, then find a child of x. Then find a child of that child. Imperative implementation read(person); for i := 1 to maxp do if p[i;1] = person then for j := 1 to maxp do if p[j;1] = p[i;2] then write(p[j;2]); fi od fi od Declarative implementation gc(X,Z) :- c(X,Y), c(Y,Z). Declarative vs Imperative Ljubljana, March 1st, 2005
Declarative vs Imperative Ljubljana, March 1st, 2005
ConGolog [De Giacomo et al.] 3APL [Dastani et al.] IMPACT [Subrahmanian et al.] Conc. MetateM [Fisher et al.] AgentSpeak(L) [Rao et al.] DyLog [Baldoni et al.] hhf[Delzanno et al.] AGENT 0[Shoham] FLUX [Thielscher et al.] JASON [Bordini et al.] DALI [Costantini et al.] KARO [van Linder et al.] PROSOCS [Stathis et al.] MINERVA [Leite et al.] ALIAS [Ciampolini et al.] ... Logic Based MAS Ljubljana, March 1st, 2005
CLIMA & DALT • Constantly increasing number of submitted papers (35 papers each in last editions) • Covering most topics seen in current MAS research: • Negotiaton • Planning • Protocols • Learning • Adaptation • Cooperation • Communication • Verification • Reasoning • Institutions • Social Norms • Architectures and Environments • Trust • Belief Revision and Update • Programming Languages • Software Engineering Ljubljana, March 1st, 2005
PROLOG ConGolog Conc. MetateM DyLog hhf FLUX DALI MINERVA ALIAS JAVA & PROLOG 3APL PROSOCS Implementations How are these systems implemented? Common LISP • AGENT 0 JAVA • IMPACT • JASON Ljubljana, March 1st, 2005
Some thoughts... • On the opportunities MAS provides to DLs... • The high (and increasing) complexity of MAS calls for DLs Declarative Languages are guilty until proven innocent!! • On speed of DLs... • Drop the “it’s only for prototyping” excuse • Tackle “proper” implementations • Work together with major DL implementation groups (e.g. XSB...) • On ease of programming DLs and training costs... • Train students at undergraduate level Ljubljana, March 1st, 2005
Proposed Questions... • Generic DLs (not developed ad-hoc for MAS development) such as PROLOG, Oz, Haskell, Scheme, ... could be used to develop such systems, but is it really more helpful? • Pure declarative implementations or hybrid? • How can DLs be used together with imperative ones? • How can DLs facilitate the MAS development? • It seems that DLs can be applied to define the high-level behavior of an agent. Where else? Ljubljana, March 1st, 2005