  The paper presents a knowledge representation formalism, in the form of a
high-level Action Description Language for multi-agent systems, where
autonomous agents reason and act in a shared environment. Agents are
autonomously pursuing individual goals, but are capable of interacting through
a shared knowledge repository. In their interactions through shared portions of
the world, the agents deal with problems of synchronization and concurrency;
the action language allows the description of strategies to ensure a consistent
global execution of the agents' autonomously derived plans. A distributed
planning problem is formalized by providing the declarative specifications of
the portion of the problem pertaining a single agent. Each of these
specifications is executable by a stand-alone CLP-based planner. The
coordination among agents exploits a Linda infrastructure. The proposal is
validated in a prototype implementation developed in SICStus Prolog.
  To appear in Theory and Practice of Logic Programming (TPLP).
