Software Mechanisms for Pervasive and Autonomous Computing
Ubiquitous computing—that interacts and adapts to humans—is inevitable. In these pervasive systems, human reactions and behavior are observed and coupled into the loop of computation. The new generation of these autonomous systems has enabled a multitude of applications in the context of smart cities, healthcare, and automotive systems. By enabling autonomy into the essence of pervasive systems, these evolving systems not only provide services that are adaptable to the human context but also intervene and take actions that are tailored to the human reaction and behavior. The objective of this dissertation is to weave the personalization and context-awareness into the very fabric of autonomous pervasive systems.
The contributions of this dissertation are multi-fold. The first part of the thesis addresses the system software design to build context-aware applications that can adapt to different human and environment state. We introduce a framework for Android OS that can facilitate the implementation of the context-aware application which we named CAreDroid. The newly developed OS support is designed to decouple the application logic from the complex adaptation decisions in Android context-aware apps. In particular, several case studies implemented using the designed OS are shown to facilitate the implementation of personalized mobile apps by having at least half lines of code fewer and at least 10 more efficient in execution time compared to equivalent context-aware apps that use standard Android.
The second part of the thesis looks into the privacy concerns that arise from the adaptation of personalized systems where the human interactions and behavior can leak sensitive information. We show that context-aware systems open the door for side-channel to leak sensitive personal information. That is, while context-aware autonomous applications adapt their behavior based on the current context of the user, this very act of changing the behavior can be used by malicious software to reverse engineer the human context. In this part, we studied the extent to which a malicious app can monitor the adaptations triggered by authentic context-aware apps and extract user’s information. In particular, we showed a concrete instantiation of a new category of spyware which we refer to as Context-Aware Adaptation Based Spyware (SpyCon). Afterwards, we proposed a novel OS software mechanism to detect and mitigate SpyCon apps called VindiCo. Being a new spyware, traditional spyware detection methods that are based on code signature or app behavior are not adequate to detect SpyCon. Therefore, VindiCo proposes a novel information-based detection technique and several mitigation strategies.
The third part focuses on designing machine-learning based systems to build adaptation and personalization services. In this perspective, we show end-to-end applications that interact with humans and adapt to their needs and preferences. We focus on the area of context-aware driver assistance systems (ADAS). We show that by using the monitored human state to design driver-in-the-loop systems, these systems can provide personalized driving experience. We purpose Sentio, a Reinforcement Learning solution to take the human reactions and behavior into the loop of computation. We then discuss an architecture for personalized and autonomous IoT (IoPAT) by showing an example of personalized smart home application.