APRIL [MCabe and Clark, 1994] and MAIL [Haugeneder et al., 1994] are
two languages for developing multi-agent applications that were
developed as part of the ESPRIT project IMAGINE [Haugeneder, 1994]. The two languages are intended to
fulfill quite different roles. APRIL was designed to provide the
core features required to realise most agent architectures and
systems. Thus APRIL provides facilities for multi-tasking (via
processes, which are treated as first-class objects, and a UNIX-like fork facility), communication (with powerful
message-passing facilities supporting network-transparent
agent-to-agent links); and pattern matching and symbolic processing
capabilities. The generality of APRIL comes at the expense of
powerful abstractions - an APRIL system builder must implement
an agent or system architecture from scratch using APRIL's
primitives. In contrast, the MAIL language provides a rich
collection of pre-defined abstractions, including plans and
multi-agent plans. APRIL was originally envisaged as the
implementation language for MAIL. The MAIL system has been
used to implement several prototype multi-agent systems, including an
urban traffic management scenario [Haugeneder and Steiner, 1994].