A Serviceware Framework for Designing Ambient Services Benjamin Hirsch, Thomas Konnerth, Axel Heßler, Sahin Albayrak DAI-Labor Technische Universit¨ at Berlin Email: {benjamin.hirsch|thomas.konnerth|axel.hessler|sahin.albayrak}@dai-labor.de Abstract— This paper describes a serviceware framework for the creation of context-aware ambient services. Different commu- nication standards can be found today through a multitude of devices are wrapped by a service execution engine which unifies access and service provision across different service domains. The framework provides basic building blocks for added security, multi-modal interaction, management, and comes with tools and a methodology. I. I NTRODUCTION During the last few decades, computers went though a remarkable evolution. In the beginning, they were huge ma- chines which needed experts to use and interact with them. As recently as 10 years ago, computers were found in many households but still needed some expertise to be used. Nowa- days, computing ability is being embedded in all sorts of devices, more often than not invisible to the user. At the same time, the interconnectedness of those machines has risen accordingly. We have reached a point where it soon will be difficult to buy a product that does not have some sort of computing ability and interface to some host machine. As heterogenous as the devices are the possibilities of connecting them. Increasingly, this connection is based on ip-network and wireless technologies. However, while devices are becoming smarter and get the ability to interface, they are still designed as single machines. Interaction between them is either impossible or very limited. Not only are different standards (such as UPnP [8], OSGi [3], webservices [21]) used, but devices generally have neither a notion of context nor the ability to interact autonomously, or with each other. As a result, users are being forced to interact with a growing number of devices and entities, many of which have overlapping functionalities [20]. For a number of years now the concept of ubiquitous computing has been a research area in its own right (e.g. [22]). However, while seamless connectivity is indeed an important aspect, we should not loose sight of the fact that it is not the solution to containing the complexity of our lives, and in fact adds to it. What is needed are new ways of containing the chaos and complexity without losing the advantages that modern technology gives us [13]. The vision of ambient intelligence builds on the ubiquity of computing devices, but while the focus of ubiquitous computing lies in the embedding and constant availability of computation, ambient intelligence aims at making use of those entities in order to provide the user with an environment which offers services when and if needed by the user [2]. To this end, we propose a serviceware framework that allows to wrap the services being offered to us by new technologies, and create an environment which, while providing the all functionalities, does so in a human-centric way, combining and choosing between devices and services depending on the user, and the context of the user. Central to this is the concept of service, as opposed to device. In the remainder of this paper we will first go into a little more detail on the requirements for ambient intelligent services, and then proceed to describe out serviceware framework, which we believe is a (first step of a) solution to providing ambient intelligence to users today. II. REQUIREMENTS FOR AMBIENT SERVICES In order to develop ambient intelligent services, several preconditions need to be met. In the current state of affairs, home and office environments provide a host of devices, many of which have some IP interface. The range goes from mobile phones and PDA’s to IP-enabled cooking devices and light switches to media centres to TV’s and computers. We can classify these devices as multi-purpose and usually compute- able devices (like computers, phones, and PDA’s), and ”sim- ple” devices who usually provide some sort of monitoring and control interface, but whose purpose is well defined. Currently, a number of different protocols are employed, such as UPnP, OSGI, but also webservices and SOAP [11]. Common to them is that they have some notion of service that is provided to the network. However, while structures related to services are mostly implemented in those protocols, such as some form of service directory, or service call, it is instantiated in different ways. For example, an OSGi service essentially is some Java object with defined interfaces, while UPnP equates service with some device that provides it and the protocols to find and use it. Common to them however is that the service description is narrowly defined to cover only elements relevant to the task at hand, is semantically weak, i.e. has little or no semantic infor- mation, and is designed for machines. In order to create an environment in which devices become less important and instead the services which they are provid- ing