The need of capability requirements inside choreographies and interaction protocols Matteo Baldoni, Cristina Baroglio, Alberto Martelli, Viviana Patti, and Claudio Schifanella Dipartimento di Informatica — Universit ` a degli Studi di Torino C.so Svizzera, 185 — I-10149 Torino (Italy) {baldoni,baroglio,mrt,patti,schi}@di.unito.it ABSTRACT A typical problem of research in the area of Service-Oriented Systems is the composition of a set of services for executing a complex task. In this paper we face an instance of this problem in which a set of parties (be they peers, agents or systems) have to interact according to a given choreography. In particular, we mean to exploit the role definitions con- tained in the choreography for realizing interaction policies that can be executed by the involved parties. In this case it is necessary that the choreography captures not only the in- teractive behavior of the system as a whole but that the role definitions contain also a set of requirements of capabilities that the parties should exhibit, where by the term “capabil- ity” we mean the skill of doing something or of making some condition become true. Such capabilities have the twofold aim of connecting the interactive behavior to be shown by the role-player to its internal state and of making the policy executable. 1. INTRODUCTION In various application contexts there is a growing need of be- ing able to compose sets of heterogeneous and independent entities with the general aim of executing a task, whose com- plexity cannot be handled by a single component. In this framework, it is mandatory to find a flexible way for gluing components, a highly complex problem which encompasses various skills (describing the goal to be achieved, describing the solution in terms of involved entities and of their interac- tions, identifying within the pool of available entities those which can solve subproblems, etc.), pursued by different sci- entific disciplines. One solution which is being explored both in the web services research area and in the multi-agent sys- tems (MAS) research area is to compose entities based on “dialogue”. In the case of web services, ad hoc languages (e.g. WS-BPEL [19]), have been proposed for building exe- cutable composite services based on a description of the flow of information, in terms of the messages that are exchanged by the composed services. On the other hand, the problem of aggregating communicating agents into (open) societies is well-known, and a lot of attention has been devoted to the issues of defining interaction policies, verifying the in- teroperability of agents based on dialogue, and checking the conformance of policies w.r.t. a global communication pro- tocol [11]. As observed recently [25, 5], the MAS and WS research ar- eas show convergences in the approach by which systems of agents, on a side, and composite services, on the other, are designed, implemented and verified. In both cases it is in fact possible to distinguish two levels: a global and abstract view of the system as a whole, which is independent from the specific agents/peers which will take part to the inter- action (the design of the system), and the implementation of the system in which the specific entities that will interact are identified. In the case of MASs [14] the design level often corresponds to a shared interaction protocol. In a services oriented scenario this level corresponds to a general chore- ography of the system, in which a set of roles are captured together with their interactions by means of ad hoc repre- sentation languages (e.g. WS-CDL). On the other hand, the interactive behavior of a specific party/peer involved in the interaction is to be given in some executable language (e.g. WS-BPEL). In this proposal, we will consider choreographies as shared knowledge among the parties. We will, then, refer to chore- ographies as to public and non-executable specifications. The same assumption cannot be made for what concerns the in- teractive behavior of specific parties (be they service ori- ented entities, peers or agents). The actual behavior of a peer will, then, be considered as being private (i.e. non- inspectable from outside). Nevertheless, if we are interested in coordinating the interaction of a set of parties as speci- fied by a given choreography, we need to associate specific parties to roles. A realistic scenario is that in which an en- tity might just publish the fact that it acts according to the role “seller” of a public choreography. For interacting with that entity it will, then, be necessary to play another role of the specified choreography (e.g. “customer”). For playing a role described in a choreography a peer must own a pol- icy that is conformant to that role. In this scenario the so called conformance checking of a policy w.r.t. choreography guarantees that the peer owning the policy can interoperate with peers playing the other roles in the choreography.