Service discovery with personal awareness in smart environments Kobkaew Opasjumruskit 1 , Jesús Expósito 1 , Birgitta König-Ries 1 , Andreas Nauerz 2 , Martin Welsch 1, 2 Institute for Computer Science, Friedrich-Schiller-University Jena 1 IBM Germany Research & Development GmbH 2 Abstract Web service descriptions with semantic web annotations can be exploited to automate dynamic discovery of services. The approaches introduced there aim at enabling automatic discovery, configuration, and execution of services in dynamic environments. In this chapter, we present the service discovery aspect of MERCURY, a platform for straightforward, user-centric integration and management of heterogeneous devices and services via a web-based interface. In the context of MERCURY, we use service discovery to find appropriate sensors, services, or actuators to perform a certain functionality required within a user- defined scenario, e.g., to obtain the temperature at a certain location, book a table at a restaurant close to the location of all friends involved, etc. A user will specify a service request, which will be fed to a matchmaker, which compares the request to existing service offers and ranks these offers based on how well they match the service request. In contrast to existing work, the service discovery approach we use is geared towards non-IT-savvy end users and is not restricted to single service-description formalism. Moreover, the matchmaking algorithm should be user-aware and environmentally adaptive, e.g. depending on the user’s location or surrounding temperature, rather than specific to simple keywords- based search which depends on the users’ expertise and mostly requires several tries. Hence, our goal is to develop a service discovery module on top of existing techniques, which shall rank discovered services to serve users’ queries according to their personal interests, expertise and current situations. INTRODUCTION Context-aware pervasive computing has become a prevalent topic over the last decade. With the upcoming of ubiquitous mobile devices, which provide heterogeneous sensors and facilitate internet access to users, we are close to realising the idea of the “Web of Things” (Mattern & Floerkemeier, 2010). In the Web of Things world, physical things are becoming smart web connected devices. Not only can they create, store and share data, they can even be programmed to make decisions based on these data. In addition to these concepts, things have become not only remotely controllable and able to communicate with each other, but also able to automatically adapt themselves to the demands of the user. By measuring the context of users and preferences, things (in particular resources) can be altered or configured to match the requirements of each user. For example, a user may want to receive an alert, if a weather advisory that concerns him (i.e., refers to a region where he will be when the advisory becomes active) is published. To achieve this functionality, a weather advisory service needs to be combined with information obtained from the user’s calendar or his flight reservation service or another service that provides information about his whereabouts. Even though various works have been devoted to the above concepts, none of them can relieve the painful integration nor ease the complexity of the usage for the non-technical user. Therefore, the major goal of the MERCURY project is to equip the non-IT-savvy users with the user-context adaptive service in order to utilize resources in their own environments. MERCURY is able to support both, generic everyday tasks, like, “set my to-do-task for working out when my daily calorie intake is above the limit”, and sophisticated tasks involving several sensors, services and actuators. An example for such a sophisticated task is, “Monitoring medical sensors, such as glucose meter, electrocardiogram (EKG) sensor, respiratory