Date of Award


Degree Type


Degree Name

Doctor of Philosophy (PhD)


Electrical and Computer Engineering

Committee Chair

Shreyas Sundaram

Committee Co-Chair

Richard Voyles

Committee Member 1

Jianghai Hu

Committee Member 2

Felix Xiaozhu Lin


The programming of most robotic tasks is conceptually simple, but error recovery and the handling of unexpected events add enormous complexity to the programming burden. Furthermore, software is procedural, so the handling of unforeseen scenarios by the programmer is just not possible in most programs. The objective of this dissertation is to describe an infrastructure that guides systems engineers to conveniently program self-aware systems, reducing the workload necessary to program robotic tasks. In this dissertation, we present an infrastructure to enable self-awareness. The primary contributions of the work are four fold. First, an architecture with a programming framework is proposed as the programming middleware. It guarantees fine-grained real-time controllability of a system by enabling self-reflection, self-prediction, and self-adaptation. Second, a new peripheral interconnection bus is designed to support static adaptation. Third, we propose mechanisms in field programmable gate arrays to support both hardware dynamic partial reconfiguration and software migration. For the first time, we unify the self-adaptation of hardware and software in a single framework. Fourth, we implement brute-force based self-synthesis method to generate novel solutions and lay the groundwork research for an ontological semantics-based approach. The architecture explores a reflective view of self-aware systems where the services, software and hardware modules execute in a kernel, and run-time task management is designed and implemented within the same programming paradigm: extended port-based objects. Extended port-based objects build the basis of a programming model to provide specific, yet flexible, guidelines to system engineers for creating and integrating functionality; and it forms the foundation of a self-aware model to provide specific methods for monitoring the running task configuration and estimating the novel but non-running task solutions. The new peripheral interconnects bus and internal modules interconnection mechanism extend the dimension of adaptation from static to dynamic, and extend the dimension of control of modules from software functionalities to hardware functionalities. All of these are embodied in the proposed infrastructure. They are general and reusable; thus, all details are hidden from engineers. Engineers only need to focus on programming functional parts and ignore details of how and why. Port-based automata of extended port-based objects provide a convenient approach to synthesize novel solutions. First, we implement brute-force based self-synthesis approach. To overcome the drawback of the brute-force method, we design an ontological framework and lay the groundwork research for efficient ontology-based self-synthesis.