Role-based Service Description and Discovery Alberto Fernández*a Matteo Vasirania César Cáceresa Sascha Ossowskia a Artificial Intelligence Group, University Rey Juan Carlos, Calle Tulipán s/n, 28933 Móstoles (Madrid), Spain {alberto.fernandez,matteo.vasirani,cesar.caceres,sascha.ossowski}@urjc.es 1 Introduction The ever-growing number of services on the WWW provides enormous business opportunities. Services can be automatically discovered and invoked, or even be dynamically composed from more simples ones. Agent technology provides designers with an interaction-oriented way of designing open software systems [3]. In this paper we concentrate on the problem of dynamic service discovery in multi-agent systems and present a new approach that complement existing ones by considering the types of interactions that services can be used in. 2 Role-based approach Most current service discovery techniques [2][4][6] aim at web services and base their search on inputs and outputs of the service. Some of them also take into account preconditions, effects and other parameters that describe the service. However, agent-based service discovery mechanisms can also make use of the information provided by the organisational model underlying the multiagent system. In order to improve both the efficiency and the usability of agent-based service-oriented architectures, we suggest exploiting common organisational concepts such as social roles and types of interactions to further characterise the context that certain semantic services can be used in. For example, consider a healthcare assistance scenario: an agent providing a second opinion service should not only be able to provide a diagnostic; it may also be required to explain it, give more details, recommend a treatment, etc. This means that the service provider is supposed to engage in several different interactions during the provision of a service. The efficiency of the matchmaking process can be improved by previously filtering out those services that are incompatible in the terms of roles and interactions. The precision of the matchmaking process can also be enhanced by including information regarding the roles and interactions. In order to develop role-based extensions to service discovery mechanisms we use a subset of the RICA organisational model [5]. We first analyse different use case of the application domain scenario, identifying the types of social interaction and the roles that take part in that interaction. The next step is an abstraction process in which the social roles/interactions are generalised into communicative roles/interactions. Analyzing several use case scenarios from different domains, we have derived an ontology that contains a taxonomy of types of interactions and roles that take part in those interactions. Service advertisements and service requests can be annotated with this kind of information. Using OWL-S as description language, we included roles expressions in service profiles as two distinct service parameters, called ServiceRoles in the case of service descriptions and QueryRoles for service requests. The two added concepts follow this schema: * This paper has also been published in the proceedings of Service-Oriented Computing and Agent-Based Engineering (SOCABE'06), held at the 5th International Joint Conference on Autonomous Agents and Multi-Agent Systems (AAMAS'06), Hakodate, Japan, May 2006 a) Service Advertisements 1) the main role played in the interaction 2) a set of roles (formula in disjunctive normal form) that may be necessary to be played by the requester for the correct accomplishment of the service. b) Service Requests 1) Main roles searched (as an expression in disjunctive normal form) 2) A set of roles that define the capabilities of the requester (roles it is able to play). 3 Role-based Service Matching Algorithm We have developed a role-based matching algorithm that takes as inputs a service request (R) and a service advertisement (S), and returns a real-valued degree of match (dom) between them. The semantic match of two roles RA (advertisement) and RQ (query) is made based on the ontology of roles. It is a function that depends on two factors: (1) Level of match. This is the (subsumption) relation between the two concepts (RA, RQ) in the ontology. We differentiate among the four degrees of match: exact (if RA = RQ ), plug-in (if RA subsumes RQ), subsumes (if RQ subsumes RA) and fail (otherwise) (2) The distance (number of arcs) between RA and RQ in the taxonomy. We combine both criteria into a final degree of match, as a real number in the range [0, 1], using a function of the distance between RA and RQ (depth(RA) – depth(RQ)) in the role ontology. The smaller the distance between concepts the more influence will have a change of distance in the degree of match. In the case of matching between two services, where several roles may appear in their descriptions, the minimum is used as combination function for the values in a conjunction (or logical AND operator) and the maximum for disjunctions (or logical OR operator). 4 Conclusions and future lines We have presented an extension to common service matching techniques so as to exploit this additional organisational information. We have constructed a matchmaker that implements the algorithm presented in this paper, extending the OWLS-MX [1] matchmaker with these role- and interaction- based matching techniques. We are currently evaluating the best way of combining our matchmaker and OWLS-MX in terms of efficiency and effectiveness. At least two possibilities are being considered: (i) pre-filter configuration and (ii) result combination. For the latter case, different aggregation functions are being considered. References [1] M. Klusch, B. Fries, M. Khalid and K. Sycara. OWLS-MX: Hybrid Semantic Web Service Retrieval. Proceedings 1st International AAAI Fall Symposium on Agents and the Semantic Web, Arlington VA, USA, 2005 [2] L. Li and I. Horrock. A software framework for matchmaking based on semantic web technology. In Proc. 12th Int World Wide Web Conference Workshop on E-Services and the Semantic Web (ESSW), 2003 [3] M. Luck, P. McBurney, O. Shehory and S. Willmott. Agent Technology: Computing as Interaction (A Roadmap for Agent Based Computing), AgentLink, 2005 [4] M. Paolucci, T. Kawamura, T. Payne, and K. Sycara. Semantic matching of web services capabilities. In Proceedings of the First International Semantic Web Conference on The Semantic Web, Springer-Verlag, 2002, 333-347 [5] J. M. Serrano and S. Ossowski. A computational framework for the specification and enactment of interaction protocols in multiagent organizations, To appear in: Journal of Web Intelligence and Agent Systems, Idea Press, 2006 [6] K. Sycara, M. Klusch, S. Widoff and J. Lu Larks: Dynamic matchmaking among heterogeneous software agents in cyberspace. Journal of Autonomous Agents and Multi-Agent Systems, 5(2). Kluwer Academic Press, 2002