Welcome to my PhD project
Configuring eHome Systems I had my PhD defense on the 27th of June in 2007 in Aachen and got the grade 1.0 (magna cum laude). For a quick English overview read the English summary. You can download a German summary here. For a still brief but closer look in English at my PhD project I suggest the paper published at the CASCON 2007 conference or the talk I gave at my PhD defense. The full German dissertation thesis you find linked in my publications. You find some info on the eHomeConfigurator here.
English summary: Configuring eHome Systems
An intelligent home, what could that be? More and more electronic appliances enter our private homes. Their presence seems to become ubiquitous. But we usually do not associate intelligence when we install new electronic appliances in our home environment. When will we start to call a setup of such appliances intelligent? Probably if this setup simplifies tasks at hand in our daily life or increases security or comfort of living. Setups of such intelligent home environments in different places all over this world have given us a clue of some useful setups and some useful services which could be provided by these. Such homes are usually called smart homes or eHomes. This work introduces a software engineering approach to support the installation of such setups for regular home owners. Its key contribution is the dissolution of the software development process in favor of a partly automated configuration process. There are various fields where the services provided in such eHome environments could support our daily life: One would be the enhancement of your comfort. This could be a central remote control, personal information management, or even an advanced wakeup service. Another need, which could be satisfied by such a service is security. In this field video surveillance or interactive alarm systems are possible. In the field of communication email, voice-over-ip, or instant messaging services are already widely used. There is a great potential for services in the health sector. Tele-medicine or instant medical advise based on up-to-date sensor data are just some examples. Furthermore, infotainment services, like video on demand, teaching, or advanced multimedia experiences are of great interest. Via the monitoring facilities of energy consuming devices, automatic optimizations or exact billing is possible. Of course these areas are not very clearly separated from each other. A security service can also integrate services from other fields, especially using communication or even infotainment abilities. Services integrating different fields will be the most interesting services for potential customers of eHome systems. As the prices of lots of appliances used in the previously discussed services have decreased to affordable amounts. The appliances are affordable for regular home-owners. Hence, from this point of view the hardware for the realization of smart home environments is already available at reasonable costs. The question arising is: Why are eHomes not more conventional? If you have a closer look at all these setups you will discover that these implementations are either research or hobby projects. One of the main barriers blocking a broader spreading of eHomes systems is the price of such systems. Even if appliances are affordable, the software driving an eHome is rather expensive as it is mostly developed or adapted for every single eHome. A complete software development process per case is not affordable for everyone. As software engineers, we are particularly interested in simplifying the software development process, arising when implementing a service for a specific home environment. The vision is: If the software for eHomes could be reused, and its adaptation and configuration be automated, one of the price barriers on home automation mass-market would be broken. The key point of this work is the dissolution of the software development process for eHome systems. It seems obvious that such systems have to be split in comprehensive components to achieve reusability. We distinguish between basic and extension services offered by components. Extension services are services composed of various basic services. These extension services usually represent the functionality the inhabitants are interested in. For component-based development a close view on the middleware is important. Today's component-based middleware solutions offer dynamic composition, configuration and deployment facilities. We have used different middleware solutions for obtaining results for realizing one integrating service, but we are now focusing on realizing different integrating services in different home environments. Pure middleware solutions do not enable a customer to build up an eHome system for his personal environment on the base of an integrating service. Our process is reduced to the level of mere specification of the environment and services, and interactive configuration of the given service components into the eHome system with no coding overhead. Our goal is the support of composition and configuration of integrating services for eHome systems. In this context, we introduce a special simplified specification, configuration, and deployment process. We will refer to this as the eHome-SCD-process. On the one hand, we have significant reduction of the development effort, via using functional composition and automatic configuration techniques. On the other hand we are well aware, that the full automatic configuration process will never be reached. This is because of the human factor involved in the specification of the desired characteristics of the selected integrating service(s).