Main Page

From ABL
Jump to: navigation, search

ABL Documentation

ABL is a language for designing believable agents, agents that act in a world, make decisions, and work to satisfy goals. ABL was written by Michael Mateas at CMU (more). ABL has structures to define

  • how the agent interacts with the world:
    • how to sense the world
    • how to take actions in the world
  • goals and subgoals
  • relationships between goals, persistent goals, one-time goals, different ways of accomplishing goals
  • joint behaviors between characters


The ABL compiler is written in Java and targets Java; the generated Java code is supported by the ABL runtime system. In a given context it is usually clear whether the term "ABL" is referring to the compiler or the runtime. Following are the main sections we have for the manual at the moment.

A New, Updated ABL Manual Is In Progress and Available Here

Updated Manual - In Progress

Language Reference

ABL Language

Action Registration

Behavior Modifiers

Behavior Types

Declaring WMEs

Joint Behaviors

Language Grammar

Scoping

Sensor Registration

Step Modifiers

Step Types

Test Expressions

Working Memory

Meta-Behaviors

ABL Runtime

Sensors

Actions

Decision Cycle

Behavior Selection

Active Behavior Tree

Asynchronous Sensory Motor Systems


Pragmatic ABL

Introduction

Basic ABL Concepts

Tutorials

Hello World!

A Rush Strategy Agent for ABL-Wargus

Understanding Test Expressions

Coding Idioms

Daemons

Conditionals

Loops

Debugging with ABL

Common Debugging Scenarios

Known Issues and Workarounds

ABL Debugger Overview

Syntax Highlighting for ABL in Eclipse

Miscellany

Todos

Wishlist

Vim Syntax Highlighting

IntelliJ Syntax Highlighting - save to the C:\Users\YOURUSERNAMEHERE\.IntelliJIdea90\config\filetypes directory

Old Documents

These documents are prior versions of the ABL documentation; they are in Microsoft Word format. We are in the process of renovating them and moving them to Mediawiki format. We will strike through them as they get moved.

Background material for manual writers

  • ABL Dissertation Chapter -- A chapter from Michael's dissertation describing ABL. Mostly describes implementation details, though does provide some high-level discussion of joint goals.
  • Hap Dissertation (pdf) -- Bryan Loyall's dissertation on Hap, the language ABL is based on.