ABL is a language for designing belivable agents, agents that act in a world, make decisions, and work to satisfy goals. ABL was written by Michael Mateas at Carnegie Mellon University.
ABL provides mechanisms supporting the real-time, moment-by-moment decision making necessary for animated believable agents. ABL is based on the Oz Project believable agent language Hap developed by A. B. Loyall, along with Bates and others in the Oz group [Loyall 1997; Bates, Loyall & Reilly 1992a; Bates, Loyall & Reilly 1992b; Loyall & Bates 1991]. The ABL compiler is written in Java and targets Java; the generated Java code is supported by the ABL runtime system.
ABL modifies Hap in a number of ways. The most significant addition in ABL is language support for multi-agent coordination. In Façade, character behavior is factored across beats and thus organized around dramatic activity. The support for multi-agent coordination allows the beat behaviors to directly describe Trip and Grace’s joint dramatic activity.
ABL’s most significant contribution is to extend the semantics of Hap to support the coordination of multiple characters, through the addition of joint goals and behaviors. The driving design goal of joint behaviors is to combine the rich semantics for individual expressive behavior offered by Hap with support for the automatic synchronization of behavior across multiple agents.