The HERMES Language for Work Session Specification Manolis Marazakis, Dimitris Papadakis, Christos Nikolaou Department of Computer Science, University of Crete and Institute of Computer Science, FORTH, PO Box 1385, GR 71110 Heraklion, Greece. e-mail: maraz,dimpapa,nikolau @ics.forth.gr WWW: http://www.ics.forth.gr/pleiades/projects/Aurora Abstract This paper presents the HERMES specification lan- guage, which is introduced to express scripts for complex activities involving coordination and collaboration. The language is part of a framework for network-centric ap- plications, providing a two-level framework for expressing metadata. Service flow rules define communication chan- nels between software components and actions triggered by run-time events. The semantics of HERMES supports a model for dynamic and adaptive work sessions in open environments. 1. Introduction In open and dynamic environments, such as the Internet, a network-centric application paradigm emerges, with em- phasis on utilizing widely distributed distributed application components and information resources that are made avail- able by autonomous providers. Applications are created by building new services (either client- or server-side) that in- tegrate and customize existing services. Clients use Internet protocols to interact with the server-based parts of the appli- cation, combining them with standard services of the Inter- net. This paradigm is attractive for several large-scale dis- tributed applications, including electronic commerce, digital libraries, and scientific work support environments. We are developing the Aurora architecture [14], aiming for a uni- fied treatment of the problem of supporting network-centric applications via a set of common middleware services [16], in dynamic open environments with multiple independent service providers. In this setting, the developer’s task is to identify appro- priate components and plug them together, via a form of scripting [15]. We have designed a specification language, HERMES [16, 14], to express scripts for work sessions. Control and data flow are driven by events that are a com- bination of service request messages, state transition sig- nals associated with tasks, as well as system-generated or application-specific notifications. Event-Condition-Action (ECA) rules [10] specify the events and conditions that ac- tivate a task. The course of a workflow may change dynam- ically, as the “next” actions to execute are determined by rule triggering. Furthermore, the results of the actions of humans as well as automated tasks may affect the workflow. By allowing manipulation of components and their inter- connections at run-time, workflow becomes more adaptive to the dynamics of the execution environment. Sections 2 and 3 present the modeling constructs and semantics of HERMES. Section 4 provides a comparison of HERMES with related work. Finally, Section 5 provides an outlook on the Aurora architecture that provides the run- time environment for HERMES. 2. Container constructs In this section we present the modeling constructs of HERMES, for describing resources, events, simple tasks, task groups, and work sessions (service flows). Examples demonstrate the use of these constructs to model a scenario where a travel agent arranges a travel plan for a customer. HERMES provides containers of metadata about the generic concepts of the Aurora application model: re- sources, events, tasks and task groups. Application domain- specific metadata describing resource capabilities and task requirements are expressed as lists of attribute-value pairs. For each object defined, HERMES requires the declaration of a unique name, and a type, which identifies the “standard” according to which the attribute-value pairs assigned to the object are to be interpreted. Rather than assuming a sin- gle metadata standard, we support a two-level framework,