On Teaching Applied Formal Methods in Aerospace Engineering
Is Version Of
As formal methods come into broad industrial use for verification of safety-critical hardware, software, and cyber-physical systems, there is an increasing need to teach practical skills in applying formal methods at both the undergraduate and graduate levels. In the aerospace industry, flight certification requirements like the FAA’s DO-178B, DO-178C, DO-333, and DO-254, along with a series of high-profile accidents, have helped turn knowledge of formal methods into a desirable job skill for a wide range of engineering positions. We approach the question of verification from a safety-case perspective: the primary teaching goal is to impart students with the ability to look at a verification question and identify what formal methods are applicable, which tools are available, what the outputs from those tools will say about the system, and what they will not, e.g., what parts of the safety case need to be provided by other means. We overview the lectures, exercises, exams, and student projects in a mixed-level (undergraduate/graduate) Applied Formal Methods course (Additional materials are available on the course website: http://temporallogic.org/courses/AppliedFormalMethods/) taught in an Aerospace Engineering department. We highlight the approach, tools, and techniques aimed at imparting a good sense of both the state of the art and the state of the practice of formal methods in an effort to effectively prepare students headed for jobs in an increasingly formal world.
This is a post-peer-review, pre-copyedit version of an article published as Rozier, Kristin Yvonne. "On Teaching Applied Formal Methods in Aerospace Engineering." In Proceedings of the Formal Methods Teaching Workshop (FMTea) at the 3rd World Congress on Formal Methods. Porto, Portugal, October 7, 2019. Lecture Notes in Computer Science (LNCS) vol. 11758 (2019): 111-131. The final authenticated version is available online at: 10.1007/978-3-030-32441-4_8. Posted with permission.