SlideShare ist ein Scribd-Unternehmen logo
1 von 160
Downloaden Sie, um offline zu lesen
AOP
Outline
1   AOP: Agent Oriented Programming
      About AOP
        Shortfalls
        Trends
      Jason
        Introduction to Jason
        Reasoning Cycle
        Main Language Constructs: Beliefs, Goals, and Plans
        Other Language Features
        Comparison With Other Paradigms
        The Jason Platform
        Perspectives: Some Past and Future Projects
        Conclusions
About AOP
AOP    About AOP Jason

Agent Oriented Programming


     Use of mentalistic notions and a societal view of
     computation [Shoham, 1993]

     Heavily influence by the BDI architecture and reactive
     planning systems

     Various language constructs for the sophisticated
     abstractions used in AOSE
         Agent: Belief, Goal, Intention, Plan
         Organisation: Group, Role, Norm, Interactions
         Environment: Artifacts, Percepts, Actions




                                                             4 / 68
AOP   About AOP Jason

Agent Oriented Programming
Features




           Reacting to events × long-term goals
           Course of actions depends on circumstance
           Plan failure (dynamic environments)
           Rational behaviour
           Social ability
           Combination of theoretical and practical reasoning




                                                                5 / 68
AOP      About AOP Jason

Literature
       Books: [Bordini et al., 2005a], [Bordini et al., 2009]
  Proceedings: ProMAS, DALT, LADS, ... [Baldoni et al., 2010,
               Dastani et al., 2010, Hindriks et al., 2009, Baldoni et al., 2009,
               Dastani et al., 2008b, Baldoni et al., 2008, Dastani et al., 2008a,
               Bordini et al., 2007a, Baldoni and Endriss, 2006,
               Bordini et al., 2006b, Baldoni et al., 2006, Bordini et al., 2005b,
               Leite et al., 2005, Dastani et al., 2004, Leite et al., 2004]
     Surveys: [Bordini et al., 2006a], [Fisher et al., 2007] ...
  Languages of historical importance: Agent0 [Shoham, 1993],
              AgentSpeak(L) [Rao, 1996],
              MetateM [Fisher, 2005],
              3APL [Hindriks et al., 1997],
              Golog [Giacomo et al., 2000]
  Other prominent languages: Jason [Bordini et al., 2007b],
              Jadex [Pokahr et al., 2005], 2APL [Dastani, 2008],
              GOAL [Hindriks, 2009], JACK [Winikoff, 2005]
  But many others languages and platforms...                                         6 / 68
AOP   About AOP Jason

Some Languages and Platforms


  Jason (H¨bner, Bordini, ...); 3APL and 2APL (Dastani, van
             u
  Riemsdijk, Meyer, Hindriks, ...); Jadex (Braubach, Pokahr);
  MetateM (Fisher, Guidini, Hirsch, ...); ConGoLog (Lesperance,
  Levesque, ... / Boutilier – DTGolog); Teamcore/ MTDP (Milind
  Tambe, ...); IMPACT (Subrahmanian, Kraus, Dix, Eiter); CLAIM
  (Amal El Fallah-Seghrouchni, ...); GOAL (Hindriks); BRAHMS
  (Sierhuis, ...); SemantiCore (Blois, ...); STAPLE (Kumar, Cohen,
  Huber); Go! (Clark, McCabe); Bach (John Lloyd, ...); MINERVA
  (Leite, ...); SOCS (Torroni, Stathis, Toni, ...); FLUX
  (Thielscher); JIAC (Hirsch, ...); JADE (Agostino Poggi, ...);
  JACK (AOS); Agentis (Agentis Software); Jackdaw (Calico
  Jack); ...



                                                                     7 / 68
AOP   About AOP Jason

The State of Multi-Agent Programming



     Already the right way to implement MAS is to use an AOSE
     Methodology (Prometheus, Gaia, Tropos, ...) and an MAS
     Programming Language!
     Many agent languages have efficient and stable interpreters
     — used extensively in teaching
     All have some programming tools (IDE, tracing of agents’
     mental attitudes, tracing of messages exchanged, etc.)
     Finally integrating with social aspects of MAS
     Growing user base




                                                                 8 / 68
AOP    About AOP Jason

Some Shortfalls



     IDEs and programming tools are still not anywhere near the
     level of OO languages
     Debugging is a serious issue — much more than “mind
     tracing” is needed
     Combination with organisational models is very recent —
     much work still needed
     Principles for using declarative goals in practical
     programming problems still not “textbook”
     Large applications and real-world experience much needed!




                                                                  9 / 68
AOP   About AOP Jason

Some Trends I


     Modularity and encapsulation
     Debugging MAS is hard: problems of concurrency, simulated
     environments, emergent behaviour, mental attitudes
     Logics for Agent Programming languages
     Further work on combining with interaction, environments,
     and organisations
     We need to put everything together: rational agents,
     environments, organisations, normative systems, reputation
     systems, economically inspired techniques, etc.
   Multi-Agent Programming



                                                                  10 / 68
AOP   About AOP Jason

Research on Multi-Agent Systems...




                            —
        Whatever you do in MAS, make it available in a
        programming language/platform for MAS!!!
                            —




                                                         11 / 68
Jason
AOP   About AOP Jason

AgentSpeak
The foundational language for Jason




        Originally proposed by Rao [Rao, 1996]
        Programming language for BDI agents
        Elegant notation, based on logic programming
        Inspired by PRS (Georgeff  Lansky), dMARS (Kinny), and
        BDI Logics (Rao  Georgeff)
        Abstract programming language aimed at theoretical results




                                                                     13 / 68
AOP    About AOP Jason

Jason
A practical implementation of a variant of AgentSpeak




         Jason implements the operational semantics of a variant of
         AgentSpeak
         Has various extensions aimed at a more practical
         programming language (e.g. definition of the MAS,
         communication, ...)
         Highly customised to simplify extension and
         experimentation
         Developed by Jomi F. Hbner and Rafael H. Bordini




                                                                      14 / 68
AOP    About AOP Jason

Main Language Constructs and Runtime Structures


      Beliefs: represent the information available to an agent (e.g.
               about the environment or other agents)
       Goals: represent states of affairs the agent wants to bring
              about
       Plans: are recipes for action, representing the agent’s
              know-how


      Events: happen as consequence to changes in the agent’s
              beliefs or goals
   Intentions: plans instantiated to achieve some goal



                                                                       15 / 68
AOP    About AOP Jason

Main Architectural Components



  Belief base: where beliefs are stored
  Set of events: to keep track of events the agent will have to
               handle
  Plan library: stores all the plans currently known by the agent
  Set of Intentions: each intention keeps track of the goals the
                agent is committed to and the courses of action it
                chose in order to achieve the goals for one of
                various foci of attention the agent might have




                                                                     16 / 68
AOP   About AOP Jason

Jason Interpreter
Basic Reasoning cycle




        perceive the environment and update belief base
        process new messages
        select event
        select relevant plans
        select applicable plans
        create/update intention
        select intention to execute




                                                          17 / 68
AOP      About AOP Jason

Jason Rreasoning Cycle


                                                                                    Belief                                                                                                Agent
                                                                        Beliefs     Base
                                                                                                                                  5
           1                      2                                                                             Events
Percepts               Percepts                                                                                                  SE                                               Plan
           perceive                    BUF                       BRF
                                                                                                                                                                                  Library

                                              External                   External                                                     Selected
                                              Events                      Events    Events            Beliefs                         Event


                                          4                                                  7              Relevant        6
                                                         Beliefs to    Internal
                                                                                             Check           Plans              Unify
                                      SocAcc              Add and      Events                                                                    Plans
                                                            Delete                           Context                            Event


                                                                                                      Applicable                                                     Beliefs
                                                                                                      Plans
           3
Messages               Messages                                                                  8                                        9        Selected    10
           checkMail                     SM                                                                     Intended                           Intention    Execute        Action               Actions
                                                                                                 SO                                       SI                                                act
                                                                                                                  Means                                        Intention

                                                                                                                                                                                        .send
                                                                                                                                               Intentions

                                                                                                        Push                                   New                                                 Messages
                       Suspended Intentions                            Intentions                                                              Intention                                 sendMsg
                                      (Actions and Msgs)                                                New Plan

                                                    ...                                                                    New
                                                                                                                                         New
                                                                                                                                                     ...                    Updated
                                                                                                                                                                           Intention




                                                                                                                                                                                                   18 / 68
AOP    About AOP Jason

Beliefs — Representation


  Syntax
  Beliefs are represented by annotated literals of first order logic

  functor(term1 , ..., termn )[annot1 , ..., annotm ]

  Example (belief base of agent Tom)
  red(box1)[source(percept)].
  friend(bob,alice)[source(bob)].
  lier(alice)[source(self),source(bob)].
  ˜lier(bob)[source(self)].



                                                                      19 / 68
AOP    About AOP Jason

Beliefs — Dynamics I


  by perception
  beliefs annotated with source(percept) are automatically updated
  accordingly to the perception of the agent

  by intention
  the plan operators + and - can be used to add and remove
  beliefs annotated with source(self) (mental notes)

  +lier(alice); // adds lier(alice)[source(self)]
  -lier(john); // removes lier(john)[source(self)]




                                                                     20 / 68
AOP   About AOP Jason

Beliefs — Dynamics II


  by communication
  when an agent receives a tell message, the content is a new belief
  annotated with the sender of the message

  .send(tom,tell,lier(alice)); // sent by bob
  // adds lier(alice)[source(bob)] in Tom’s BB
  ...
  .send(tom,untell,lier(alice)); // sent by bob
  // removes lier(alice)[source(bob)] from Tom’s BB




                                                                       21 / 68
AOP     About AOP Jason

Goals — Representation


  Types of goals
      Achievement goal: goal to do
      Test goal: goal to know

  Syntax
  Goals have the same syntax as beliefs, but are prefixed by
  ! (achievement goal) or
  ? (test goal)

  Example (Initial goal of agent Tom)
  !write(book).



                                                              22 / 68
AOP    About AOP Jason

Goals — Dynamics I


  by intention
  the plan operators ! and ? can be used to add a new goal
  annotated with source(self)

  ...
  // adds new achievement goal !write(book)[source(self)]
  !write(book);

  // adds new test goal ?publisher(P)[source(self)]
  ?publisher(P);
  ...




                                                             23 / 68
AOP    About AOP Jason

Goals — Dynamics II


  by communication – achievement goal
  when an agent receives an achieve message, the content is a new
  achievement goal annotated with the sender of the message

  .send(tom,achieve,write(book)); // sent by Bob
  // adds new goal write(book)[source(bob)] for Tom
  ...
  .send(tom,unachieve,write(book)); // sent by Bob
  // removes goal write(book)[source(bob)] for Tom




                                                                    24 / 68
AOP    About AOP Jason

Goals — Dynamics III



  by communication – test goal
  when an agent receives an askOne or askAll message, the
  content is a new test goal annotated with the sender of the
  message

  .send(tom,askOne,published(P),Answer); // sent by Bob
  // adds new goal ?publisher(P)[source(bob)] for Tom
  // the response of Tom will unify with Answer




                                                                25 / 68
AOP    About AOP Jason

Triggering Events — Representation


     Events happen as consequence to changes in the agent’s
     beliefs or goals
     An agent reacts to events by executing plans
     Types of plan triggering events
              +b (belief addition)
               -b (belief deletion)
             +!g (achievement-goal addition)
              -!g (achievement-goal deletion)
            +?g (test-goal addition)
              -?g (test-goal deletion)




                                                              26 / 68
AOP    About AOP Jason

Plans — Representation


  An AgentSpeak plan has the following general structure:

                triggering event : context ¡- body.

  where:
      the triggering event denotes the events that the plan is
      meant to handle
      the context represent the circumstances in which the plan
      can be used
      the body is the course of action to be used to handle the
      event if the context is believed true at the time a plan is
      being chosen to handle the event



                                                                    27 / 68
AOP   About AOP Jason

Plans — Operators for Plan Context


