Article Preview
Top1. Introduction
Ambient computing envisions the unobtrusive diffusion of computing and networking resources in physical environments, enabling users to access information and computational resources anytime and anywhere, and this in a user-centric way, i.e., where user interaction with the system is intuitive, pleasant and natural. Mobile users take part in these ambient computing environments by carrying around tiny personal devices that integrate seamlessly in the existing infrastructure. Such a setup is highly open and dynamic. Therefore, these environments must support ad hoc deployment and execution, integrating the available hardware and software resources at any given time and place. This dynamic merging is facilitated when organizing resources as autonomous, networked components. The Service-Oriented Architecture (SOA) computing paradigm is particularly appropriate for ambient computing systems. Indeed, in this architectural style, networked devices and their hosted applications are abstracted as loosely coupled services that can be integrated into larger systems. Service discovery (SD) is then an essential function within SOA, especially in the ambient computing environment, as it enables the runtime association to networked services. Three basic roles are identified for service discovery in SOA: (1) Service provider is the role assumed by a software entity offering a networked service; (2) Service requester is the role of an entity seeking to consume a specific service; (3) Service repository is the role of an entity maintaining information on available services and a way to access them. A service description formalism or language to describe the service functional properties complemented with a service discovery protocol enables service providers, requesters and repositories to interact with each other. A comprehensive service discovery solution for ambient computing environments must at once address a wide range of interoperability issues due to the environments’ heterogeneity, and the fact that ambient software services and potential software clients (assuming the role of service requester) are designed, developed and deployed independently.
Many research projects as presented in Section 2 have addressed some of the interoperability issues such as protocol interoperability, network interoperability, or semantics. In the context of the PLASTIC project1, which aims to support the deployment and dynamic composition of mobile, adaptable applications in ambient computing environments, and in particular applications complying with Web-service standards, the PerSeSyn (Pervasive Semantic Syntactic) service discovery platform presented in Section 3 aims to address the above interoperability issues and provide a comprehensive SD solution for ambient computing environments. In this paper, we focus in particular on the challenges posed by enabling interoperable semantic-based discovery on top of heterogeneous, both syntactic and semantic-based SDPs. Towards this purpose, we introduce in Section 4 the PerSeSyn Service Description Model (PSDM), and, as its instantiation, the PerSeSyn Service Description Language (PDSL). PSDM is a conceptual model for enabling semantic mapping between heterogeneous service description languages. PSDL, which is an instantiation of PSDM, is not yet another service description language but a combination of emergent standards for service specification, namely SAWSDL2 and WS-BPEL3. PSDL is then employed as the common representation for service descriptions and requests. Based on PSDM and PSDL, we define a set of conformance relations, as presented in Section 5, for matching heterogeneous service descriptions going from elementary syntactic service descriptions (e.g., given in SLP) to rich semantic service descriptions with associated conversations (e.g., given in OWL-S). Furthermore, we introduce a mechanism for ranking heterogeneous matching results towards efficient matching of service capabilities. We further evaluate in Section 6 the impact of introducing semantic based matching in addition to protocol interoperability realized through protocol translation. We finally summarize our contribution in Section 7.