| 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 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
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.