Abstract
As software becomes more complex, it becomes more difficult to verify its correctness. This poses a particular problem for autonomous systems, since they are software-intensive and will also require strong evidence of correctness in order to be allowed to operate in the real world. One way to help address this problem is through the use of formal methods, i.e. mathematically-based tools for software and hardware verification. In this paper, we perform formal program verification on a service in OpenUxAS, a free and open source software framework for mission-level, multi-vehicle autonomy. More specifically, we apply the SPARK language and verification toolset to a service that sanity-checks and segments long sequences of vehicle waypoints to prove that it is free of runtime errors.
- AdaCore. 2022. LEARN.ADACORE.COM. https://learn.adacore.comGoogle Scholar
- AFRL/RQQ. 2017. LmcpGen. https://github.com/afrl-rq/LmcpGenGoogle Scholar
- AFRL/RQQ. 2017. OpenAMASE. https://github.com/afrl-rq/ OpenAMASEGoogle Scholar
- AFRL/RQQ. 2017. OpenUxAS. https://github.com/afrl-rq/OpenUxASGoogle Scholar
- M Anthony Aiello, Claire Dross, Patrick Rogers, Laura Humphrey, and James Hamil. 2019. Practical application of SPARK to OpenUxAS. In International Symposium on Formal Methods. Springer, 751--761.Google Scholar
Digital Library
- John Barnes. 2014. Programming in Ada 2012. Cambridge University Press.Google Scholar
- Zachry Basnight, Steven Rasmussen, Alex Starr, Matthew Duquette, and Krishnamoorthy Kalyanam. 2012. Simulating cooperative control algorithms using MATLAB, Simulink, and AMASE. In AIAA Modeling and Simulation Technologies Conference. AIAA, 8359.Google Scholar
- Matthew L Bolton, Elliot Biltekoff, and Laura Humphrey. 2021. The level of measurement of subjective situation awareness and Its dimensions in the Situation Awareness Rating Technique (SART). IEEE Transactions on Human-Machine Systems (2021).Google Scholar
- W. Dahm. 2010. Report on Technology Horizons: A Vision for Air Force Science & Technology During 2010--2030. Technical Report AF/ST-TR- 10-01-PR. United States Air Force.Google Scholar
- Jennifer A Davis, Laura R Humphrey, and Derek B Kingston. 2019. When human intuition fails: Using formal methods to find an error in the 'proof' of a multi-agent protocol. In International Conference on Computer Aided Verification (CAV). Springer, 366--375.Google Scholar
Cross Ref
- Matthew Duquette. 2011. The common mission automation services interface. In [email protected]. AIAA, 1542.Google Scholar
- Trevor Elliott, Mohammed Alshiekh, Laura R Humphrey, Lee Pike, and Ufuk Topcu. 2019. Salty -- A domain specific language for GR (1) specifications and designs. In 2019 International Conference on Robotics and Automation (ICRA). IEEE, 4545--4551.Google Scholar
Digital Library
- Jean-Christophe Filliâtre and Andrei Paskevich. 2013. Why3 -- Where programs meet provers. In European Symposium on Programming (ESOP). Springer, 125--128.Google Scholar
Digital Library
- David Greve, Jennifer Davis, and Laura Humphrey. 2022. A mechanized proof of bounded convergence time for the Distributed Perimeter Surveillance System (DPSS) Algorithm A. In 17th ACL2 Workshop (Electronic Proceedings in Theoretical Computer Science (EPTCS) 359), Rob Sumners and Cuong Chau (Eds.). 33--47.Google Scholar
- Pieter Hintjens. 2013. ZeroMQ. O'Reilly Media Inc.Google Scholar
- iMatix Corporation. 2015. Zyre. https://github.com/zeromq/zyreGoogle Scholar
- Nidhi Kalra and Susan M Paddock. 2016. Driving to safety: How many miles of driving would it take to demonstrate autonomous vehicle reliability? Transportation Research Part A: Policy and Practice 94 (2016), 182--193.Google Scholar
Cross Ref
- Derek Kingston, Steven Rasmussen, and Laura Humphrey. 2016. Automated UAV tasks for search and surveillance. In International Conference on Control Applications (CCA). IEEE.Google Scholar
Cross Ref
- John W McCormick and Peter C Chapin. 2015. Building high integrity applications with SPARK. Cambridge University Press.Google Scholar
- Yannick Moy. 2019. Climbing the software assurance ladder -- Practical formal verification for reliable software. Electronic Communications of the EASST 76 (2019).Google Scholar
- Luan V Nguyen, Bardh Hoxha, Taylor T Johnson, and Georgios Fainekos. 2018. Mission planning for multiple vehicles with temporal specifications using UxAS. IFAC-PapersOnLine 51, 16 (2018), 67--72.Google Scholar
Cross Ref
- Steven Rasmussen, Derek Kingston, and Laura Humphrey. 2018. A brief introduction to Unmanned Systems Autonomy Services (UxAS). In International Conference on Unmanned Aircraft Systems (ICUAS). IEEE, 257--268.Google Scholar
Cross Ref
- Cumhur Erkan Tuncali, Bardh Hoxha, Guohui Ding, Georgios Fainekos, and Sriram Sankaranarayanan. 2018. Experience report: Application of falsification methods on the UxAS system. In NASA Formal Methods Symposium. Springer, 452--459.Google Scholar
Cross Ref
- JiajunWei, Matthew L Bolton, and Laura Humphrey. 2020. The level of measurement of trust in automation. Theoretical Issues in Ergonomics Science 22, 3 (2020), 274--295.Google Scholar
Recommendations
Simulation of fully autonomous control of unmanned air vehicles for maritime surveillance
SpringSim '10: Proceedings of the 2010 Spring Simulation MulticonferenceAs the usage of unmanned systems become more prevalent, defence departments around the world are looking for new modes of human-system interaction that increase the level of autonomy of the vehicle, while maintaining operator control and trust. Defence ...
Developing safety critical software for an unmanned aerial vehicle situational awareness tool
SIGAda '06: Proceedings of the 2006 annual ACM SIGAda international conference on AdaIn this paper, we describe our application of the SPARK programming language to the development of flight control software for an Unmanned Aerial Vehicle (UAV). The SPARK language was used during a senior-level software engineering course at the US Air ...
Landing and Perching on Vertical Surfaces with Microspines for Small Unmanned Air Vehicles
We present the first results of a system that allows small fixed-wing UAVs to land and cling on surfaces such as brick walls using arrays of microspines that engage asperities on the surface. The requirements of engaging and loading the spines lead to ...






Comments