NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Back to Results
The MINERVA Software Development ProcessThis paper presents a software development process for safety-critical software components of cyber-physical systems. The process is called MINERVA, which stands for Mirrored Implementation Numerically Evaluated against Rigorously Verified Algorithms. The process relies on formal methods for rigorously validating code against its requirements. The software development process uses: (1) a formal specification language for describing the algorithms and their functional requirements, (2) an interactive theorem prover for formally verifying the correctness of the algorithms, (3) test cases that stress the code, and (4) numerical evaluation on these test cases of both the algorithm specifications and their implementations in code. The MINERVA process is illustrated in this paper with an application to geo-containment algorithms for unmanned aircraft systems. These algorithms ensure that the position of an aircraft never leaves a predetermined polygon region and provide recovery maneuvers when the region is inadvertently exited.
Document ID
20170005461
Acquisition Source
Langley Research Center
Document Type
Conference Paper
Authors
Narkawicz, Anthony
(NASA Langley Research Center Hampton, VA, United States)
Munoz, Cesar A.
(NASA Langley Research Center Hampton, VA, United States)
Dutle, Aaron M.
(NASA Langley Research Center Hampton, VA, United States)
Date Acquired
June 12, 2017
Publication Date
May 16, 2017
Subject Category
Computer Programming And Software
Report/Patent Number
NF1676L-26800
Meeting Information
Meeting: NASA Formal Methods Symposium (NFM) 2017
Location: Moffet Field, CA
Country: United States
Start Date: May 16, 2017
End Date: May 18, 2017
Sponsors: NASA Ames Research Center
Funding Number(s)
WBS: WBS 999182.02.85.07.01
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available