Boolean operators               Arithmetic operators
          (and)                             + (sum)
          | (or)                                  - (subtraction)
        not (not)                             * (multiply)
         = (unification)                       / (divide)
    , = (relational)                      div (divide – integer)
    , = (relational)                    mod (remainder)
       == (equals)                           ** (power)
       == (different)




                                                                     28 / 68
AOP   About AOP Jason

Plans — Operators for Plan Body
  A plan body may contain:
       Belief operators (+, -, -+)
       Goal operators (!, ?, !!)
       Actions (internal/external) and Constraints
  Example (plan body)
  +rain : time to leave(T)  clock.now(H)  H ¿= T
     ¡- !g1;        // new sub-goal
        !!g2;       // new goal
        ?b(X);      // new test goal
        +b1(T-H);   // add mental note
        -b2(T-H);   // remove mental note
        -+b3(T*H); // update mental note
        jia.get(X); // internal action
        X ¿ 10;     // constraint to carry on
        close(door).// external action
                                                      29 / 68
AOP   About AOP Jason

Plans — Example

  +green patch(Rock)[source(percept)]
     : not battery charge(low)
     ¡- ?location(Rock,Coordinates);
        !at(Coordinates);
        !examine(Rock).
  +!at(Coords)
     : not at(Coords)  safe path(Coords)
     ¡- move towards(Coords);
        !at(Coords).
  +!at(Coords)
     : not at(Coords)  not safe path(Coords)
     ¡- ...
  +!at(Coords) : at(Coords).


                                                 30 / 68
AOP   About AOP Jason

Plans — Dynamics



  The plans that form the plan library of the agent come from
      initial plans defined by the programmer
      plans added dynamically and intentionally by
           .add plan
           .remove plan
      plans received from
           tellHow messages
           untellHow




                                                                31 / 68
AOP   About AOP Jason

Strong Negation



  Example
  +!leave(home)
     : ˜raining
     ¡- open(curtains); ...

  +!leave(home)
     : not raining  not ˜raining
     ¡- .send(mum,askOne,raining,Answer,3000); ...




                                                     32 / 68
AOP   About AOP Jason

Prolog-like Rules in the Belief Base




  Example
  likely color(Obj,C) :-
     colour(Obj,C)[degOfCert(D1)] 
     not (colour(Obj, )[degOfCert(D2)]  D2 ¿ D1) 
     not ˜colour(C,B).




                                                      33 / 68
AOP    About AOP Jason

Plan Annotations

      Like beliefs, plans can also have annotations, which go in
      the plan label
      Annotations contain meta-level information for the plan,
      which selection functions can take into consideration
      The annotations in an intended plan instance can be changed
      dynamically (e.g. to change intention priorities)
      There are some pre-defined plan annotations, e.g. to force a
      breakpoint at that plan or to make the whole plan execute
      atomically

  Example (an annotated plan)
  @myPlan[chance of success(0.3), usual payoff(0.9),
          any other property]
  +!g(X) : c(t) ¡- a(X).

                                                                    34 / 68
AOP   About AOP Jason

Failure Handling: Contingency Plans




  Example (an agent blindly committed to g)
  +!g :   g.

  +!g :   ...   ¡- ...   ?g.

  -!g :   true ¡- !g.




                                                    35 / 68
AOP    About AOP Jason

“Higher-Order” Variables

  Example (an agent that asks for plans on demand)
  -!G[error(no relevant)] : teacher(T)
     ¡- .send(T, askHow, { +!G }, Plans);
        .add plan(Plans);
        !G.

      in the event of a failure to achieve any goal G due to no
      relevant plan, asks a teacher for plans to achieve G and
      then try G again


      The failure event is annotated with the error type, line,
      source, ... error(no relevant) means no plan in the agent’s
      plan library to achieve G
      { +!G } is the syntax to enclose triggers/plans as terms
                                                                    36 / 68
AOP    About AOP Jason

Internal Actions


      Unlike actions, internal actions do not change the
      environment
      Code to be executed as part of the agent reasoning cycle
      AgentSpeak is meant as a high-level language for the agent’s
      practical reasoning and internal actions can be used for
      invoking legacy code elegantly

      Internal actions can be defined by the user in Java

                       libname.action name(. . .)




                                                                     37 / 68
AOP       About AOP Jason

Standard Internal Actions


     Standard (pre-defined) internal actions have an empty library
     name
         .print(term1 , term2 , . . .)
         .union(list1 , list2 , list3 )
         .my name(var )
         .send(ag,perf ,literal)
         .intend(literal)
         .drop intention(literal)


     Many others available for: printing, sorting, list/string
     operations, manipulating the beliefs/annotations/plan library,
     creating agents, waiting/generating events, etc.



                                                                      38 / 68
AOP   About AOP Jason

Jason × Java I




  Consider a very simple robot with two goals:
      when a piece of gold is seen, go to it
      when battery is low, go charge it




                                                      39 / 68
AOP    About AOP Jason

Jason × Java II


  Example (Java code – go to gold)
  public class Robot extends Thread {
     boolean seeGold, lowBattery;
     public void run() {
        while (true) {
            while (! seeGold) {
            }
            while (seeGold) {
                a = selectDirection();

                  doAction(go(a));

  }   }   }   }


  (how to code the charge battery behaviour?)

                                                        40 / 68
AOP    About AOP Jason

Jason × Java III


  Example (Java code – charge battery)
  public class Robot extends Thread {
     boolean seeGold, lowBattery;
     public void run() {
        while (true) {
            while (! seeGold)
                if (lowBattery) charge();
            while (seeGold) {
                a = selectDirection ();
                if (lowBattery) charge();
                doAction(go(a));
                if (lowBattery) charge();
  } } }     }


  (note where the tests for low battery have to be done)

                                                           41 / 68
AOP    About AOP Jason

Jason × Java IV
  Example (Jason code)
  +see(gold)
     ¡- !goto(gold).
  +!goto(gold) :see(gold)         // long term goal
     ¡- !select direction(A);
        go(A);
        !goto(gold).
  +battery(low)                     // reactivity
     ¡- !charge.

  ˆ!charge[state(started)]          // goal meta-events
     ¡- .suspend(goto(gold)).
  ˆ!charge[state(finished)]
     ¡- .resume(goto(gold)).


                                                          42 / 68
AOP   About AOP Jason

Jason × Prolog



     With the Jason extensions, nice separation of theoretical and
     practical reasoning

     BDI architecture allows
         long-term goals (goal-based behaviour)
         reacting to changes in a dynamic environment
         handling multiple foci of attention (concurrency)


     Acting on an environment and a higher-level conception of a
     distributed system




                                                                     43 / 68
AOP   About AOP Jason

Communication Infrastructure


  Various communication and execution management
  infrastructures can be used with Jason:
  Centralised: all agents in the same machine,
               one thread by agent, very fast
  Centralised (pool): all agents in the same machine,
               fixed number of thread,
               allows thousands of agents
        Jade: distributed agents, FIPA-ACL
         Saci: distributed agents, KQML
            ... others defined by the user (e.g. AgentScape)




                                                              44 / 68
AOP   About AOP Jason

Definition of a Simulated Environment




     There will normally be an environment where the agents are
     situated
     The agent architecture needs to be customised to get
     perceptions and act on such environment
     We often want a simulated environment (e.g. to test an
     MAS application)
     This is done in Java by extending Jason’s Environment class




                                                                   45 / 68
AOP     About AOP Jason

Interaction with the Environment Simulator


       Environment                       Agent                       Reasoner
        Simulator                     Architecture
                                                          perceive
                     getPercepts




                                                               act
                     executeAction


   change
   percepts




                                                                                46 / 68
AOP   About AOP Jason

