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



IndiGolog Overview


IndiGolog is a high-level programming language for robots and intelligent agents that supports on-line planning and plan execution in dynamic and incompletely known environments. Programs may perform sensing actions that acquire information at runtime and react to exogenous actions. It could be used to write robot control programs that combine planning, sensing, and reactivity.

IndiGolog supports complex agents that are:

  • able to do reasoning and planning
  • able to react to exogenous events
  • able to monitor plan execution and sense the environment
  • both reactive and proactive
  • written using very high-level language constructs

An IndiGolog agent includes the following:

IndiGolog History

IndiGolog is a member of Golog family of languages. Golog is a language for expressing high-level programs for robots and autonomous agents. Golog supports program structures such as sequence, conditionals, loops, and non-deterministic choice of actions and arguments. It uses a Situation Calculus theory of action to perform the reasoning required in executing the program.

Extension called ConGolog was introduced later, adding support for concurrent processes with possibly different priorities, interrupts, and exogenous events. These new constructs were useful for writing controllers that react to environmental events while working on certain tasks.

Key features of real-world robot control applications are that the environment is dynamic and that the system has incomplete knowledge and must acquire information at run-time by performing sensing actions. However, Golog and ConGolog, like earlier planning-based systems, assume an off-line search model. That is, the interpreter is taken to search all the way to a final state of a program before any action is really executed. This can be a serious problem if, for instance, the program involves a long running application, or if part of the program depends on information that can only be obtained by doing sensing at run-time. It is also impractical to spend large amounts of time searching for a complete plan when the environment is very dynamic.

To address this limitation, an extension of ConGolog called IndiGolog was developed; it supports the inclusion of planning/search components within an overall deterministic program that is to be executed incrementally in conjunction with sensing of the environment.



© 2001 All Rights Reserved. See Legal Notice.