A SOA-Based Framework to Support User Model ... - Semantic Scholar

4 downloads 269 Views 117KB Size Report
tral UDDI registry, enhanced with UM specific capabilities, is used to support ... thus the involved services agree on the meaning of terms, it is possible to exploit ...
A SOA-Based Framework to Support User Model Interoperability Federica Cena and Roberto Furnari Dipartimento di Informatica, Universit`a di Torino Corso Svizzera 185, Torino, Italy {cena,furnari}@di.unito.it

Abstract. This paper presents an approach to achieve User Model (UM) interoperability exploiting Web Service technologies for syntactic interoperability, and Semantic Web languages for semantic interoperability, together with negotiation techniques based on dialogue. We propose a SOA-based framework where a central UDDI registry, enhanced with UM specific capabilities, is used to support and promote the cooperation between UM-based applications.

1 Introduction Interoperability of User Model (UM) knowledge plays a crucial role when service access takes place in an open and dynamic environment as the Web. In reaching interoperability, a primary issue is how a system can find other systems available to cooperate (discovery issue). Once a partner has been found, interoperability implies the ability to i) exchange information, which requires to agree on the communication protocol (syntactic interoperability) and ii) to use such knowledge, which requires to correctly interpret the data (semantic interoperability). If the knowledge model is shared, and thus the involved services agree on the meaning of terms, it is possible to exploit simple atomic communication (where a system merely asks for the value of a property and the other system provides it) by means of a standard request/response invocation. Instead, when the systems do not share the same knowledge models, they may need to clarify the requested user feature, or to negotiate the response when the exact one is not available or is not considered satisfying by the requestor. In these situations, some form of conversation1 could be used. The paper proposes a complete solution to support the UM interoperability process (discovery, semantic and syntactic interoperability issues) on the Web by means of a framework based on Service Oriented Architecture (SOA) (Section 2) exploiting Web Service and Semantic Web technologies, and offering a conversation support (Section 2.1).

2 The SOA Framework In our vision a framework supporting UM interoperability has to offer facilities to: i) support the discovery of systems offering the desired information; ii) provide shared 1

A conversation is a complex interaction among two parties, that may evolve in different ways, depending on the state and the needs of the two participants.

W. Nejdl et al. (Eds.): AH 2008, LNCS 5149, pp. 284–287, 2008. c Springer-Verlag Berlin Heidelberg 2008 

A SOA-Based Framework to Support User Model Interoperability

285

ways to describe the different interoperability capabilities of applications (both syntactically and semantically); iii) support atomic communication and conversation. The framework we propose is based on Web Services and Semantic Web standards and it provides a centralized and shared definition of the tools supporting communication. It uses an UDDI 2 registry in which each service provides its description and declares the supported syntactic and semantic communication tools. The central registry is enhanced with discovery functionalities (based on the publish/subscribe pattern) which can be exploited by systems for finding available services to interoperate with. To take part in the framework, applications must: i) use Web Service standards as a basic communication protocol3 and provide a publish/subscribe interface; ii) refer at least conceptually to a public ontology, regardless of the inner knowledge representation; iii) use a mechanism like OpenId (http://openid.net) to provide a common user identification. 2.1 Conversation Model A novelty of the framework is the ability to support complex interactions in form of conversation. In this paper we exploit the dialogue model presented in [1]. The basic dialogue primitive in the model is the Speech Act [4]. It is represented as a couple . A move is a domain-dependent verb expressing the system intention (e.g. to inquire, to deny, to accept, to inform, etc). A statement about the UM is represented as a triple : for example, means that the value of the property interest in art is high with low certainty. The building blocks of the model are the dialogue games: templates describing the communication behaviour the systems can follow to reach a particular goal. A dialogue game is defined by the combination of: i) conversation protocol: conversation expressed in terms of messages exchanged between two roles; ii) focus strategies: strategies to collect the concepts that can be discussed in a conversation; iii) scope strategies: strategies to select from the focus the concepts to be used as statements. The model was instantiated in the UM interoperability context in [1], where three main dialogue games were identified: i) Clarification Game, to clarify the request (using concept properties to disambiguate the meaning of the requested UM feature); ii) Explorative Game, to approximate the response when an exact one is not available (if there is not the value of the requested concept, the values of related concepts can be used instead.); iii) Explicative Game, to explain the response (refer to [1] for more details). 2.2 Overview of the Framework Architecture Each UM-based application running in our framework is a Web Service (see fig. 1) and has to provide the basic WSDL operation to support atomic communication to share UM knowledge (getValueOf(property,..), and the interface to correctly interact with a central registry, Enhanced User Model UDDI Registry (EUMUR). This is a an UDDI registry (used as a standard discovery tool) adapted and enhanced according to the peculiarity of the UM context. Beside the declaration of all the services cooperating 2 3

http://uddi.org/pubs/uddi-v3.0.2-20041019.htm A Web Service wrapper can be used to provide WSDL interface to existing applications.

286

F. Cena and R. Furnari

Fig. 1. Framework Architecture

in the framework, here we can find the definition of all the tools that can be used as model for the communication between services. EUMUR has three main components: – Communication Tools, which contains the list of supported mechanisms for enable different kinds of enriched interactions; the description of the Conversation Protocols used in the framework, the Focus Strategy Declarations to browse through ontology concepts (described as semantics-based query over the ontology), the schemes of Dialogue Game. – Services Declaration, which contains the list of Web Services available in the framework associated with the declaration of the Ontologies used and the Communication tools supported by each service; – Search Network Buffer (SNB), which is a shared network space able to automatically match service requestors with service providers of specific UM knowledge. The interaction model is managed according to the publish/subscribe pattern and the data exchanged in this space represents requests of user features and responses of availability of values for the requested features. In particular: i) all the services subscribe to the SNB asking to be notified (as a provider) when a certain kind of request arrives; ii) when a service (acting as a requestor) looks for some user information, it publishes a request to the buffer4 ; iii) all the notified services reply to the SNB, declaring their availability; iv) the requestor service, reading the answers on the SNB, can directly contacts each provider to ask for the desired values. In the SNB neither UM dimensions nor values are shared, since the buffer just hosts requests (and answers) of collaboration. The exchange of UM data will take place in a peer-to-peer way: the requestor service is free to select which tools to use for the interaction (according to the Services Declaration and to its internal policies), while the provider can apply its own privacy policies for data access. 4

The format of a SNB request is: (Sender, Action, Kind, Ontology, Focus, Object, User), where Sender is the name of the requestor, Action is the constant inquiry, Kind is the typology of the request: byUri (if it refers to a specific ontology) or byLabel (if expressed by means of a label); Ontology keeps a reference to the ontology; Object is the Uri of the requested concept (byUri) or its label (byLabel); Focus contains the focus strategy the requestor asks to use; User refers to the user the request is referring to.

A SOA-Based Framework to Support User Model Interoperability

287

As example we can consider two scenarios, where the required concept i) belongs to a shared ontology, ii) does not belong to a shared ontology. When the application A1 needs information about the concept c#134 (referring to the ontology TO) about its user us4, it invokes the following operation on the SNB: publish(A1, inquiry, byUri, TO, null, c#134, us4). The application A2, previously subscribed by means of the operation subscribe(A2, inquiry, byUri, TO) will be notified by the SNB and answers to the call, since it stores the required value. Thus, A1 can use atomic communication to get the desired value from A2. In the case of request of the interest in a concept (labeled as church) not belonging to a shared ontology, A1 can publish a request like: publish(UM1, inquiry, byLabel, null, null, church, us4). In this case, A2 has the label in its ontology Art but it refers to two different concepts: a place for religious celebration or place to visit. To disambiguate the term, looking at the Service Declaration, A1 can start a Clarification Game (see 2.1) with A2 (and thus ask for the values of concept properties) to refine the request. For instance, it could produce the Speech Act since celebration time is a discriminating feature for religious places.

3 Conclusion Two main solutions have been proposed to deal with UM interoperability: centralized [6] and decentralized [5]. Our solution exploits the advantages of the distributed approaches (such as flexibility in managing privacy) providing at the same time a central shared point used as a warranted reference to cooperation. We propose a mixed solution where the publish/subscribe pattern is just used as a central point for automatic user feature discovery, and where there is not a shared UM description and the exchange of user knowledge takes place in a P2P way. A similar model to our discovery mechanism has been proposed in [2] in order to share UM fragments by means of a central repository. Regarding solutions for semantic interoperability, [3] exploits facilities offered to applications for the ontologies mapping. Instead in our approach, conversations are used for reaching an agreement over not shared concepts. However, a similar form of semantic agreement can be implemented in our framework, integrating an ontology-mapper WS by means of the publish/subscribe mechanism.

References 1. Cena, F., Aroyo, L.: A semantics-based dialogue for interoperability of user-adaptive systems in a ubiquitous environment. In: Conati, C., McCoy, K., Paliouras, G. (eds.) UM 2007. LNCS (LNAI), vol. 4511. Springer, Heidelberg (2007) 2. Chepegin, V., Aroyo, L., De Bra, P.: Broker-based discovery service for user models in a multi-application context. In: ICALT 2005 (July 2005) 3. Houben, G.J., van der Sluijs, K.: Towards a generic user model component. In: UM 2005 (2005) 4. Searle, J.: What is a speech act. Language and Social Context (1972) 5. Vassileva, J.: Distributed user modelling for universal information access. Universal Access in Human - Computer Interaction 3, 122–126 (2001) 6. Yimam, D., Kobsa, A.: Centralization vs. decentralization issues in internet-based knowledge management systems:experiences from expert recommender systems. In: TWIST 2000 (2000)