Agent capabilities
1 / 18

Agent capabilities - PowerPoint PPT Presentation

  • Uploaded on

Agent capabilities. We have proposed before a type of agents that are able to: - reason and react to the environment (including other agents). - update their own knowledge, reactions and goals. - interact by updating the theory of another agent.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Agent capabilities' - daniel-sanders

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Agent capabilities
Agent capabilities

We have proposed before a type of agents that are able to:

- reasonandreact to the environment (including other agents).

- update their own knowledge, reactions and goals.

- interact by updating the theory of another agent.

- decide whether to accept an update depending on the requesting agent.

- prefer among possible choices.

- abduce hypotheses to explain observations.


Due to their deliberative, reactive and updating capabilities, our approach to agents is an enabling technology for sophisticated Web applications.

  • Information integration

    How to integrate data from multiple heterogeneous sources

    and provide a uniform interface.

  • Web site management: self-reconfigurable and adaptive Web sites.

    Declarative representation of Web sites allows:

    • to automatically reconstruct them, e.g. on usage patterns;

    • to make them adaptable wrt. user profiles;

    • to enforce integrity constraints on Web sites, e.g. no dangling pointers.


  • For a discussion on the use of preference reasoning in Web applications cf.

    User preference information in query answering

    P. Dell'Acqua, L. M. Pereira, and A. Vitória

    5th Int. Conf. on Flexible Query Answering Systems 2002, LNCS 2522

  • For a discussion on the use of Logic Programming for the Semantic Web cf.

    Semantic web logic programming tools

    J. J Alferes, C. V. Damásio, L. M. Pereira

    invited paper, Ws. on Principles and Practice of Semantic Web reasoning (PPSWR’03), at 19th Int. Conf. On Logic Programming (ICLP’03), Dec. 2003


Atomic formulae:

Aobjective atoms

not Adefault atoms




generalized rules

Liis an atom, an update or

a negated update

A ¬ L1 Ù...Ù Ln

not A ¬ L1 Ù...Ù Ln

Zj is a project

integrity constraint

false ¬ L1 Ù...Ù Ln Ù Z1 Ù...Ù Zm

active rule

L1 Ù...Ù Ln  Z

Abductive agents
Abductive agents

An updating program is a finite set of updates.

Let S be a set of natural numbers. We call the elements sS states.

An agent  at state s, written s , is a pair (A,U) where:

- A is a set of abducibles;

- U={U1,…, Us} is a sequence of updating programs.

Agent behavioural issues

The interaction between the rational/deliberative (D) and reactive (R) behaviour of the agent, and its updating mechanism (U) raises several issues:


  • Should the deliberative behaviour of the agent influence its reactive behaviour? and vice versa?


  • If  has a goal to prove, and contemporarily some updates to consider, which of the two tasks shall  perform first?

  • What should the behaviour of  be when it receives an update while proving a goal G (i.e. while  is in deliberative mode).


  • If  receives several updates, should  consider each update and then trigger its active rules? or should  consider all the updates and only then trigger the active rules?

Contribution of the paper
Contribution of the paper

We propose an agent architecture that allows:

  • to declaratively interrupt/suspend the execution of a query;

  • to declaratively self-modify its control parameters;

  • to tune its behaviour to the environmental needs, and hence to address an agent’s behavioural needs.

    Aim: to design an architecture that empowers agents with self-monitoring and self-control capabilities.

Agent architecture

It consists of 6 asynchronous components.

Agent architecture

  • Central control controls the behaviour of the entire architecture via control parameters.

  • Reactiveand Rational processes characterize the reactive and rational behaviours of the agent. It is implemented by two XSB Prolog processes with identical knowledge bases. The Rational process can abduce.

  • Update handler sorts out the information received from the reactive process and the environment.

  • Action handler handles the tasks (actions) the agent wants to execute.

  • External interface handles the communication between the agent and it’s environment.

Rational process

  • If an agent a is at state s and Yas={A,U}, then the knowledge base of the rational process is the generalized logic program P = G(s,U) obtained via the syntactic transformation G.

  • The ABDUAL procedure is employed wrt. P to compute well-founded abductive answers to goals.

  • The Rational process receives the queries to be proved from central control. If the rational process proves ?-g with substitution q and list of abduced hypotheses La, it returns ans(g,gq,La) to central control which in turn updates the KBs of the rational and reactive processes with a ÷ans(g,gq,La).

Reactive process

  • Similarly to the Rational process, the KB of the reactive process is P = G(s,U).

  • The task of the Reactive process is to trigger any active rule in P whose body is satisfied given the hypotheses list La abduced by the Rational process at state s.

    Triggering an active rule means executing the project occurring in its head.

  • Distinguished projects:

    urgentRequest(G)  : sendIterrupt(G, true) interrupt

    meeting  : doAct(displayMessage) action

    alarmState : stateModify(reactiveDelayTime,100) self-tuning

Central control

  • Handles all the components by means if its control parameters.

  • Has the ability to interrupt/suspend the execution of a query.

    • It sends an interrupt sendInterrupt(G,F) to the rational process.

    • The interruption/suspension commands are implemented by XSB Prolog, and can originate externally.

  • Comprises two queues:

    • a prioritized queue with updates containing interrupts;

    • a queue with normal updates.

Central control

  • For any update of the form a ÷(?-g), central control:

    • launches the query ?-g on the Rational process;

    • collects its answer ans(g,gq,La) and it updates the KBs of the Rational and the Reactive process with it;

    • collects from the Reactive process all the executable projects, and sends them to the update handler.

  • For any update of the form a ÷stateModify(controlPar,value), central control modifies the value of the specified control parameter.


Theory of Peter:

S1 a  b, not c



A÷ (?-G), friend(A), not ans(G,G1,La)  peter : (?-G)

A÷ (?-G), ans(G,G1,La)  A: ans(G,G1,La)



peter÷ans(a,a,[ ])


peter÷ans(a,a,[ ])


Project flow

mary:ans(a,a,[ ])

mary:ans(a,a,[ ])




mary:ans(a,a,[ ])


ans(a,a,[ ])



Future work
Future work

Test the interaction of the components of the architecture:

  • Web site management application.

    Add other modules to the architecture:

  • learning and planning module.

    Develop a multi-agent platform:

  • ongoing implementation of a platform supporting the interactions of our logic-based agents as well as some forms of agent structures.

    Provide a formal description of the behaviour of the architecture:

  • to verify logical properties;

  • to analyze and expand the architecture;

  • to formally compare our architecture with existing hybrid architectures.

Future work1
Future work

To make our implementation distributed over the internet:

  • To allow our agents to have parts spread on the Web.

  • Achieved by RMI of Java and by letting the XSB agents maintain a mirror copy of the KB of the agent.

  • Advantage: to offer high level Web services.

    E.g. if a deliberative agent is being developed at one place, several reactive agents may use its deliberations.