Example of an Environment Class
   1   import jason.*;
   2   import ...;
   3   public class robotEnv extends Environment {
   4     ...
   5     public robotEnv() {
   6       Literal gp =
   7              Literal.parseLiteral(”green˙patch(souffle)”);
   8       addPercept(gp);
   9     }
  10
  11     public boolean executeAction(String ag, Structure action) {
  12       if (action.equals(...)) {
  13         addPercept(ag,
  14              Literal.parseLiteral(”location(souffle,c(3,4))”);
  15       }
  16       ...
  17       return true;
  18   } }
                                                                  47 / 68
AOP   About AOP Jason

MAS Configuration Language I


      Simple way of defining a multi-agent system
  Example (MAS that uses JADE as infrastructure)
  MAS my˙system –
     infrastructure: Jade
     environment: robotEnv
     agents:
          c3po;
          r2d2 at jason.sourceforge.net;
          bob #10; // 10 instances of bob
     classpath: ”../lib/graph.jar”;
  ˝



                                                    48 / 68
AOP   About AOP Jason

MAS Configuration Language II


      Configuration of event handling, frequency of perception,
      user-defined settings, customisations, etc.
  Example (MAS with customised agent)
  MAS custom –
    agents: bob [verbose=2,paramters=”sys.properties”]
                agentClass MyAg
                agentArchClass MyAgArch
                beliefBaseClass jason.bb.JDBCPersistentBB(
                    ”org.hsqldb.jdbcDriver”,
                    ”jdbc:hsqldb:bookstore”,
                    ...
  ˝




                                                                 49 / 68
AOP   About AOP Jason

MAS Configuration Language III


  Example (CArtAgO Environment)
  MAS grid˙world –

      environment: alice.c4jason.CEnv

      agents:
          cleanerAg
              agentArchClass alice.c4jason.CogAgentArch
              #3;
  ˝




                                                          50 / 68
AOP    About AOP Jason

Jason Customisations


     Agent class customisation:
     selectMessage, selectEvent, selectOption, selectIntetion, buf,
     brf, ...

     Agent architecture customisation:
     perceive, act, sendMsg, checkMail, ...

     Belief base customisation:
     add, remove, contains, ...
         Example available with Jason: persistent belief base (in text
         files, in data bases, ...)




                                                                         51 / 68
AOP   About AOP Jason

jEdit Plugin




                                       52 / 68
AOP   About AOP Jason

Eclipse Plugin




                                         53 / 68
AOP   About AOP Jason

Mind Inspector




                                         54 / 68
AOP    About AOP Jason

Some Related Projects I


     Speech-act based communication
                                    ´
     Joint work with Renata Vieira, Alvaro Moreira, and Mike
     Wooldridge
     Cooperative plan exchange
     Joint work with Viviana Mascardi, Davide Ancona
     Plan Patterns for Declarative Goals
     Joint work with M.Wooldridge
     Planning (Felipe Meneguzzi and Colleagues)
     Web and Mobile Applications (Alessandro Ricci and
     Colleagues)
     Belief Revision
     Joint work with Natasha Alechina, Brian Logan, Mark Jago


                                                                55 / 68
AOP    About AOP Jason

Some Related Projects II



     Ontological Reasoning
                                        ´
         Joint work with Renata Vieira, Alvaro Moreira
         JASDL: joint work with Tom Klapiscak
     Goal-Plan Tree Problem (Thangarajah et al.)
     Joint work with Tricia Shaw
     Trust reasoning (ForTrust project)
     Agent verification and model checking
     Joint project with M.Fisher, M.Wooldridge, W.Visser,
     L.Dennis, B.Farwer




                                                            56 / 68
AOP   About AOP Jason

Some Related Projects III



     Environments, Organisation and Norms
         Normative environments
         Join work with A.C.Rocha Costa and F.Okuyama
         MADeM integration (Francisco Grimaldo Moreno)
         Normative integration (Felipe Meneguzzi)
         CArtAgO integration
         Moise integration
     More on jason.sourceforge.net, related projects




                                                         57 / 68
AOP     About AOP Jason

Some Trends for Jason I


     Modularity and encapsulation
         Capabilities (JACK, Jadex, ...)
         Roles (Dastani et al.)
         Mini-agents (?)
     Recently done: meta-events
     To appear soon: annotations for declarative goals,
     improvement in plan failure handling, etc.
     Debugging is hard, despite mind inspector, etc.
     Further work on combining with environments and
     organisations




                                                          58 / 68
AOP    About AOP Jason

Summary


    AgentSpeak
          Logic + BDI
          Agent programming language
    Jason
          AgentSpeak interpreter
          Implements the operational semantics of AgentSpeak
          Speech-act based communicaiton
          Highly customisable
          Useful tools
          Open source
          Open issues




                                                               59 / 68
AOP    About AOP Jason

Acknowledgements




     Many thanks to the
         Various colleagues acknowledged/referenced throughout
         these slides
         Jason users for helpful feedback
         CNPq for supporting some of our current researh




                                                                 60 / 68
AOP   About AOP Jason

Further Resources




    http://jason.sourceforge.net

    R.H. Bordini, J.F. H¨bner, and
                        u
    M. Wooldrige
    Programming Multi-Agent Systems
    in AgentSpeak using Jason
    John Wiley  Sons, 2007.




                                                61 / 68
AOP     About AOP Jason

Bibliography I

     Baldoni, M., Bentahar, J., van Riemsdijk, M. B., and Lloyd, J., editors (2010).
     Declarative Agent Languages and Technologies VII, 7th International
     Workshop, DALT 2009, Budapest, Hungary, May 11, 2009. Revised Selected
     and Invited Papers, volume 5948 of Lecture Notes in Computer Science.
     Springer.
     Baldoni, M. and Endriss, U., editors (2006).
     Declarative Agent Languages and Technologies IV, 4th International Workshop,
     DALT 2006, Hakodate, Japan, May 8, 2006, Selected, Revised and Invited
     Papers, volume 4327 of Lecture Notes in Computer Science. Springer.
     Baldoni, M., Endriss, U., Omicini, A., and Torroni, P., editors (2006).
     Declarative Agent Languages and Technologies III, Third International
     Workshop, DALT 2005, Utrecht, The Netherlands, July 25, 2005, Selected and
     Revised Papers, volume 3904 of Lecture Notes in Computer Science. Springer.
     Baldoni, M., Son, T. C., van Riemsdijk, M. B., and Winikoff, M., editors
     (2008).
     Declarative Agent Languages and Technologies V, 5th International Workshop,
     DALT 2007, Honolulu, HI, USA, May 14, 2007, Revised Selected and Invited
     Papers, volume 4897 of Lecture Notes in Computer Science. Springer.


                                                                                       62 / 68
AOP     About AOP Jason

Bibliography II


     Baldoni, M., Son, T. C., van Riemsdijk, M. B., and Winikoff, M., editors
     (2009).
     Declarative Agent Languages and Technologies VI, 6th International Workshop,
     DALT 2008, Estoril, Portugal, May 12, 2008, Revised Selected and Invited
     Papers, volume 5397 of Lecture Notes in Computer Science. Springer.
     Bordini, R. H., Braubach, L., Dastani, M., Fallah-Seghrouchni, A. E.,
     G´mez-Sanz, J. J., Leite, J., O’Hare, G. M. P., Pokahr, A., and Ricci, A.
       o
     (2006a).
     A survey of programming languages and platforms for multi-agent systems.
     Informatica (Slovenia), 30(1):33–44.

     Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
     (2005a).
     Multi-Agent Programming: Languages, Platforms and Applications, volume 15
     of Multiagent Systems, Artificial Societies, and Simulated Organizations.
     Springer.




                                                                                    63 / 68
AOP      About AOP Jason

Bibliography III
     Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
     (2005b).
     Programming Multi-Agent Systems, Second International Workshop ProMAS
     2004, New York, NY, USA, July 20, 2004 Selected Revised and Invited Papers,
     volume 3346 of Lecture Notes in Computer Science. Springer.
     Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
     (2006b).
     Programming Multi-Agent Systems, Third International Workshop, ProMAS
     2005, Utrecht, The Netherlands, July 26, 2005, Revised and Invited Papers,
     volume 3862 of Lecture Notes in Computer Science. Springer.
     Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
     (2007a).
     Programming Multi-Agent Systems, 4th International Workshop, ProMAS
     2006, Hakodate, Japan, May 9, 2006, Revised and Invited Papers, volume 4411
     of Lecture Notes in Computer Science. Springer.
     Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors
     (2009).
     Multi-Agent Programming: Languages, Tools and Applications.
     Springer.

                                                                                    64 / 68
AOP     About AOP Jason

Bibliography IV

     Bordini, R. H., H¨bner, J. F., and Wooldridge, M. (2007b).
                      u
     Programming Multi-Agent Systems in AgentSpeak Using Jason.
     Wiley Series in Agent Technology. John Wiley  Sons.
     Dastani, M. (2008).
     2apl: a practical agent programming language.
     Autonomous Agents and Multi-Agent Systems, 16(3):214–248.

     Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2004).
     Programming Multi-Agent Systems, First International Workshop, PROMAS
     2003, Melbourne, Australia, July 15, 2003, Selected Revised and Invited
     Papers, volume 3067 of Lecture Notes in Computer Science. Springer.
     Dastani, M., Fallah-Seghrouchni, A. E., Leite, J., and Torroni, P., editors
     (2008a).
     Languages, Methodologies and Development Tools for Multi-Agent Systems,
     First International Workshop, LADS 2007, Durham, UK, September 4-6, 2007.
     Revised Selected Papers, volume 5118 of Lecture Notes in Computer Science.
     Springer.



                                                                                   65 / 68
AOP        About AOP Jason

Bibliography V

     Dastani, M., Fallah-Seghrouchni, A. E., Leite, J., and Torroni, P., editors
     (2010).
     Languages, Methodologies, and Development Tools for Multi-Agent Systems,
     Second International Workshop, LADS 2009, Torino, Italy, September 7-9,
     2009, Revised Selected Papers, volume 6039 of Lecture Notes in Computer
     Science. Springer.
     Dastani, M., Fallah-Seghrouchni, A. E., Ricci, A., and Winikoff, M., editors
     (2008b).
     Programming Multi-Agent Systems, 5th International Workshop, ProMAS
     2007, Honolulu, HI, USA, May 15, 2007, Revised and Invited Papers, volume
     4908 of Lecture Notes in Computer Science. Springer.
     Fisher, M. (2005).
     Metatem: The story so far.
     In [Bordini et al., 2006b], pages 3–22.

     Fisher, M., Bordini, R. H., Hirsch, B., and Torroni, P. (2007).
     Computational logics and agents: A road map of current technologies and
     future trends.
     Computational Intelligence, 23(1):61–91.


                                                                                   66 / 68
AOP     About AOP Jason

Bibliography VI

     Giacomo, G. D., Lesp´rance, Y., and Levesque, H. J. (2000).
                             e
     Congolog, a concurrent programming language based on the situation calculus.
     Artif. Intell., 121(1-2):109–169.

     Hindriks, K. V. (2009).
     Programming rational agents in GOAL.
     In [Bordini et al., 2009], pages 119–157.

     Hindriks, K. V., de Boer, F. S., van der Hoek, W., and Meyer, J.-J. C. (1997).
     Formal semantics for an abstract agent programming language.
     In Singh, M. P., Rao, A. S., and Wooldridge, M., editors, ATAL, volume 1365
     of Lecture Notes in Computer Science, pages 215–229. Springer.
     Hindriks, K. V., Pokahr, A., and Sardi˜a, S., editors (2009).
                                           n
     Programming Multi-Agent Systems, 6th International Workshop, ProMAS
     2008, Estoril, Portugal, May 13, 2008. Revised Invited and Selected Papers,
     volume 5442 of Lecture Notes in Computer Science. Springer.
     Leite, J. A., Omicini, A., Sterling, L., and Torroni, P., editors (2004).
     Declarative Agent Languages and Technologies, First International Workshop,
     DALT 2003, Melbourne, Australia, July 15, 2003, Revised Selected and Invited
     Papers, volume 2990 of Lecture Notes in Computer Science. Springer.

                                                                                      67 / 68
AOP      About AOP Jason

Bibliography VII

     Leite, J. A., Omicini, A., Torroni, P., and Yolum, P., editors (2005).
     Declarative Agent Languages and Technologies II, Second International
     Workshop, DALT 2004, New York, NY, USA, July 19, 2004, Revised Selected
     Papers, volume 3476 of Lecture Notes in Computer Science. Springer.
     Pokahr, A., Braubach, L., and Lamersdorf, W. (2005).
     Jadex: A bdi reasoning engine.
     In [Bordini et al., 2005a], pages 149–174.

     Rao, A. S. (1996).
     Agentspeak(l): Bdi agents speak out in a logical computable language.
     In de Velde, W. V. and Perram, J. W., editors, MAAMAW, volume 1038 of
     Lecture Notes in Computer Science, pages 42–55. Springer.
     Shoham, Y. (1993).
     Agent-oriented programming.
     Artif. Intell., 60(1):51–92.

     Winikoff, M. (2005).
     Jack intelligent agents: An industrial strength platform.
     In [Bordini et al., 2005a], pages 175–193.


                                                                               68 / 68
Overview Other APLs 
Architectural Considerations




     Koen Hindriks, João Leite   PL-MAS Tutorial – EASSS12
Overview
•   Overview of APL landscape
•   Some Architectural Considerations
•   Research Themes
•   References




           Koen Hindriks, João Leite
                K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                         EASSS12
Agent Programming
Languages: An Overview




    Koen Hindriks, João Leite   PL-MAS Tutorial – EASSS12
A Brief History of AOP
•   1990: AGENT-0 (Shoham)
•   1993: PLACA (Thomas; AGENT-0 extension with plans)
•   1996: AgentSpeak(L) (Rao; inspired by PRS)
•   1996: Golog (Reiter, Levesque, Lesperance)
•   1997: 3APL (Hindriks et al.)
•   1998: ConGolog (Giacomo, Levesque, Lesperance)
•   2000: JACK (Busetta, Howden, Ronnquist, Hodgson)
•   2000: GOAL (Hindriks et al.)
•   2000: CLAIM (Amal El FallahSeghrouchni)
•   2002: Jason (Bordini, Hubner; implementation of AgentSpeak)
•   2003: Jadex (Braubach, Pokahr, Lamersdorf)
•   2008: 2APL (successor of 3APL)
This overview is far from complete!
                              Koen Hindriks, João Leite
                                   K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                            EASSS12
A Brief History of AOP
•   AGENT-0             Speech acts
•   PLACA               Plans
•   AgentSpeak(L)       Events/Intentions
•   Golog               Action theories, logical specification
•   3APL                Practical reasoning rules
•   JACK                Capabilities, Java-based
•   GOAL                Declarative goals
•   CLAIM               Mobile agents (within agent community)
•   Jason               AgentSpeak + Communication
•   Jadex               JADE + BDI
•   2APL                Modules, PG-rules, …


                    Koen Hindriks, João Leite
                         K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                  EASSS12
A Brief History of AOP
Agent Programming Languages and Agent Logics have not (yet)
converged to a uniform conception of (rational) agents.

     Agent Programming                                   Agent Logics



         Architectures                         BDI, Intention Logic, KARO
    PRS (Planning) , InterRap



  Agent-Oriented Programming                    Multi-Agent Logics, Norms,
 Agent0, AgentSpeak, ConGolog,
                                                 Collective Intentionality
3APL/2APL, Jason, Jadex, JACK, …


     Conceptual extension
                                             CASL, Games and Knowledge
      “Declarative Goals”

               Koen Hindriks, João Leite
                    K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                             EASSS12
Part 1: BDI Agents and AOP


                  Agent Features
Many diverse and different features have been proposed, but the
unifying theme still is the BDI view of agents.


         Agent Programming                                   Agent Logics
 •   “Simple” beliefs and belief                •   “Complex” beliefs and belief
     revision                                       revision
 •   Planning and Plan revision                 •   Commitment Strategies
     e.g. Plan failure                          •   Goal Dynamics
 •   Declarative Goals                          •   Look ahead features
 •   Triggers, Events                               e.g. beliefs about the future,
     e.g. maintenance goals                         strong commitment
 •   Control Structures                             preconditions
 •   …                                          •   Norms
                                                •   …



                  Koen Hindriks, João Leite
                       K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                EASSS12
How are these APLs related?
    A comparison from a high-level, conceptual point, not taking into account
    any practical aspects (IDE, available docs, speed, applications, etc)

 Family of Languages                                                           Multi-Agent Systems
 Basic concepts: beliefs, action, plans, goals-to-do):                         All of these languages
                                                                                 (except AGENT-0,
                               AgentSpeak(L), Jason1                            PLACA, JACK) have
           AGENT-01                                                            versions implemented
           (PLACA )                                                               “on top of” JADE.
                              Golog                     3APL2

              Main addition: Declarative goals
                      2APL      3APL + GOAL

                 Java-based BDI Languages                                           Mobile Agents
                   Jack (commercial), Jadex                                            CLAIM3
