IndiGolog: A High-Level Programming Language for Embedded Reasoning Agents

Abstract

IndiGolog isa programming language for autonomous agents that sense their environment and do planning as they operate. Instead of classical planning, it supports high-level program execution. The programmer provides a high-level non-deterministic program involving domain-specific actions and tests to perform the agent’s tasks. The IndiGolog interpreter then reasons about the preconditions and effects of the actions in the program to a legal terminating execution. To support this, the programmer provides a declarative specication of the domain (i.e., primitive actions, preconditions and effects, what is known about the initial state) in the situation calculus. The programmer can control the amount of non-determinism in the program and how much of it is searched over. The language is rich and supports concurrent programming. Programs are executed online together with sensing the environment and monitoring for events, thus supporting the development of reactive agents. We discuss the language, its implementation, and applications that have been realized with it.

Publication
Multi-Agent Programming: Languages, Platforms and Applications

Related