Motivations and Goals
Critical control software is becoming increasingly complex and certification standards increasingly high. In this
context, it becomes necessary to drive certification costs down while improving safety assurance. We
provide a development framework, which draws from control theory concepts and formal analysis to offer a
credible, automated control software generation tool. This endeavor, at the intersection of control theory
and computer science, aims at bringing together the 2 communities and facilitating their interaction. Indeed
it is believed domain specific knowledge can prove itself invaluable in the certification and analysis of
generated software.
The challenges are numerous:
- Providing controller designers with easy ways of including stability and performance proofs to their
controller diagrams.
- Coming up with a semantic to express stability and performance properties at the level of the code and
potentially at intermediate levels of representation of the controller.
- Developing a compiler able to translate these proofs and properties along with the actual controller.
- Study the effect of various model transformations on the validity of the proof (e.g. from an abstraction
standpoint):
- Discretization
- Floating-point arithmetic
- Machine-level constructs (pointers)
- Replaying the proofs down at the level of the code in an automatic fashion.
- As the model gets closer to implementation, handle artifacts of concretization such as array bound checks
and pointer de-referencing.