1 mainly interesting from a historical point of view
2 from a conceptual point of view, we identify AgentSpeak(L) and Jason
3 without practical reasoning rules
4 another example not discussed here is AgentScape (Brazier et al.)

                            Koen Hindriks, João Leite
                                 K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                          EASSS12
Some Architectural
 Considerations




  Koen Hindriks, João Leite   PL-MAS Tutorial – EASSS12
GOAL Architecture

                                 Agent

                               Beliefs
percept       Process                            Action           action
              percepts                           Rules
                                Goals




                     Environment
                    Real or simulated
                     world of events



          Koen Hindriks, João Leite
               K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                        EASSS12
Interpreters: GOAL
     Process
     percepts
(= apply percept rules)
                                   Also called
                                   deliberation cycles.
  Select action
 (= apply action rules)
                                   GOAL’s cycle is a classic
                                   sense-plan-act cycle.
 Perform action
(= send to environment)




   Update
  mental state
(= apply action specs +
 commitment strategy)




    Koen Hindriks, João Leite
         K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                  EASSS12
Interpreter: 2APL




 Koen Hindriks, João Leite
      K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                               EASSS12
Under the Hood: Implementing AOP
  Example: GOAL Architecture




                   Plugins



        Koen Hindriks, João Leite
             K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                      EASSS12
2APL IDE: Introspector




   Koen Hindriks, João Leite
        K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                 EASSS12
2APL IDE: State Tracer




   Koen Hindriks, João Leite
        K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                 EASSS12
Research Themes



 A Personal Point of View




 Koen Hindriks, João Leite   PL-MAS Tutorial – EASSS12
Part 3: Short-term Future


                           A Research Agenda
Fundamental research questions:
• What kind of expressiveness* do we need in AOP? Or, what needs
  to be improved from your point of view? We need your feedback!
• Verification: Use e.g. temporal logic combined with belief and goal
  operators to prove agents “correct”. Model-checking agents, mas(!)

Short-term important research questions:
• Planning: Combining reactive, autonomous agents and planning.
• Learning: How can we effectively integrate e.g. reinforcement
  learning into AOP to optimize action selection?
• Debugging: Develop tools to effectively debug agents, mas(!).
  Raises surprising issues: Do we need agents that revise their plans?
• Organizing MAS: What are effective mas structures to organize
  communication, coordination, cooperation?
• Last but not least, (your?) applications!
* e.g. maintenance goals, preferences, norms, teams, ...
                                      Koen Hindriks, João Leite
                                           K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                                    EASSS12
Combining AOP and Planning
Combining the benefits of reactive, autonomous agents and planning algorithms


GOAL                                           Planning
• Knowledge                                    • Axioms

• Beliefs                                      • (Initial) state

• Goals                                        • Goal description

• Program Section                              • x

• Action Specification                         • Plan operators

Alternative KRT Plugin:
Restricted FOL, ADL, Plan Constraints (PDDL)
                   Koen Hindriks, João Leite
                        K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                 EASSS12
Part 3: Short-term Future


                       Applications
Need to apply the AOP to find out what works and what doesn’t




• Use APLs for Programming Robotics Platform



• Many other possible applications:
•   (Serious) Gaming (e.g. RPG, crisis management, …)
•   Agent-Based Simulation
•   The Web
•   add your own example here




                    Koen Hindriks, João Leite
                         K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                  EASSS12
References
•   2APL: http://www.cs.uu.nl/2apl/
•   ConGolog: http://www.cs.toronto.edu/cogrobo/main/systems/index.html
•   GOAL: http://mmi.tudelft.nl/~koen/goal
•   JACK: http://en.wikipedia.org/wiki/JACK_Intelligent_Agents
•   Jadex: http://jadex.informatik.uni-hamburg.de/bin/view/About/Overview
•   Jason: http://jason.sourceforge.net/JasonWebSite/Jason Home.php

• Multi-Agent Programming Languages, Platforms and Applications,
  Bordini, R.H.; Dastani, M.; Dix, J.; El Fallah Seghrouchni, A. (Eds.),
  2005
  introduces 2APL, CLAIM, Jadex, Jason
• Multi-Agent Programming: Languages, Tools and Applications
  Bordini, R.H.; Dastani, M.; Dix, J.; El Fallah Seghrouchni, A. (Eds.),
  2009
  introduces a.o.: Brahms, CArtAgO, GOAL, JIAC Agent Platform


                   Koen Hindriks, João Leite
                        K. Hindriks, J.        PL-MAS Tutorial – EASSS09
                                                                 EASSS12
!
!

 	 !!           !
#!!!
#! $!$

