Specifying the Coordination of Agents Using Little-JIL Eric K. McCall, Leon J. Osterweil, Stanley M. Sutton Jr. coordination Little-JIL, a new language for programming the coordination of agents is an executable, high-level process programming language with a formal (yet graphical) syntax and rigorously defined operational semantics. The central abstraction in Little-JIL is the ``step.'' Little-JIL steps serve as foci for coordination and provide a scoping mechanism for control, data, and exception flow and for agent and resource assignment. Steps are composed hierarchically, but Little-JIL processes can have highly dynamic structures and can include recursion and concurrency. Little-JIL is based on two main hypotheses. The first is that the specification of coordination control structures is separable from other process programming language issues. Little-JIL provides a rich set of control structures while relying on separate systems for support in areas such as resource, artifact, and agenda management. The second is that processes can be executed by agents who know how to perform their tasks but will benefit from coordination support. Accordingly, each step in Little-JIL is assigned to an execution agent (human or automated); agents are responsible for initiating steps and performing the work associated with them. This approach has so far proven effective in allowing us to clearly and concisely express the agent coordination aspects of a wide variety of software, workflow, and other processes.