A Methodology for Developing a Verifiable Aircraft Engine Controller from Formal Requirements
Matt Luckcuck, Marie Farrell, Ois\'in Sheridan, Rosemary Monahan

TL;DR
This paper presents a formal, requirements-driven methodology for developing verifiable aircraft engine controllers, integrating formal requirements elicitation, simulation, and verification to improve safety and traceability.
Contribution
It introduces a novel methodology that formalizes natural-language requirements and integrates them with simulation and verification tools for aerospace systems.
Findings
Formal requirements can be automatically translated for verification
Methodology supports traceability from requirements to implementation
Applied successfully to an aircraft engine controller model
Abstract
Verification of complex, safety-critical systems is a significant challenge. Manual testing and simulations are often used, but are only capable of exploring a subset of the system's reachable states. Formal methods are mathematically-based techniques for the specification and development of software, which can provide proofs of properties and exhaustive checks over a system's state space. In this paper, we present a formal requirements-driven methodology, applied to a model of an aircraft engine controller that has been provided by our industrial partner. Our methodology begins by formalising the controller's natural-language requirements using the (pre-existing) Formal Requirements Elicitation Tool (FRET), iteratively, in consultation with our industry partner. Once formalised, FRET can automatically translate the requirements to enable their verification alongside a Simulink model of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Safety Systems Engineering in Autonomy · Model-Driven Software Engineering Techniques
