Ariadne and HOPLa: flexible coordination of collaborative processes Gert Florijn, Timo Besamusca, Danny Greefhorst Utrecht University Department of Computer Science P.o. Box 80.089 3508 TB Utrecht The Netherlands Telephone: +31-30-2531807 Fax: +31-30-2513791 E-mail: florijn@cs.ruu.nl Abstract The research into the Ariadne system - and its coordination language HOPLa - aims to provide generic support for hybrid collaborative processes. These are complex information processing tasks involving coordinated contributions from multiple people and tools. Ariadne should applicable for a broad spectrum of these processes and actively support people in working in these processes and in defining and managing. A key design issue is flexibility. It should be easy for users to model and perform new (kinds of) processes even if this happens during the work on the process itself. Processes in Ariadne combine a shared workspace with the ability to define tasks and to coordinate their execution. The workspace uses a tree-like data model and can hold arbitrarily structured data. It is self-descriptive which means that it not only holds actual data but also the constraints (i.e. type definitions) that govern its structure. The definition of the way of working in a process can be blended into the workspace. Nodes in the workspace can be marked as tasks to be performed. Aditional coordination operators and constraints e.g. on time or performer of a task can be attached. Ariadne keeps track of the execution state of each process and uses this for support. When tasks are to be performed, actors are notified and results of the work are stored again in the workspace. The execution state of the process is stored in the workspace too, so that processes are self-contained. The need for flexibility is addressed in two ways. First, process workspaces can be adapted arbitrarily within the boundaries of the type-definitions stored within them. This can make it easy, for example, to add extra tasks or to annotate data. Second, both process descriptions and running processes can be represented in textual form, i.e. as an HOPLa program. This means that a running process can be stopped, aribitrarily modified (through editing) and continued whenever exceptions give rise to this, and without the loss of any data that had already been provided. This paper gives an overview of Ariadne and HOPLa. After some background on collaborative process we discuss the HOPLa mechanisms for the definition of workspaces and process models, and the way in which Ariadne handles processes. We discuss and evaluate several examples and describe some current research.