Software architectures to improve programmability and in-situ visibility of cyber-physical systems
Abstract
Cyber-physical systems (CPSs) are poised to play a pivotal role in engineering new solutions to a variety of societal-scale problems. Networked embedded systems, such as wireless sensor networks (WSNs) form a crucial building block for realizing large-scale CPSs and have, therefore, received considerable research attention in the recent past. However, several key challenges still remain. This thesis addresses two such key challenges, namely difficulty of programming and lack of in-situ visibility. The problem of programming a distributed wireless sensor network still remains a major challenge and a potential showstopper to widespread adoption. Prior work to address this problem has proposed a paradigm shift from node-level microprogramming to macroprogramming, where the user specifies a distributed application using a single macroprogram that is automatically translated into a set of node-level microprograms. Complementary to these efforts, this thesis makes the case that node-level microprogramming itself can be made much easier by using the right set of programming abstractions. To support this claim, this thesis presents μSETL, a programming abstraction for wireless sensor networks based on set theory. Based on the powerful formalism and inherent expressiveness offered by set theory, μSETL offers programming constructs that enable event-driven programming at a high level of abstraction, thereby significantly simplifying node-level microprogramming. μSETL has been implemented on real wireless sensor nodes and various case studies have been designed and evaluated to demonstrate how it enables programmers to write sensor network applications in a natural and highly compact manner with little overhead. Another key challenge with wireless sensor networks is the lack of in-situ visibility and control, which makes it difficult for system designers to understand the post-deployment behavior of these systems. This thesis presents a new software architecture to address a specific aspect of the in-situ visibility and control problem, namely communication (or network traffic) monitoring. We have used our software architecture to design a rule-based framework, called Aegis, for traffic gatekeeping in networked embedded systems. Aegis offers a highly efficient and transparent traffic gatekeeping solution that can be used for a diverse set of applications. We have implemented Aegis and demonstrated how it can be used to build firewalls and to create virtual network overlays on top of a physical network. Software based solutions to node-monitoring (including Aegis) share a common trait, namely that the node-monitoring and control functionality is implemented as software executing on the same embedded processor that the main applications execute on. This is a poor design choice from a reliability perspective. As its final contribution, this thesis makes the case for a joint hardware-software solution to this problem and advocates the use of a dedicated reliability co-processor that is tasked with monitoring the operations of a device. As an embodiment of this design principle, we present Spi -Snooper. Spi-Snooper is based on a novel hardware architecture that enables transparent snooping of the communication between the main processor and the radio of an embedded device. The accompanying software architecture provides a powerful tool for transparently monitoring, logging, and even controlling all the communication that takes place between the main processor and the radio. We believe that the contributions made in this thesis serve as a good foundation for further research in improving the programmability and in-situ visibility of cyber-physical systems.
Degree
Ph.D.
Advisors
Raghunathan, Purdue University.
Subject Area
Computer Engineering|Computer science
Off-Campus Purdue Users:
To access this dissertation, please log in to our
proxy server.