The Agentlab is actively developing automated programming and planning languages for implementing and planning complex tasks robustly and efficiently in multi-agent systems.
A fundamental difficulty presently faced by programmers of multi-agent systems is the lack of coordination algorithms when computational devices have overlapping or common objectives or when agents rely on one-another to complete joint tasks.
The coordination problem is especially challenging where agents have limited knowledge about, and control over, other agents.
There is a great need for improved methods for capturing and utilising richer dependency information in distributed computation tasks in ways that guarantee more effective and efficient solutions.
The multi-agent situation calculus
Consequently, agent programming languages frequently utilise a logical framework, where a crucial component is the declarative part: initial state axioms, precondition axioms and successor state axioms.
The task is to find a sequence of actions that constitute a legal execution of some high-level nondeterministic program and this involves reasoning about preconditions and effects of actions within the body of the program.
This approach has been recognised as one of the most successful solutions to non-deterministic programming to date.
However, current languages based on the situation calculus typically model execution as sequences of states, and are rapidly becoming unworkable due to the large number inter-dependencies frequently encountered: such as the need to synchronise sub-tasks or resource conflicts.
Research is currently focused on multi-agent languages, including MIndiGolog, a multi-agent variant of the well-known high-level agent programming language IndiGolog. MIndiGolog allows for cooperative execution planning for the asynchronous situation calculus.
Collaborative Logic Programming (CollabLP)
Collaborative logic programming is based on a new deductive-inductive resolution technique, by combining deductive theorem proving with inductive logic programming, for solving a new class of multiagent problems – namely collaborative logic programming (CollabLP) problems.