main menu:
  » home
  » introduction
  » indigolog overview
  » oaa overview
  » interface model
  » developing agents
  » simple example
  » advanced example
  » other interface models
  » implementation details
  » tips
  » links

 

   

Overview

 

This is the most general way of integrating IndiGolog into OAA system. It creates an agent that is both reactive and proactive, thus overcoming one of the major limitations of OAA.

Other agents should be using non-blocking calls when requesting services of the IndiGolog OAA agent built using this interface. It will be up to the IndiGolog program of that agent when and how to respond to these requests.

We suggest that the calls to OAA made from the IndiGolog agent using this interface are also non-blocking. This will be able to guarantee a high level of reactivity for the agent and allow for a very responsive system, very suitable for emerging highly-dynamic multiagent environments.

Here is the diagram describing the high level view of the IndiGolog-OAA system using this interface:



The IndiGolog OAA agent using this interface will be able to execute its program (e.g. reasoning/planning) while still keeping track of incoming OAA events (most notably requests for service coming from other agents in the system). Support for exogenous events in IndiGolog allows us to automatically check the OAA library for incoming events after every action executed by the IndiGolog interpreter. The process of receiving OAA events is completely transparent for the programmer: they appear in the program as exogenous actions.

The OAA primitives are accessible from within IndiGolog primitive actions. The interface lets the OAA library handle all the incoming messages that are not the calls to the solvables the agent has defined. Such events may include the ones related to the management of data solvables defined at this agent (add_Data, remove_Data, etc.) and some auxiliary activities such as message tracing.

In order to be able to react to OAA events appropriately, IndiGolog agent needs to have exogenous actions defined, one for every procedure solvable that the agent declares. Incoming OAA events that are intercepted by this interface appear in IndiGolog program as these exogenous actions. They are inserted into the action history in the order that they are received. Successor state axioms involving these exogenous actions should be defined, changing the values of certain fluents in accordance with the event received.

Note: It is possible to disable the check for incoming OAA events, if desired. There are two primitive actions (block_get_event and unblock_get_event) that an IndiGolog OAA agent can execute to stop and resume the check.

 

 


 
© 2001 All Rights Reserved. See Legal Notice.