AFABL Tutorial

AFABL is an internal domain-specific language (DSL) shallowly embedded in the Scala programming language. Here we present the basic elements of AFABL with running example: a Pac Man agent for simplified Pac Man game.

The AFABL Language

AFABL is a DSL for implementing adaptive agents. An AFABL agent operates in a world, is composed of one or more modules, and has an agent level reward function that it uses to learn a command arbitration policy, that is, how to prioritize its behavior modules. The pages below progressively implement a Pac Man agent in AFABL.