Automated Revision of Embedded Systems
Principle
Investigator: Sandeep
Kulkarni
Funding from:
AFOSR
Proposal Summary
This project
focuses on automated program revision of programs where an existing program is
to be transformed to meet new properties of interest. Need for such revision
arises in several scenarios, e.g., when the requirements change, or bugs are
found. We consider program revision for cases where an existing program is
modified to meet new safety properties, new timing constraints, and/or new
fault-tolerance requirements. One of the important requirements for such
revision is that no new bugs are introduced during the revision, i.e., existing
properties continue to be satisfied.
With this motivation, in this project, we will develop complexity results,
algorithms and tools for automated program revision for embedded systems, which
are engineering artifacts that involve computation that is subject to physical
world constraints. In particular, we will focus on three main challenges in
such program revision: First, we will develop complexity results and algorithms
for the case where the program needs to satisfy real-time constraints with
partial observability caused due to the fact that one
component cannot observe the
internal state of another component. Second, we will develop models and
algorithms for representing the constraints imposed by the fact that the
embedded system has to interact with the physical world. Third, we will develop
algorithms for providing graceful degradation, a property crucial for embedded
systems employed in safety critical systems. We will also integrate the algorithms
developed in this proposal with our synthesis tool SYCRAFT. We expect that this
will assist in designers to perform automated revision to satisfy new
properties in embedded programs as well as to find missing specifications.