#$
%                                                 
                                                                                                    !
)(*(


                                                                       $!                !!
                	                                   
  




                                                                                                   !
                                                                                                   
                                                  (!!
                                                                                    *
                                                                                                   

	(%(	




                                                     (!!
                '!                          $ 
   '




                 !!        !
                              !)$!!                 !          !
                                                                              !!
'




                		
'
%
%
 	!                                  


 +	,!                             !
 (!!                                       /!
-!                                   -!
.
!
!
 .                                          #$
                    (()()
+#+,-,'
.	*	*
   0112
34.2+	!,
   0115
+4!6
34.27 !,
   0118	 !*+,+#!6 9
#	,
   0118+#
)$ !,
   011:5
+;*!,
   011=+!
)$ !,
   222+/$!;#)$;,
   222+;*!,
   222'-+!
!!	$,
   22!+/;$96 !	 !*,
   225!7+/!$9!
*!!,
   22=
+$5
,
4

! ?
.	*	*
   
34.2             	 !
!
   	 !*+,       

@'
                  ! !
   5
!!!$
                   ! !9!
!.9!
                   (!!
!
   '-               -9!+!$,
   !               	 !*A$!
   !7               (
A/('
-$
.$B
.	*	*
(



         	(%(	                         /(''#
#	+
!,'#!



  			                    -$.3
  2	 !*
                                                 
'!
5
@
!!7B


      /()0
                                             	!!
       C(!!
!D
!	



         		                                    (
    C	 D9!9                   C 7D9!9
!!
!
                     	!
!!$                              !(!
    (!!
!                              *!!!$
    4

                                9!9$$$
     !!!                          
                                                     
     	$$
                                                    3
    B
                                                    B
!	%	1
       

	


  !
#
$
#
%
*                                                         $
     .((()23*
(
)
42                       !$!
                                                                                   +7 
34.2
                               	 !*+,!0
,!

           
34.20                                                              
 




                                                       
                                 
           +
,                                                                 C D(

                                             5
$2'(
F5
A

                 
 3.',                                           $3
                   !*+!,!7                                             '-5
0
  !!! 


  ! $! 
	 !*+,!!
5
  $ !!!$
%
  !7! $	! +/!E!,
/',$#$
5665755
5
 G$!!

 $G*A9A!

 $!!$

  !	

 		'%)%
  H$!!!!$
  
$!
(%(		
 ;$!!@7 !
  !I
 
7! 
     '9
!6'!*!$9!
     '
9!$'!'.9
     'J9
9$$!'!*!
 K$
 
             9A!GL!
(%(	/(
!
                   
                     	
                       +G!      $,
!
                                                                               +G!   !$,
!
                                                                              +G
,
                                                      	


            	                                                            K !
                                                                                !!
                                                                              +G! ! A
                                                                               !,
(	*5		

8
9:*;


8
9((	;


 8
9 )	(;
=-	*	
                                               


 !
	
9M
-
9*!!$!$!!




       9*!9
!	
       9*!9
9*
%.(
-	?/@4




 
 9*C !D6

  $!9*
! !9*!9
!9*$9!9
$6
#)	%.(
-	
 $
*
  N /! !
N #$+$ !,
#)	%,
'
?A
B4
(




                                                     3*8

Weitere ähnliche Inhalte

Ähnlich wie T3 Agent oriented programming languages

Patton user modeling
Patton user modelingPatton user modeling
Patton user modelingidplay
 
A MDA Approach for Agent-oriented Development Using FAML
A MDA Approach for Agent-oriented Development Using FAMLA MDA Approach for Agent-oriented Development Using FAML
A MDA Approach for Agent-oriented Development Using FAMLCarlos Eduardo Pantoja
 
Critical Success Factors for Implementation of ERP Projects
Critical Success Factors for Implementation of ERP ProjectsCritical Success Factors for Implementation of ERP Projects
Critical Success Factors for Implementation of ERP ProjectsProf Parameshwar P Iyer
 
Rossett fallinloveagain w isd
Rossett fallinloveagain w isdRossett fallinloveagain w isd
Rossett fallinloveagain w isdAllison Rossett
 
BA World - BA in AGILE Projects
BA World - BA in AGILE ProjectsBA World - BA in AGILE Projects
BA World - BA in AGILE ProjectsMethodgroup
 
Agile adoption tales from the coalface
Agile adoption   tales  from the coalfaceAgile adoption   tales  from the coalface
Agile adoption tales from the coalfaceNish Mahanty
 
Four Steps to Creating an Effective Open Source Policy
Four Steps to Creating an Effective Open Source PolicyFour Steps to Creating an Effective Open Source Policy
Four Steps to Creating an Effective Open Source PolicyBlack Duck by Synopsys
 
VOC real world enterprise needs
VOC real world enterprise needsVOC real world enterprise needs
VOC real world enterprise needsIvan Berlocher
 
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source GeospatialThe OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source GeospatialArnulf Christl
 
Chapter7foundationsofplanningppt07 100224000005-phpapp01
Chapter7foundationsofplanningppt07 100224000005-phpapp01Chapter7foundationsofplanningppt07 100224000005-phpapp01
Chapter7foundationsofplanningppt07 100224000005-phpapp01sheetslibrary
 
Foundation of planing
Foundation of planingFoundation of planing
Foundation of planingSandeep Mahto
 
Principal of Programming Language
Principal of Programming Language Principal of Programming Language
Principal of Programming Language Satyendra Mohan
 
Project Management Workshop Overview
Project Management Workshop OverviewProject Management Workshop Overview
Project Management Workshop Overviewahmad bassiouny
 
Part 2 Essenial Budgeting
Part 2 Essenial BudgetingPart 2 Essenial Budgeting
Part 2 Essenial BudgetingIyad Attari
 
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009OSGeo - Spatially Empowered Open Source Software FOSS4G 2009
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009Arnulf Christl
 

Ähnlich wie T3 Agent oriented programming languages (20)

Patton user modeling
Patton user modelingPatton user modeling
Patton user modeling
 
A MDA Approach for Agent-oriented Development Using FAML
A MDA Approach for Agent-oriented Development Using FAMLA MDA Approach for Agent-oriented Development Using FAML
A MDA Approach for Agent-oriented Development Using FAML
 
Strategic planning
Strategic planningStrategic planning
Strategic planning
 
Critical Success Factors for Implementation of ERP Projects
Critical Success Factors for Implementation of ERP ProjectsCritical Success Factors for Implementation of ERP Projects
Critical Success Factors for Implementation of ERP Projects
 
Rossett fallinloveagain w isd
Rossett fallinloveagain w isdRossett fallinloveagain w isd
Rossett fallinloveagain w isd
 
manajemen
manajemenmanajemen
manajemen
 
BA World - BA in AGILE Projects
BA World - BA in AGILE ProjectsBA World - BA in AGILE Projects
BA World - BA in AGILE Projects
 
Kickingoff agile product team culture
Kickingoff agile product team cultureKickingoff agile product team culture
Kickingoff agile product team culture
 
Robbins9 ppt07
Robbins9 ppt07Robbins9 ppt07
Robbins9 ppt07
 
Ch07
Ch07Ch07
Ch07
 
Agile adoption tales from the coalface
Agile adoption   tales  from the coalfaceAgile adoption   tales  from the coalface
Agile adoption tales from the coalface
 
Four Steps to Creating an Effective Open Source Policy
Four Steps to Creating an Effective Open Source PolicyFour Steps to Creating an Effective Open Source Policy
Four Steps to Creating an Effective Open Source Policy
 
VOC real world enterprise needs
VOC real world enterprise needsVOC real world enterprise needs
VOC real world enterprise needs
 
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source GeospatialThe OSGeo Foundation: Professionally Leveraging Open Source Geospatial
The OSGeo Foundation: Professionally Leveraging Open Source Geospatial
 
Chapter7foundationsofplanningppt07 100224000005-phpapp01
Chapter7foundationsofplanningppt07 100224000005-phpapp01Chapter7foundationsofplanningppt07 100224000005-phpapp01
Chapter7foundationsofplanningppt07 100224000005-phpapp01
 
Foundation of planing
Foundation of planingFoundation of planing
Foundation of planing
 
Principal of Programming Language
Principal of Programming Language Principal of Programming Language
Principal of Programming Language
 
Project Management Workshop Overview
Project Management Workshop OverviewProject Management Workshop Overview
Project Management Workshop Overview
 
Part 2 Essenial Budgeting
Part 2 Essenial BudgetingPart 2 Essenial Budgeting
Part 2 Essenial Budgeting
 
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009OSGeo - Spatially Empowered Open Source Software FOSS4G 2009
OSGeo - Spatially Empowered Open Source Software FOSS4G 2009
 

Mehr von EASSS 2012

T7 Embodied conversational agents and affective computing
T7 Embodied conversational agents and affective computingT7 Embodied conversational agents and affective computing
T7 Embodied conversational agents and affective computingEASSS 2012
 
T14 Argumentation for agent societies
T14	Argumentation for agent societiesT14	Argumentation for agent societies
T14 Argumentation for agent societiesEASSS 2012
 
T12 Distributed search and constraint handling
T12	Distributed search and constraint handlingT12	Distributed search and constraint handling
T12 Distributed search and constraint handlingEASSS 2012
 
T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...EASSS 2012
 
T13 Agent coordination in planning and scheduling
T13	Agent coordination in planning and schedulingT13	Agent coordination in planning and scheduling
T13 Agent coordination in planning and schedulingEASSS 2012
 
T0. Multiagent Systems and Electronic Institutions
T0. Multiagent Systems and Electronic InstitutionsT0. Multiagent Systems and Electronic Institutions
T0. Multiagent Systems and Electronic InstitutionsEASSS 2012
 
T2. Organization and Environment oriented programming
T2. Organization and Environment oriented programmingT2. Organization and Environment oriented programming
T2. Organization and Environment oriented programmingEASSS 2012
 
T11. Normative multi-agent systems
T11. Normative multi-agent systemsT11. Normative multi-agent systems
T11. Normative multi-agent systemsEASSS 2012
 
T9. Trust and reputation in multi-agent systems
T9. Trust and reputation in multi-agent systemsT9. Trust and reputation in multi-agent systems
T9. Trust and reputation in multi-agent systemsEASSS 2012
 

Mehr von EASSS 2012 (9)

T7 Embodied conversational agents and affective computing
T7 Embodied conversational agents and affective computingT7 Embodied conversational agents and affective computing
T7 Embodied conversational agents and affective computing
 
T14 Argumentation for agent societies
T14	Argumentation for agent societiesT14	Argumentation for agent societies
T14 Argumentation for agent societies
 
T12 Distributed search and constraint handling
T12	Distributed search and constraint handlingT12	Distributed search and constraint handling
T12 Distributed search and constraint handling
 
T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...T4 Introduction to the modelling and verification of, and reasoning about mul...
T4 Introduction to the modelling and verification of, and reasoning about mul...
 
T13 Agent coordination in planning and scheduling
T13	Agent coordination in planning and schedulingT13	Agent coordination in planning and scheduling
T13 Agent coordination in planning and scheduling
 
T0. Multiagent Systems and Electronic Institutions
T0. Multiagent Systems and Electronic InstitutionsT0. Multiagent Systems and Electronic Institutions
T0. Multiagent Systems and Electronic Institutions
 
T2. Organization and Environment oriented programming
T2. Organization and Environment oriented programmingT2. Organization and Environment oriented programming
T2. Organization and Environment oriented programming
 
T11. Normative multi-agent systems
T11. Normative multi-agent systemsT11. Normative multi-agent systems
T11. Normative multi-agent systems
 
T9. Trust and reputation in multi-agent systems
T9. Trust and reputation in multi-agent systemsT9. Trust and reputation in multi-agent systems
T9. Trust and reputation in multi-agent systems
 

Kürzlich hochgeladen

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Kürzlich hochgeladen (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

T3 Agent oriented programming languages

  • 1. AOP
  • 2. Outline 1 AOP: Agent Oriented Programming About AOP Shortfalls Trends Jason Introduction to Jason Reasoning Cycle Main Language Constructs: Beliefs, Goals, and Plans Other Language Features Comparison With Other Paradigms The Jason Platform Perspectives: Some Past and Future Projects Conclusions
  • 4. AOP About AOP Jason Agent Oriented Programming Use of mentalistic notions and a societal view of computation [Shoham, 1993] Heavily influence by the BDI architecture and reactive planning systems Various language constructs for the sophisticated abstractions used in AOSE Agent: Belief, Goal, Intention, Plan Organisation: Group, Role, Norm, Interactions Environment: Artifacts, Percepts, Actions 4 / 68
  • 5. AOP About AOP Jason Agent Oriented Programming Features Reacting to events × long-term goals Course of actions depends on circumstance Plan failure (dynamic environments) Rational behaviour Social ability Combination of theoretical and practical reasoning 5 / 68
  • 6. AOP About AOP Jason Literature Books: [Bordini et al., 2005a], [Bordini et al., 2009] Proceedings: ProMAS, DALT, LADS, ... [Baldoni et al., 2010, Dastani et al., 2010, Hindriks et al., 2009, Baldoni et al., 2009, Dastani et al., 2008b, Baldoni et al., 2008, Dastani et al., 2008a, Bordini et al., 2007a, Baldoni and Endriss, 2006, Bordini et al., 2006b, Baldoni et al., 2006, Bordini et al., 2005b, Leite et al., 2005, Dastani et al., 2004, Leite et al., 2004] Surveys: [Bordini et al., 2006a], [Fisher et al., 2007] ... Languages of historical importance: Agent0 [Shoham, 1993], AgentSpeak(L) [Rao, 1996], MetateM [Fisher, 2005], 3APL [Hindriks et al., 1997], Golog [Giacomo et al., 2000] Other prominent languages: Jason [Bordini et al., 2007b], Jadex [Pokahr et al., 2005], 2APL [Dastani, 2008], GOAL [Hindriks, 2009], JACK [Winikoff, 2005] But many others languages and platforms... 6 / 68
  • 7. AOP About AOP Jason Some Languages and Platforms Jason (H¨bner, Bordini, ...); 3APL and 2APL (Dastani, van u Riemsdijk, Meyer, Hindriks, ...); Jadex (Braubach, Pokahr); MetateM (Fisher, Guidini, Hirsch, ...); ConGoLog (Lesperance, Levesque, ... / Boutilier – DTGolog); Teamcore/ MTDP (Milind Tambe, ...); IMPACT (Subrahmanian, Kraus, Dix, Eiter); CLAIM (Amal El Fallah-Seghrouchni, ...); GOAL (Hindriks); BRAHMS (Sierhuis, ...); SemantiCore (Blois, ...); STAPLE (Kumar, Cohen, Huber); Go! (Clark, McCabe); Bach (John Lloyd, ...); MINERVA (Leite, ...); SOCS (Torroni, Stathis, Toni, ...); FLUX (Thielscher); JIAC (Hirsch, ...); JADE (Agostino Poggi, ...); JACK (AOS); Agentis (Agentis Software); Jackdaw (Calico Jack); ... 7 / 68
  • 8. AOP About AOP Jason The State of Multi-Agent Programming Already the right way to implement MAS is to use an AOSE Methodology (Prometheus, Gaia, Tropos, ...) and an MAS Programming Language! Many agent languages have efficient and stable interpreters — used extensively in teaching All have some programming tools (IDE, tracing of agents’ mental attitudes, tracing of messages exchanged, etc.) Finally integrating with social aspects of MAS Growing user base 8 / 68
  • 9. AOP About AOP Jason Some Shortfalls IDEs and programming tools are still not anywhere near the level of OO languages Debugging is a serious issue — much more than “mind tracing” is needed Combination with organisational models is very recent — much work still needed Principles for using declarative goals in practical programming problems still not “textbook” Large applications and real-world experience much needed! 9 / 68
  • 10. AOP About AOP Jason Some Trends I Modularity and encapsulation Debugging MAS is hard: problems of concurrency, simulated environments, emergent behaviour, mental attitudes Logics for Agent Programming languages Further work on combining with interaction, environments, and organisations We need to put everything together: rational agents, environments, organisations, normative systems, reputation systems, economically inspired techniques, etc. Multi-Agent Programming 10 / 68
  • 11. AOP About AOP Jason Research on Multi-Agent Systems... — Whatever you do in MAS, make it available in a programming language/platform for MAS!!! — 11 / 68
  • 12. Jason
  • 13. AOP About AOP Jason AgentSpeak The foundational language for Jason Originally proposed by Rao [Rao, 1996] Programming language for BDI agents Elegant notation, based on logic programming Inspired by PRS (Georgeff Lansky), dMARS (Kinny), and BDI Logics (Rao Georgeff) Abstract programming language aimed at theoretical results 13 / 68
  • 14. AOP About AOP Jason Jason A practical implementation of a variant of AgentSpeak Jason implements the operational semantics of a variant of AgentSpeak Has various extensions aimed at a more practical programming language (e.g. definition of the MAS, communication, ...) Highly customised to simplify extension and experimentation Developed by Jomi F. Hbner and Rafael H. Bordini 14 / 68
  • 15. AOP About AOP Jason Main Language Constructs and Runtime Structures Beliefs: represent the information available to an agent (e.g. about the environment or other agents) Goals: represent states of affairs the agent wants to bring about Plans: are recipes for action, representing the agent’s know-how Events: happen as consequence to changes in the agent’s beliefs or goals Intentions: plans instantiated to achieve some goal 15 / 68
  • 16. AOP About AOP Jason Main Architectural Components Belief base: where beliefs are stored Set of events: to keep track of events the agent will have to handle Plan library: stores all the plans currently known by the agent Set of Intentions: each intention keeps track of the goals the agent is committed to and the courses of action it chose in order to achieve the goals for one of various foci of attention the agent might have 16 / 68
  • 17. AOP About AOP Jason Jason Interpreter Basic Reasoning cycle perceive the environment and update belief base process new messages select event select relevant plans select applicable plans create/update intention select intention to execute 17 / 68
  • 18. AOP About AOP Jason Jason Rreasoning Cycle Belief Agent Beliefs Base 5 1 2 Events Percepts Percepts SE Plan perceive BUF BRF Library External External Selected Events Events Events Beliefs Event 4 7 Relevant 6 Beliefs to Internal Check Plans Unify SocAcc Add and Events Plans Delete Context Event Applicable Beliefs Plans 3 Messages Messages 8 9 Selected 10 checkMail SM Intended Intention Execute Action Actions SO SI act Means Intention .send Intentions Push New Messages Suspended Intentions Intentions Intention sendMsg (Actions and Msgs) New Plan ... New New ... Updated Intention 18 / 68
  • 19. AOP About AOP Jason Beliefs — Representation Syntax Beliefs are represented by annotated literals of first order logic functor(term1 , ..., termn )[annot1 , ..., annotm ] Example (belief base of agent Tom) red(box1)[source(percept)]. friend(bob,alice)[source(bob)]. lier(alice)[source(self),source(bob)]. ˜lier(bob)[source(self)]. 19 / 68
  • 20. AOP About AOP Jason Beliefs — Dynamics I by perception beliefs annotated with source(percept) are automatically updated accordingly to the perception of the agent by intention the plan operators + and - can be used to add and remove beliefs annotated with source(self) (mental notes) +lier(alice); // adds lier(alice)[source(self)] -lier(john); // removes lier(john)[source(self)] 20 / 68
  • 21. AOP About AOP Jason Beliefs — Dynamics II by communication when an agent receives a tell message, the content is a new belief annotated with the sender of the message .send(tom,tell,lier(alice)); // sent by bob // adds lier(alice)[source(bob)] in Tom’s BB ... .send(tom,untell,lier(alice)); // sent by bob // removes lier(alice)[source(bob)] from Tom’s BB 21 / 68
  • 22. AOP About AOP Jason Goals — Representation Types of goals Achievement goal: goal to do Test goal: goal to know Syntax Goals have the same syntax as beliefs, but are prefixed by ! (achievement goal) or ? (test goal) Example (Initial goal of agent Tom) !write(book). 22 / 68
  • 23. AOP About AOP Jason Goals — Dynamics I by intention the plan operators ! and ? can be used to add a new goal annotated with source(self) ... // adds new achievement goal !write(book)[source(self)] !write(book); // adds new test goal ?publisher(P)[source(self)] ?publisher(P); ... 23 / 68
  • 24. AOP About AOP Jason Goals — Dynamics II by communication – achievement goal when an agent receives an achieve message, the content is a new achievement goal annotated with the sender of the message .send(tom,achieve,write(book)); // sent by Bob // adds new goal write(book)[source(bob)] for Tom ... .send(tom,unachieve,write(book)); // sent by Bob // removes goal write(book)[source(bob)] for Tom 24 / 68
  • 25. AOP About AOP Jason Goals — Dynamics III by communication – test goal when an agent receives an askOne or askAll message, the content is a new test goal annotated with the sender of the message .send(tom,askOne,published(P),Answer); // sent by Bob // adds new goal ?publisher(P)[source(bob)] for Tom // the response of Tom will unify with Answer 25 / 68
  • 26. AOP About AOP Jason Triggering Events — Representation Events happen as consequence to changes in the agent’s beliefs or goals An agent reacts to events by executing plans Types of plan triggering events +b (belief addition) -b (belief deletion) +!g (achievement-goal addition) -!g (achievement-goal deletion) +?g (test-goal addition) -?g (test-goal deletion) 26 / 68
  • 27. AOP About AOP Jason Plans — Representation An AgentSpeak plan has the following general structure: triggering event : context ¡- body. where: the triggering event denotes the events that the plan is meant to handle the context represent the circumstances in which the plan can be used the body is the course of action to be used to handle the event if the context is believed true at the time a plan is being chosen to handle the event 27 / 68
  • 28. AOP About AOP Jason Plans — Operators for Plan Context Boolean operators Arithmetic operators (and) + (sum) | (or) - (subtraction) not (not) * (multiply) = (unification) / (divide) , = (relational) div (divide – integer) , = (relational) mod (remainder) == (equals) ** (power) == (different) 28 / 68
  • 29. AOP About AOP Jason Plans — Operators for Plan Body A plan body may contain: Belief operators (+, -, -+) Goal operators (!, ?, !!) Actions (internal/external) and Constraints Example (plan body) +rain : time to leave(T) clock.now(H) H ¿= T ¡- !g1; // new sub-goal !!g2; // new goal ?b(X); // new test goal +b1(T-H); // add mental note -b2(T-H); // remove mental note -+b3(T*H); // update mental note jia.get(X); // internal action X ¿ 10; // constraint to carry on close(door).// external action 29 / 68
  • 30. AOP About AOP Jason Plans — Example +green patch(Rock)[source(percept)] : not battery charge(low) ¡- ?location(Rock,Coordinates); !at(Coordinates); !examine(Rock). +!at(Coords) : not at(Coords) safe path(Coords) ¡- move towards(Coords); !at(Coords). +!at(Coords) : not at(Coords) not safe path(Coords) ¡- ... +!at(Coords) : at(Coords). 30 / 68
  • 31. AOP About AOP Jason Plans — Dynamics The plans that form the plan library of the agent come from initial plans defined by the programmer plans added dynamically and intentionally by .add plan .remove plan plans received from tellHow messages untellHow 31 / 68
  • 32. AOP About AOP Jason Strong Negation Example +!leave(home) : ˜raining ¡- open(curtains); ... +!leave(home) : not raining not ˜raining ¡- .send(mum,askOne,raining,Answer,3000); ... 32 / 68
  • 33. AOP About AOP Jason Prolog-like Rules in the Belief Base Example likely color(Obj,C) :- colour(Obj,C)[degOfCert(D1)] not (colour(Obj, )[degOfCert(D2)] D2 ¿ D1) not ˜colour(C,B). 33 / 68
  • 34. AOP About AOP Jason Plan Annotations Like beliefs, plans can also have annotations, which go in the plan label Annotations contain meta-level information for the plan, which selection functions can take into consideration The annotations in an intended plan instance can be changed dynamically (e.g. to change intention priorities) There are some pre-defined plan annotations, e.g. to force a breakpoint at that plan or to make the whole plan execute atomically Example (an annotated plan) @myPlan[chance of success(0.3), usual payoff(0.9), any other property] +!g(X) : c(t) ¡- a(X). 34 / 68
  • 35. AOP About AOP Jason Failure Handling: Contingency Plans Example (an agent blindly committed to g) +!g : g. +!g : ... ¡- ... ?g. -!g : true ¡- !g. 35 / 68
  • 36. AOP About AOP Jason “Higher-Order” Variables Example (an agent that asks for plans on demand) -!G[error(no relevant)] : teacher(T) ¡- .send(T, askHow, { +!G }, Plans); .add plan(Plans); !G. in the event of a failure to achieve any goal G due to no relevant plan, asks a teacher for plans to achieve G and then try G again The failure event is annotated with the error type, line, source, ... error(no relevant) means no plan in the agent’s plan library to achieve G { +!G } is the syntax to enclose triggers/plans as terms 36 / 68
  • 37. AOP About AOP Jason Internal Actions Unlike actions, internal actions do not change the environment Code to be executed as part of the agent reasoning cycle AgentSpeak is meant as a high-level language for the agent’s practical reasoning and internal actions can be used for invoking legacy code elegantly Internal actions can be defined by the user in Java libname.action name(. . .) 37 / 68
  • 38. AOP About AOP Jason Standard Internal Actions Standard (pre-defined) internal actions have an empty library name .print(term1 , term2 , . . .) .union(list1 , list2 , list3 ) .my name(var ) .send(ag,perf ,literal) .intend(literal) .drop intention(literal) Many others available for: printing, sorting, list/string operations, manipulating the beliefs/annotations/plan library, creating agents, waiting/generating events, etc. 38 / 68
  • 39. AOP About AOP Jason Jason × Java I Consider a very simple robot with two goals: when a piece of gold is seen, go to it when battery is low, go charge it 39 / 68
  • 40. AOP About AOP Jason Jason × Java II Example (Java code – go to gold) public class Robot extends Thread { boolean seeGold, lowBattery; public void run() { while (true) { while (! seeGold) { } while (seeGold) { a = selectDirection(); doAction(go(a)); } } } } (how to code the charge battery behaviour?) 40 / 68
  • 41. AOP About AOP Jason Jason × Java III Example (Java code – charge battery) public class Robot extends Thread { boolean seeGold, lowBattery; public void run() { while (true) { while (! seeGold) if (lowBattery) charge(); while (seeGold) { a = selectDirection (); if (lowBattery) charge(); doAction(go(a)); if (lowBattery) charge(); } } } } (note where the tests for low battery have to be done) 41 / 68
  • 42. AOP About AOP Jason Jason × Java IV Example (Jason code) +see(gold) ¡- !goto(gold). +!goto(gold) :see(gold) // long term goal ¡- !select direction(A); go(A); !goto(gold). +battery(low) // reactivity ¡- !charge. ˆ!charge[state(started)] // goal meta-events ¡- .suspend(goto(gold)). ˆ!charge[state(finished)] ¡- .resume(goto(gold)). 42 / 68
  • 43. AOP About AOP Jason Jason × Prolog With the Jason extensions, nice separation of theoretical and practical reasoning BDI architecture allows long-term goals (goal-based behaviour) reacting to changes in a dynamic environment handling multiple foci of attention (concurrency) Acting on an environment and a higher-level conception of a distributed system 43 / 68
  • 44. AOP About AOP Jason Communication Infrastructure Various communication and execution management infrastructures can be used with Jason: Centralised: all agents in the same machine, one thread by agent, very fast Centralised (pool): all agents in the same machine, fixed number of thread, allows thousands of agents Jade: distributed agents, FIPA-ACL Saci: distributed agents, KQML ... others defined by the user (e.g. AgentScape) 44 / 68
  • 45. AOP About AOP Jason Definition of a Simulated Environment There will normally be an environment where the agents are situated The agent architecture needs to be customised to get perceptions and act on such environment We often want a simulated environment (e.g. to test an MAS application) This is done in Java by extending Jason’s Environment class 45 / 68
  • 46. AOP About AOP Jason Interaction with the Environment Simulator Environment Agent Reasoner Simulator Architecture perceive getPercepts act executeAction change percepts 46 / 68
  • 47. AOP About AOP Jason Example of an Environment Class 1 import jason.*; 2 import ...; 3 public class robotEnv extends Environment { 4 ... 5 public robotEnv() { 6 Literal gp = 7 Literal.parseLiteral(”green˙patch(souffle)”); 8 addPercept(gp); 9 } 10 11 public boolean executeAction(String ag, Structure action) { 12 if (action.equals(...)) { 13 addPercept(ag, 14 Literal.parseLiteral(”location(souffle,c(3,4))”); 15 } 16 ... 17 return true; 18 } } 47 / 68
  • 48. AOP About AOP Jason MAS Configuration Language I Simple way of defining a multi-agent system Example (MAS that uses JADE as infrastructure) MAS my˙system – infrastructure: Jade environment: robotEnv agents: c3po; r2d2 at jason.sourceforge.net; bob #10; // 10 instances of bob classpath: ”../lib/graph.jar”; ˝ 48 / 68
  • 49. AOP About AOP Jason MAS Configuration Language II Configuration of event handling, frequency of perception, user-defined settings, customisations, etc. Example (MAS with customised agent) MAS custom – agents: bob [verbose=2,paramters=”sys.properties”] agentClass MyAg agentArchClass MyAgArch beliefBaseClass jason.bb.JDBCPersistentBB( ”org.hsqldb.jdbcDriver”, ”jdbc:hsqldb:bookstore”, ... ˝ 49 / 68
  • 50. AOP About AOP Jason MAS Configuration Language III Example (CArtAgO Environment) MAS grid˙world – environment: alice.c4jason.CEnv agents: cleanerAg agentArchClass alice.c4jason.CogAgentArch #3; ˝ 50 / 68
  • 51. AOP About AOP Jason Jason Customisations Agent class customisation: selectMessage, selectEvent, selectOption, selectIntetion, buf, brf, ... Agent architecture customisation: perceive, act, sendMsg, checkMail, ... Belief base customisation: add, remove, contains, ... Example available with Jason: persistent belief base (in text files, in data bases, ...) 51 / 68
  • 52. AOP About AOP Jason jEdit Plugin 52 / 68
  • 53. AOP About AOP Jason Eclipse Plugin 53 / 68
  • 54. AOP About AOP Jason Mind Inspector 54 / 68
  • 55. AOP About AOP Jason Some Related Projects I Speech-act based communication ´ Joint work with Renata Vieira, Alvaro Moreira, and Mike Wooldridge Cooperative plan exchange Joint work with Viviana Mascardi, Davide Ancona Plan Patterns for Declarative Goals Joint work with M.Wooldridge Planning (Felipe Meneguzzi and Colleagues) Web and Mobile Applications (Alessandro Ricci and Colleagues) Belief Revision Joint work with Natasha Alechina, Brian Logan, Mark Jago 55 / 68
  • 56. AOP About AOP Jason Some Related Projects II Ontological Reasoning ´ Joint work with Renata Vieira, Alvaro Moreira JASDL: joint work with Tom Klapiscak Goal-Plan Tree Problem (Thangarajah et al.) Joint work with Tricia Shaw Trust reasoning (ForTrust project) Agent verification and model checking Joint project with M.Fisher, M.Wooldridge, W.Visser, L.Dennis, B.Farwer 56 / 68
  • 57. AOP About AOP Jason Some Related Projects III Environments, Organisation and Norms Normative environments Join work with A.C.Rocha Costa and F.Okuyama MADeM integration (Francisco Grimaldo Moreno) Normative integration (Felipe Meneguzzi) CArtAgO integration Moise integration More on jason.sourceforge.net, related projects 57 / 68
  • 58. AOP About AOP Jason Some Trends for Jason I Modularity and encapsulation Capabilities (JACK, Jadex, ...) Roles (Dastani et al.) Mini-agents (?) Recently done: meta-events To appear soon: annotations for declarative goals, improvement in plan failure handling, etc. Debugging is hard, despite mind inspector, etc. Further work on combining with environments and organisations 58 / 68
  • 59. AOP About AOP Jason Summary AgentSpeak Logic + BDI Agent programming language Jason AgentSpeak interpreter Implements the operational semantics of AgentSpeak Speech-act based communicaiton Highly customisable Useful tools Open source Open issues 59 / 68
  • 60. AOP About AOP Jason Acknowledgements Many thanks to the Various colleagues acknowledged/referenced throughout these slides Jason users for helpful feedback CNPq for supporting some of our current researh 60 / 68
  • 61. AOP About AOP Jason Further Resources http://jason.sourceforge.net R.H. Bordini, J.F. H¨bner, and u M. Wooldrige Programming Multi-Agent Systems in AgentSpeak using Jason John Wiley Sons, 2007. 61 / 68
  • 62. AOP About AOP Jason Bibliography I Baldoni, M., Bentahar, J., van Riemsdijk, M. B., and Lloyd, J., editors (2010). Declarative Agent Languages and Technologies VII, 7th International Workshop, DALT 2009, Budapest, Hungary, May 11, 2009. Revised Selected and Invited Papers, volume 5948 of Lecture Notes in Computer Science. Springer. Baldoni, M. and Endriss, U., editors (2006). Declarative Agent Languages and Technologies IV, 4th International Workshop, DALT 2006, Hakodate, Japan, May 8, 2006, Selected, Revised and Invited Papers, volume 4327 of Lecture Notes in Computer Science. Springer. Baldoni, M., Endriss, U., Omicini, A., and Torroni, P., editors (2006). Declarative Agent Languages and Technologies III, Third International Workshop, DALT 2005, Utrecht, The Netherlands, July 25, 2005, Selected and Revised Papers, volume 3904 of Lecture Notes in Computer Science. Springer. Baldoni, M., Son, T. C., van Riemsdijk, M. B., and Winikoff, M., editors (2008). Declarative Agent Languages and Technologies V, 5th International Workshop, DALT 2007, Honolulu, HI, USA, May 14, 2007, Revised Selected and Invited Papers, volume 4897 of Lecture Notes in Computer Science. Springer. 62 / 68
  • 63. AOP About AOP Jason Bibliography II Baldoni, M., Son, T. C., van Riemsdijk, M. B., and Winikoff, M., editors (2009). Declarative Agent Languages and Technologies VI, 6th International Workshop, DALT 2008, Estoril, Portugal, May 12, 2008, Revised Selected and Invited Papers, volume 5397 of Lecture Notes in Computer Science. Springer. Bordini, R. H., Braubach, L., Dastani, M., Fallah-Seghrouchni, A. E., G´mez-Sanz, J. J., Leite, J., O’Hare, G. M. P., Pokahr, A., and Ricci, A. o (2006a). A survey of programming languages and platforms for multi-agent systems. Informatica (Slovenia), 30(1):33–44. Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2005a). Multi-Agent Programming: Languages, Platforms and Applications, volume 15 of Multiagent Systems, Artificial Societies, and Simulated Organizations. Springer. 63 / 68
  • 64. AOP About AOP Jason Bibliography III Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2005b). Programming Multi-Agent Systems, Second International Workshop ProMAS 2004, New York, NY, USA, July 20, 2004 Selected Revised and Invited Papers, volume 3346 of Lecture Notes in Computer Science. Springer. Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2006b). Programming Multi-Agent Systems, Third International Workshop, ProMAS 2005, Utrecht, The Netherlands, July 26, 2005, Revised and Invited Papers, volume 3862 of Lecture Notes in Computer Science. Springer. Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2007a). Programming Multi-Agent Systems, 4th International Workshop, ProMAS 2006, Hakodate, Japan, May 9, 2006, Revised and Invited Papers, volume 4411 of Lecture Notes in Computer Science. Springer. Bordini, R. H., Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2009). Multi-Agent Programming: Languages, Tools and Applications. Springer. 64 / 68
  • 65. AOP About AOP Jason Bibliography IV Bordini, R. H., H¨bner, J. F., and Wooldridge, M. (2007b). u Programming Multi-Agent Systems in AgentSpeak Using Jason. Wiley Series in Agent Technology. John Wiley Sons. Dastani, M. (2008). 2apl: a practical agent programming language. Autonomous Agents and Multi-Agent Systems, 16(3):214–248. Dastani, M., Dix, J., and Fallah-Seghrouchni, A. E., editors (2004). Programming Multi-Agent Systems, First International Workshop, PROMAS 2003, Melbourne, Australia, July 15, 2003, Selected Revised and Invited Papers, volume 3067 of Lecture Notes in Computer Science. Springer. Dastani, M., Fallah-Seghrouchni, A. E., Leite, J., and Torroni, P., editors (2008a). Languages, Methodologies and Development Tools for Multi-Agent Systems, First International Workshop, LADS 2007, Durham, UK, September 4-6, 2007. Revised Selected Papers, volume 5118 of Lecture Notes in Computer Science. Springer. 65 / 68
  • 66. AOP About AOP Jason Bibliography V Dastani, M., Fallah-Seghrouchni, A. E., Leite, J., and Torroni, P., editors (2010). Languages, Methodologies, and Development Tools for Multi-Agent Systems, Second International Workshop, LADS 2009, Torino, Italy, September 7-9, 2009, Revised Selected Papers, volume 6039 of Lecture Notes in Computer Science. Springer. Dastani, M., Fallah-Seghrouchni, A. E., Ricci, A., and Winikoff, M., editors (2008b). Programming Multi-Agent Systems, 5th International Workshop, ProMAS 2007, Honolulu, HI, USA, May 15, 2007, Revised and Invited Papers, volume 4908 of Lecture Notes in Computer Science. Springer. Fisher, M. (2005). Metatem: The story so far. In [Bordini et al., 2006b], pages 3–22. Fisher, M., Bordini, R. H., Hirsch, B., and Torroni, P. (2007). Computational logics and agents: A road map of current technologies and future trends. Computational Intelligence, 23(1):61–91. 66 / 68
  • 67. AOP About AOP Jason Bibliography VI Giacomo, G. D., Lesp´rance, Y., and Levesque, H. J. (2000). e Congolog, a concurrent programming language based on the situation calculus. Artif. Intell., 121(1-2):109–169. Hindriks, K. V. (2009). Programming rational agents in GOAL. In [Bordini et al., 2009], pages 119–157. Hindriks, K. V., de Boer, F. S., van der Hoek, W., and Meyer, J.-J. C. (1997). Formal semantics for an abstract agent programming language. In Singh, M. P., Rao, A. S., and Wooldridge, M., editors, ATAL, volume 1365 of Lecture Notes in Computer Science, pages 215–229. Springer. Hindriks, K. V., Pokahr, A., and Sardi˜a, S., editors (2009). n Programming Multi-Agent Systems, 6th International Workshop, ProMAS 2008, Estoril, Portugal, May 13, 2008. Revised Invited and Selected Papers, volume 5442 of Lecture Notes in Computer Science. Springer. Leite, J. A., Omicini, A., Sterling, L., and Torroni, P., editors (2004). Declarative Agent Languages and Technologies, First International Workshop, DALT 2003, Melbourne, Australia, July 15, 2003, Revised Selected and Invited Papers, volume 2990 of Lecture Notes in Computer Science. Springer. 67 / 68
  • 68. AOP About AOP Jason Bibliography VII Leite, J. A., Omicini, A., Torroni, P., and Yolum, P., editors (2005). Declarative Agent Languages and Technologies II, Second International Workshop, DALT 2004, New York, NY, USA, July 19, 2004, Revised Selected Papers, volume 3476 of Lecture Notes in Computer Science. Springer. Pokahr, A., Braubach, L., and Lamersdorf, W. (2005). Jadex: A bdi reasoning engine. In [Bordini et al., 2005a], pages 149–174. Rao, A. S. (1996). Agentspeak(l): Bdi agents speak out in a logical computable language. In de Velde, W. V. and Perram, J. W., editors, MAAMAW, volume 1038 of Lecture Notes in Computer Science, pages 42–55. Springer. Shoham, Y. (1993). Agent-oriented programming. Artif. Intell., 60(1):51–92. Winikoff, M. (2005). Jack intelligent agents: An industrial strength platform. In [Bordini et al., 2005a], pages 175–193. 68 / 68
  • 69. Overview Other APLs Architectural Considerations Koen Hindriks, João Leite PL-MAS Tutorial – EASSS12
  • 70. Overview • Overview of APL landscape • Some Architectural Considerations • Research Themes • References Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 71. Agent Programming Languages: An Overview Koen Hindriks, João Leite PL-MAS Tutorial – EASSS12
  • 72. A Brief History of AOP • 1990: AGENT-0 (Shoham) • 1993: PLACA (Thomas; AGENT-0 extension with plans) • 1996: AgentSpeak(L) (Rao; inspired by PRS) • 1996: Golog (Reiter, Levesque, Lesperance) • 1997: 3APL (Hindriks et al.) • 1998: ConGolog (Giacomo, Levesque, Lesperance) • 2000: JACK (Busetta, Howden, Ronnquist, Hodgson) • 2000: GOAL (Hindriks et al.) • 2000: CLAIM (Amal El FallahSeghrouchni) • 2002: Jason (Bordini, Hubner; implementation of AgentSpeak) • 2003: Jadex (Braubach, Pokahr, Lamersdorf) • 2008: 2APL (successor of 3APL) This overview is far from complete! Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 73. A Brief History of AOP • AGENT-0 Speech acts • PLACA Plans • AgentSpeak(L) Events/Intentions • Golog Action theories, logical specification • 3APL Practical reasoning rules • JACK Capabilities, Java-based • GOAL Declarative goals • CLAIM Mobile agents (within agent community) • Jason AgentSpeak + Communication • Jadex JADE + BDI • 2APL Modules, PG-rules, … Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 74. A Brief History of AOP Agent Programming Languages and Agent Logics have not (yet) converged to a uniform conception of (rational) agents. Agent Programming Agent Logics Architectures BDI, Intention Logic, KARO PRS (Planning) , InterRap Agent-Oriented Programming Multi-Agent Logics, Norms, Agent0, AgentSpeak, ConGolog, Collective Intentionality 3APL/2APL, Jason, Jadex, JACK, … Conceptual extension CASL, Games and Knowledge “Declarative Goals” Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 75. Part 1: BDI Agents and AOP Agent Features Many diverse and different features have been proposed, but the unifying theme still is the BDI view of agents. Agent Programming Agent Logics • “Simple” beliefs and belief • “Complex” beliefs and belief revision revision • Planning and Plan revision • Commitment Strategies e.g. Plan failure • Goal Dynamics • Declarative Goals • Look ahead features • Triggers, Events e.g. beliefs about the future, e.g. maintenance goals strong commitment • Control Structures preconditions • … • Norms • … Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 76. How are these APLs related? A comparison from a high-level, conceptual point, not taking into account any practical aspects (IDE, available docs, speed, applications, etc) Family of Languages Multi-Agent Systems Basic concepts: beliefs, action, plans, goals-to-do): All of these languages (except AGENT-0, AgentSpeak(L), Jason1 PLACA, JACK) have AGENT-01 versions implemented (PLACA ) “on top of” JADE. Golog 3APL2 Main addition: Declarative goals 2APL 3APL + GOAL Java-based BDI Languages Mobile Agents Jack (commercial), Jadex CLAIM3 1 mainly interesting from a historical point of view 2 from a conceptual point of view, we identify AgentSpeak(L) and Jason 3 without practical reasoning rules 4 another example not discussed here is AgentScape (Brazier et al.) Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 77. Some Architectural Considerations Koen Hindriks, João Leite PL-MAS Tutorial – EASSS12
  • 78. GOAL Architecture Agent Beliefs percept Process Action action percepts Rules Goals Environment Real or simulated world of events Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 79. Interpreters: GOAL Process percepts (= apply percept rules) Also called deliberation cycles. Select action (= apply action rules) GOAL’s cycle is a classic sense-plan-act cycle. Perform action (= send to environment) Update mental state (= apply action specs + commitment strategy) Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 80. Interpreter: 2APL Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 81. Under the Hood: Implementing AOP Example: GOAL Architecture Plugins Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 82. 2APL IDE: Introspector Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 83. 2APL IDE: State Tracer Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 84. Research Themes A Personal Point of View Koen Hindriks, João Leite PL-MAS Tutorial – EASSS12
  • 85. Part 3: Short-term Future A Research Agenda Fundamental research questions: • What kind of expressiveness* do we need in AOP? Or, what needs to be improved from your point of view? We need your feedback! • Verification: Use e.g. temporal logic combined with belief and goal operators to prove agents “correct”. Model-checking agents, mas(!) Short-term important research questions: • Planning: Combining reactive, autonomous agents and planning. • Learning: How can we effectively integrate e.g. reinforcement learning into AOP to optimize action selection? • Debugging: Develop tools to effectively debug agents, mas(!). Raises surprising issues: Do we need agents that revise their plans? • Organizing MAS: What are effective mas structures to organize communication, coordination, cooperation? • Last but not least, (your?) applications! * e.g. maintenance goals, preferences, norms, teams, ... Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 86. Combining AOP and Planning Combining the benefits of reactive, autonomous agents and planning algorithms GOAL Planning • Knowledge • Axioms • Beliefs • (Initial) state • Goals • Goal description • Program Section • x • Action Specification • Plan operators Alternative KRT Plugin: Restricted FOL, ADL, Plan Constraints (PDDL) Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 87. Part 3: Short-term Future Applications Need to apply the AOP to find out what works and what doesn’t • Use APLs for Programming Robotics Platform • Many other possible applications: • (Serious) Gaming (e.g. RPG, crisis management, …) • Agent-Based Simulation • The Web • add your own example here Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 88. References • 2APL: http://www.cs.uu.nl/2apl/ • ConGolog: http://www.cs.toronto.edu/cogrobo/main/systems/index.html • GOAL: http://mmi.tudelft.nl/~koen/goal • JACK: http://en.wikipedia.org/wiki/JACK_Intelligent_Agents • Jadex: http://jadex.informatik.uni-hamburg.de/bin/view/About/Overview • Jason: http://jason.sourceforge.net/JasonWebSite/Jason Home.php • Multi-Agent Programming Languages, Platforms and Applications, Bordini, R.H.; Dastani, M.; Dix, J.; El Fallah Seghrouchni, A. (Eds.), 2005 introduces 2APL, CLAIM, Jadex, Jason • Multi-Agent Programming: Languages, Tools and Applications Bordini, R.H.; Dastani, M.; Dix, J.; El Fallah Seghrouchni, A. (Eds.), 2009 introduces a.o.: Brahms, CArtAgO, GOAL, JIAC Agent Platform Koen Hindriks, João Leite K. Hindriks, J. PL-MAS Tutorial – EASSS09 EASSS12
  • 89. !
  • 90. ! !! !
  • 91. #!!!
  • 93. % ! )(*( $! !! ! (!! * (%( (!! '! $ ' !! ! !)$!! ! ! !!
  • 94. ' '
  • 95. %
  • 96. % ! + ,! ! (!! /!
  • 97. -! -!
  • 98. .
  • 99. !
  • 100. ! . #$ (()()
  • 102. . * * 0112 34.2+ !, 0115
  • 103. +4!6 34.27 !, 0118 !*+,+#!6 9
  • 104. # , 0118+# )$ !, 011:5
  • 105. +;*!, 011=+! )$ !, 222+/$!;#)$;, 222+;*!, 222'-+! !! $, 22!+/;$96 ! !*, 225!7+/!$9!
  • 106. *!!, 22=
  • 107. +$5
  • 109. . * * 34.2 !
  • 110. ! !*+, @' ! ! 5
  • 111. !!!$ ! !9! !.9! (!! ! '- -9!+!$, ! !*A$! !7 ( A/('
  • 112. -$
  • 113. .$B
  • 114. . * *
  • 115. ( (%( /(''#
  • 116. # +
  • 117. !,'#! -$.3 2 !* '! 5
  • 118. @
  • 119. !!7B /()0 !! C(!! !D
  • 120. ! ( C D9!9 C 7D9!9
  • 121. !!
  • 122. ! !
  • 123. !!$ !(! (!! ! *!!!$ 4 9!9$$$ !!! $$ 3 B B
  • 124. ! % 1 !
  • 125. #
  • 126.
  • 127. $
  • 128. #
  • 129. %
  • 130. * $ .((()23*
  • 131. (
  • 132. )
  • 133. 42 !$! +7 34.2 !*+,!0
  • 134. ,! 34.20 +
  • 135. , C D( 5
  • 136. $2'(
  • 137. F5
  • 138. A 3.', $3 !*+!,!7 '-5 0 !!! ! $! !*+,!! 5 $ !!!$ % !7! $ ! +/!E!,
  • 140. 5 G$!! $G*A9A! $!!$ ! '%)% H$!!!!$ $!
  • 141. (%( ;$!!@7 ! !I 7! '9 !6'!*!$9! ' 9!$'!'.9 'J9 9$$!'!*! K$ 9A!GL!
  • 142. (%( /(
  • 143. ! +G! $,
  • 144.
  • 145. ! +G! !$,
  • 146. ! +G , K ! !! +G! ! A !,
  • 148. =- * ! 9M - 9*!!$!$!! 9*!9 ! 9*!9
  • 149. 9*
  • 150. %.( - ?/@4 9*C !D6 $!9*
  • 152. $6
  • 154. * N /! !
  • 157. ?A
  • 158. B4
  • 159.
  • 160. ( 3*8
  • 161. '!99!!
  • 163. ?A
  • 164. B4
  • 165.
  • 166. ( 8
  • 167. '!!9!!
  • 169. !8
  • 170. !*9!!
  • 171. -%) !.1 *9!!9$ 9!3%9!!9! 7! N !9 !9 N '!! ! !
  • 173. ! !8
  • 174. 3*8
  • 175. 8
  • 176. '!!!!
  • 178. 99! !
  • 179. !9! N H !
  • 180. M$! 7!
  • 181. /3.*5 !!! ! 9 !!9!!! +$9,.! !9! !9
  • 183. 97 */H 9 !9! ! (9* /$!!!!!9* !!!$! ! !
  • 184. (/%% D
  • 185. #E 7)$ 4$!)$!9! !!99! 9$ !+! 9!9!, N
  • 186.
  • 187. 99!on(a,d) !move(a,d) N # 9on(a,b) !move(a,d)
  • 188. ((2(# $!$!! ! (!!9* N '$ !9!!* N '9* ! !9 ) 8
  • 189. !
  • 190. !
  • 191. H!! N *! 9 $!!!I N O+ !,
  • 194. / !! !!!$! !!$ 7! !!
  • 197. !! !9/P '( Q!Q$Q QQ! #$%?=4 R!.R!!RR R$9!* R R! RRR
  • 198. !%)(*1 ! #! $ % # ' ( ) ! !9 %*+* # , * +) -
  • 199. ! $-. $ -/ //0'12 //0 3# 4#-) . .
  • 200. /)3 ! $!!$! C$D$!$ # $!! !!! !9C $D!)$ !!9$ N !9+C$9.!D,$ 7!@! N J! $ N J! +!J! ! !9, N J! !$
  • 201. !
  • 202. !9 !! ! N 9!! !$! !!! #! -! /('-! /('! B N -! .! N /('! $ !$
  • 203. '( C 3* ' * ( #( $ 3*##) %# # * ##$ *# ##) . . ' * ! #! $ % #5 6 * ( 6 ) %## ' * ( ) $ 4#3# * 6 #) . .
  • 204. ( ) $7S F% %
  • 205. ' @@
  • 206. !!!$!Q.! @@9! ! F) %
  • 207. 6 F %
  • 208. ' FG G*4
  • 209. (' (3 + 4
  • 210. ,S @@ ! !! ! T (0+,S@U!! !9U@T 3+,S @@4 !99!$! @@ !7$!!! !!R.! T @U!U@ T
  • 212. !! N !9! ! ! -! N .9!!$!! 3! $ ( N ! !.9!!$!$ ( !!!
  • 214. ' *! VH!$7 ! !IH!$! !! !I VH!$*!9$!! !)!I VH!$!!9$ !! !)!*
  • 215. '5* V ! $ !. !I H!!!. !I ; ! !I ! ) !
  • 216. I O9$$! !! !!$!
  • 217. %* D !!E!! )$ ! ; ' I ' ! ;* !* ( I ; '!J! !$I -!$'
  • 218. , ($
  • 219. 6 !9 !99! !9$)$
  • 220. !!$! !!!9 ! $ !!$ ! $+#$ 3 , !
  • 221. $!!!9
  • 222. $!.9!! $ !$!7$! $ @ 9$$!!
  • 223. D%! ) H!! !*! )$ ! ;$! H $ I H!+ !, H +!, (! !! !- I ! ;! ! ! !I -!$ ?4
  • 224. #. /!$!!9 5 ) ! $ 7! $ #$!! !$! #$!!$! #$!!!!! #$!$ ! B
  • 225. $
  • 226. $ $ K$$$ 7! $$ $! #$9! (9$ $ B 3/ -!!$$ 9$ $
  • 229. . !$! !$! /*H4!9
  • 230. $ / '!!
  • 231. +$
  • 232. , 200-! ! 7 $! 02!7 !9$ ! !!*
  • 233. @@$!@
  • 234. 5
  • 235. 5 6/5 4!*!5( !!$$) 5
  • 236. $! $! !! !P 4
  • 237. ! !*! ! !4
  • 238. 5 *
  • 239. '!)!* !! ! +!,!$99 +!, !!-! !+$! !,
  • 240. #% 5 $
  • 241. M
  • 242. !!%9 ! $..! !K3# 4K#3- 3422% K !9 2!W$ ! ! M
  • 243. #3/
  • 244. !! 9$ 3!9 ! )!9$ - 9 @@$@ #9@ @@9!9$$@ !@ @@$*@XM @ .!.3Y4@
  • 246. , G 0
  • 247. M%7(! $ !9$ !!
  • 248. !! ! !9! 7 ! 9! !/('!%79!
  • 249. , G 0
  • 250. MK)$'!' !!! $! !!99 !!9! (9$9$ !$ 9!!9! @@$)$@
  • 251. % ))C H( 4-(- M$.! !*$) +K P!!, M @@$@!@!@*@
  • 252. M @@M!7.!!*$. !9$@7*@9@ @K!@
  • 253. M @@M!$@ @ M@ @@! @! !@7+,
  • 254. +
  • 255. !
  • 256. ,#
  • 257. # ))( -
  • 258. #
  • 259. $
  • 260. .
  • 261. -! 9! ! 4H9 ,-. /
  • 262. !
  • 263. P ##/$
  • 264. +
  • 265. !
  • 266. ,#
  • 267. # # (% $!!!)$ H!*0) I
  • 268. I! 9 $ IH$9!*? + *(K !99!! ! !CD-.*!!+?, . !!)$ 9! !$$!! ! ;! ! !
  • 269. E!I '3( 9$!!+?, #!$ $(!! !I :$H!! !$$!E $!! !I !9$!+$I,))(? U!!! !
  • 270. /3
  • 271. #
  • 272. #