In agent systems, different (autonomous) agents collaborate to execute complex tasks. Each agent provides a set of useful
capabilities, and the agent system combines these capabilities as needed to perform complex tasks, based on the requests input
into the system. Agent communication languages (ACLs) allow agents to communicate with each other about how to partition these
tasks, and to specify the responsibilities of the individual agents that are invoked. Current ACLs make certain assumptions
about the agent system, such as the stability of the agents, the lifetime of the tasks and the intelligence of the agents
in the system, etc. These assumptions are not always applicable in information-centric applications, since such agent systems
contain unreliable agents, very long running tasks, agents with widely varying levels of sophistication, etc. Furthermore,
not all agents may be able to support intelligent planning towork around these issues, and precanned interactions used in
more component-based systems do not work well. Thus, it becomes important that proper support for task coordination be available
to these agent systems. In this paper we explore issues related to coordinating large, complex, long running tasks in agent
systems. We divide these issues into the following categories: tasks, roles, and conversations. We then discuss how these
issues impose requirements on ACL, and propose changes to support these requirements.