Logo

A Language for Interactive Cooperative Agents

View the Project on GitHub rapyuta-robotics/alica

Documentation

The documentation of the ALICA Framework is organised in small articles that are readable in 5-10 minutes. Therefore, you can use it as a lookup dictionary. However, we also tried to arrange the articles in an order that allows you to read the documentation as a whole, from start to end.

The ALICA Framework is further divided into three parts, the language, the engine, and the plan designer. We recommend to understand the language first, since the documentation of the engine and plan designer requires you to understand the semantics of the core concepts of the language.

The ALICA Language

Propositional ALICA

The propositional part of the ALICA language is expressive enough to describe complex strategies for teams of autonomous robots. Its core concepts are explained in the following articles, followed by the algorithms that make up the runtime behaviour of the ALICA engine with regard to the propositional core concepts.

Core Concepts

Domain-Independence, Behaviours, Finite-State Machines, Conditions, Entrypoints, Tasks, Plans, Synchronisations, Plantypes, Utility Functions, Roles, Plan Trees

Algorithms

Task Allocation, Conflict Resolution, Role Assignment, Transition Synchronisation, Rulebook

General ALICA

General ALICA adds several core concepts to the propositional part of the ALICA language in order to increase the generality and reusability of ALICA programs. Before you dive into the core concepts of General ALICA, a short article motivates it with a practical example.

Core Concepts

Configurations, Variables, Constraints

Algorithms

Constraint Queries, Constraint Composition, Constraint Management, Variable Synchronisation

The ALICA Engine

To be done:

The ALICA Plan Designer

The documentation of the ALICA Plan Designer is located in the repository of the Plan Designer.