Model-Driven Prototyping Support for Pervasive Healthcare Applications

Model-Driven Prototyping Support for Pervasive Healthcare Applications

Werner Kurschl (Upper Austria University of Applied Sciences, Austria), Stefan Mitsch (Johannes Kepler University, Austria) and Johannes Schoenboeck (Vienna University of Technology, Austria)
DOI: 10.4018/978-1-61520-765-7.ch012
OnDemand PDF Download:
No Current Special Offers


Pervasive healthcare applications aim at improving habitability by assisting individuals in living autonomously. To achieve this goal, data on an individual’s behavior and his or her environment (often collected with wireless sensors) is interpreted by machine learning algorithms; their decision finally leads to the initiation of appropriate actions, e.g., turning on the light. Developers of pervasive healthcare applications therefore face complexity stemming, amongst others, from different types of environmental and vital parameters, heterogeneous sensor platforms, unreliable network connections, as well as from different programming languages. Moreover, developing such applications often includes extensive prototyping work to collect large amounts of training data to optimize the machine learning algorithms. In this chapter the authors present a model-driven prototyping approach for the development of pervasive healthcare applications to leverage the complexity incurred in developing prototypes and applications. They support the approach with a development environment that simplifies application development with graphical editors, code generators, and pre-defined components.
Chapter Preview


Pervasive computing is a fast-growing area: technical advancements in the fields of sensor and actuator hardware miniaturization, low-power wireless communication and processors, and machine learning algorithms have the capacity to make the vision of smart environments come true. Pervasive healthcare utilizes pervasive computing to improve quality of life by assisting individuals in living autonomously. To exemplify the complexity of pervasive healthcare applications and to point out the specific challenges we intend to tackle in this chapter we reflect on the application of pervasive healthcare in the domain of eldercare. As a system that is fully integrated into the lives of people in order to support them in daily tasks and help them in critical situations, customization (i.e., the system needs to be exactly tailored to the individual’s needs), non-obtrusiveness, ease of interaction, and integrating end users into the development lifecycle are key to the success of such applications (Demiris et al., 2008). Yet pervasive healthcare applications are still far from being commercially available: to date numerous research projects work on enabling technologies like wireless sensor network platforms, body sensor networks, routing protocols, time synchronization algorithms, signal processing, data fusion, and machine learning algorithms. Other projects utilize these base technologies to develop isolated solutions for single use cases like item tracking and searching, warning of household dangers (e.g., slippery floor, unattended stove, or running water taps), recognizing alarming situations (e.g., collapse, or sleep disorders), or remote health monitoring. All of them are important enablers of pervasive healthcare systems; the challenge now is to integrate the findings from these projects into a compound system. The coherent information thereby provided potentially increases the scope of detectable situations and realizable use cases, improves the system’s fault tolerance, and could lead to a much richer user experience. But the distributed nature of such highly interconnected pervasive healthcare systems leads to an increased system complexity. New development concepts and tools are required to reduce complexity during design, development, deployment, and maintenance.

Many of the domain’s envisioned use cases demand context-awareness (Dey, Salber, & Abowd, 2001): their goal is to collect information on the system’s surroundings with sensors, interpret the sensor data to ultimately understand the observed situation, and then take appropriate actions. A popular approach is pattern recognition, defined by (Duda, Hart, & Stork, 2001) as “the act of taking in raw data and making an action based on the ‘category’ of the pattern” (p. 1). If such systems additionally combine data from several sources describing different entities, they are termed to be situation-aware (Baumgartner, Retschitzegger, Schwinger, Kotsis, & Schwietering, 2007). Although many solutions differ in terms of sensing hardware, programming language, signal processing, feature extraction, or classification algorithms, their architectures show noticeable commonness. They can be structured into six layers: (i) data acquisition, (ii) preprocessing, (iii) interpretation, (iv) aggregation, (v) situation inference, and (vi) application. The data acquisition layer collects information on a system’s surroundings (context data) with wired or wireless sensors. This information not only comprises environmental data, like temperature, sound, or acceleration, but also measurements on a person’s behavioral patterns and health status, e.g., heart rate, blood pressure, or gait posture. The massive amount of raw data needs to be restricted in the preprocessing layer before it can be interpreted: distracting background noise or undesired phenomena can be ignored, and distinctive features must be selected to enable robust and efficient classification. The interpretation layer categorizes incoming data with machine learning algorithms and thereby derives semantics (e.g., 25°C means “hot” in the context of room temperature). Semantics from different data sources combined in the aggregation layer enable the situation inference layer to detect relations and to derive comprehensive situations. This knowledge can be utilized in different applications to, e.g., interact with the environment with actuators that execute appropriate actions, to visualize context information, or to report to connected software systems (application layer).

Complete Chapter List

Search this Book: