Applying Formal Methods for Integrating Advanced Algorithms in Safety Critical Systems
Abstract
In software engineering it is essential that updates are deployed for continual improvement. While software updates bring new functionality, updates also may
introduce instability. This leads to failures of various kinds. This is especially
problematic in safety-critical systems where there is a potential for injury or loss
of life. However, newer and more sophisticated software carries potential advantages, including higher performance and reliability. Therefore, there are benefits
in adopting newer software if the integration process is assured. In this thesis, I
present a framework for assured integration; one that links requirements, design,
and implementation. The proposed framework includes a new design approach and
new software design tools. The approach calls for an embedded decision-making
architecture in an autonomous system which contains constrained variants of the
desired complex software. The modules are subject to an authoritative module
that observes their behavior. Constrained modules are developed by creating verified formal models from underlying component requirements. Those models are
used to generate runtime validation code that detects requirement failures.