Event-Based Realization of Dynamic Adaptive Systems

Event-Based Realization of Dynamic Adaptive Systems

André Appel (Clausthal University of Technology, Germany), Holger Klus (Clausthal University of Technology, Germany), Dirk Niebuhr (Clausthal University of Technology, Germany) and Andreas Rausch (Clausthal University of Technology, Germany)
Copyright: © 2010 |Pages: 17
DOI: 10.4018/978-1-60566-697-6.ch013


Dynamic Adaptive Systems are the envisioned system generation of the future. These systems consist of interacting components from different vendors. As the components may join or leave the system at runtime, we have to provide the possibility to automatically compose the system at runtime. Using Request/Reply interaction among components enables us to compose the system based on the directed dependencies between caller and callee at runtime. However this leads to several problems, e.g. frequent polling. Event-based interaction can solve these problems but is missing explicit directed dependencies, which we need to compose the system at runtime. This paper describes our approach of realizing Dynamic Adaptive Systems using Event-based interaction among the components while maintaining automatic system composition. In addition, the paper presents an illustrative application example within a smart city.
Chapter Preview


Nowadays the trend towards “everything, every time, everywhere” becomes more and more apparent. Electronic assistants, so called “information appliances”, like network enabled PDAs, Internet capable mobile phones and electronic books or tourist guides are well known. The continuing progress of all IT sectors towards “smaller, cheaper, and more powerful” mainly enables this trend.

IT components are embedded in nearly every industrial or everyday life object. This trend is driven by new developments in the field of materials science like midget sensors, organic light emitting devices or electronic ink and the evolution in communications technology, especially in the wireless sector. As consequence of this trend, almost everyone has small, nearly invisible devices like mobile phones, PDAs, or music players in her or his adjacencies. Furthermore, network technologies like (W)LAN or Bluetooth moved mainstream. This facilitates the connection and combined usage of those devices.

However, in most domains, devices still provide only isolated applications with fixed hardware and software settings for their users. Unfortunately humans live in changing environments, carrying mobile devices, and have varying requirements over time. Hence, they need customizable applications that adapt dynamically to their specific needs in a constantly changing situation.

Ambient Intelligence, Ubiquitous Computing, and Pervasive Computing are research fields that utilize the trend towards “everything, every time, everywhere” and thereby aim for customizable applications. Numerous applications have already been developed in these field spanning diverse application domains like assisted living (Kleinberger et al., 2007; Hanak et al., 2007), assisted working (Zuehlke, 2008), or assisted training (Le et al., 2007) for example.

Dynamic Adaptive Systems consist of many devices, so called components, which together form the application itself. These components can join or leave the system during runtime, as they are not hard wired into the system, requiring a reconfiguration or so called adaptation of the system, due to the available components or even the user’s needs or preferences.

Defining these adaptations explicitly at design time is impossible, since these applications are too large to be designed as a whole. Instead different vendors develop components for these systems based on interfaces defined in a common domain model. Performing these adaptations manually (as a user or as an administrator) during runtime is not possible as well, because of the high frequency of situation changes. Therefore, mechanisms are required which perform these adaptations automatically (Kephart et al., 2003). We call applications which are able to adapt to changing situations during runtime dynamic adaptive applications. The term “dynamic adaptive” will be abbreviated as dynaptive in the following. Components within a dynaptive application consequently are called dynaptive components according their ability to adapt themselves.

Ambient Intelligence, Ubiquitous Computing, and Pervasive Computing aim at performing these adaptations as unobtrusively as possible (Weiser, 1991). To do this, various approaches have been developed which enable the automatic adaptation of systems during runtime based on available components, users’ preferences, and context information. In (Dey et al., 2000) for example, a framework has been presented which enables the development of context-aware applications focusing on gathering and processing context information. Furthermore, automatic service discovery mechanisms like described in (Vinoski, 2003) are needed. General component-based middleware solutions like OSGi (Lee et al., 2003; OSGi, 2003) for example already provide dynamic integration of components into a running system to a certain degree. However, they do not provide adaptation of components or systems, but are rather used to implement according infrastructures for dynaptive applications.

Complete Chapter List

Search this Book: