  Since their inception, Multi Agent Systems (MASs) have been championed as a
solution for the increasing problem of software complexity. Communities of
distributed autonomous computing entities that are capable of collaborating,
negotiating and acting to solve complex organisational and system management
problems are an attractive proposition. Central to this is the requirement for
agents to possess the capability of interacting with one another in a
structured, consistent and organised manner.
  This thesis presents the Agent Conversation Reasoning Engine (ACRE), which
constitutes a holistic view of communication management for MASs. ACRE is
intended to facilitate the practical development, debugging and deployment of
communication-heavy MASs.
  ACRE has been formally defined in terms of its operational semantics, and a
generic architecture has been proposed to facilitate its integration with a
wide variety of diverse agent development frameworks and Agent Oriented
Programming (AOP) languages. A concrete implementation has also been developed
that uses the Agent Factory AOP framework as its base. This allows ACRE to be
used with a number of different AOP languages, while providing a reference
implementation that other integrations can be modelled upon. A standard is also
proposed for the modelling and sharing of agent-focused interaction protocols
that is independent of the platform within which a concrete ACRE implementation
is run.
  Finally, a user evaluation illustrates the benefits of incorporating
conversation management into agent programming.
