Skip to main content

Practical Application of SPARK to OpenUxAS

  • Conference paper
  • First Online:
Formal Methods – The Next 30 Years (FM 2019)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11800))

Included in the following conference series:

Abstract

This paper presents initial, positive results from using SPARK to prove critical properties of OpenUxAS, a service-oriented software framework developed by AFRL for mission-level autonomy for teams of cooperating unmanned vehicles. Given the intended use of OpenUxAS, there are many safety and security implications; however, these considerations are unaddressed in the current implementation. AFRL is seeking to address these considerations through the use of formal methods, including through the application of SPARK, a programming language that includes a specification language and a toolset for proving that programs satisfy their specifications. Using SPARK, we reimplemented one of the core services in OpenUxAS and proved that a critical part of its functionality satisfies its specification. This successful application provides a foundation for further applications of formal methods to OpenUxAS.

DISTRIBUTION STATEMENT A: Distribution unlimited; approved for public release; case number 88ABW-2017-1985.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For the remainder of the paper, we use “task” to refer to a component of a mission in UxAS (see: [3]). When we refer to an Ada task, we will clearly indicate it as such.

  2. 2.

    https://github.com/afrl-rq/OpenUxAS.

  3. 3.

    https://github.com/afrl-rq/OpenAMASE.

  4. 4.

    https://github.com/afrl-rq/LmcpGen.

  5. 5.

    http://zeromq.org.

  6. 6.

    https://github.com/afrl-rq/OpenUxAS/wiki/Core-Services-Description.

  7. 7.

    In addition to standard containers defined by Ada in the form of generic packages, SPARK includes a library of formal containers that have been designed specifically to facilitate proof.

  8. 8.

    https://github.com/AdaCore/OpenUxAS, in the ‘ada’ branch.

  9. 9.

    We do not use Ada equality on the request queues: the requests contain parts which are hidden from SPARK, so SPARK does not know the meaning of equality for these queues; this is not the case, however, for the data configuration where we took care to only store SPARK-compatible information.

References

  1. Butler, R.W., Finelli, G.B.: The infeasibility of experimental quantification of life-critical software reliability. SIGSOFT Softw. Eng. Notes 16(5), 66–76 (1991). https://doi.org/10.1145/123041.123054

    Article  Google Scholar 

  2. Dross, C., et al.: Climbing the software assurance ladder-practical formal verification for reliable software (2018). https://www.adacore.com/uploads/techPapers/spark_avocs_2018.pdf

  3. Kingston, D., Rasmussen, S., Humphrey, L.: Automated UAV tasks for search and surveillance. In: 2016 IEEE Conference on Control Applications (CCA), pp. 1–8 (September 2016). https://doi.org/10.1109/CCA.2016.7587813

  4. Kingston, D., Beard, R.W., Holt, R.S.: Decentralized perimeter surveillance using a team of UAVs. IEEE Trans. Robot. 24(6), 1394–1404 (2008)

    Article  Google Scholar 

  5. Rasmussen, S., Kingston, D., Humphrey, L.: A brief introduction to unmanned systems autonomy services (UxAS), pp. 257–268 (June 2018). https://doi.org/10.1109/ICUAS.2018.8453287

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Laura Humphrey .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 This is a U.S. government work and not under copyright protection in the U.S.; foreign copyright protection may apply

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Aiello, M.A., Dross, C., Rogers, P., Humphrey, L., Hamil, J. (2019). Practical Application of SPARK to OpenUxAS. In: ter Beek, M., McIver, A., Oliveira, J. (eds) Formal Methods – The Next 30 Years. FM 2019. Lecture Notes in Computer Science(), vol 11800. Springer, Cham. https://doi.org/10.1007/978-3-030-30942-8_45

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-30942-8_45

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-30941-1

  • Online ISBN: 978-3-030-30942-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics