Skip to main content

A Flight Rule Checker for the LADEE Lunar Spacecraft

  • Conference paper
  • First Online:
Theoretical Aspects of Computing – ICTAC 2020 (ICTAC 2020)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12545))

Included in the following conference series:

Abstract

As part of the design of a space mission, an important part is the design of so-called flight rules. Flight rules express constraints on various parts and processes of the mission, that if followed, will reduce the risk of failure. One such set of flight rules constrain the format of command sequences regularly (e.g. daily) sent to the spacecraft to control its next near term behavior. We present a high-level view of the automated flight rule checker Frc for checking command sequences sent to NASA’s LADEE Lunar mission spacecraft, used throughout its entire mission. A command sequence is in this case essentially a program (a sequence of commands) with no loops or conditionals, and it can therefore be verified with a trace analysis tool. Frc is implemented using the TraceContract runtime verification tool, an internal Scala DSL for checking event sequences against “formal specifications”. The paper illustrates this untraditional use of runtime verification in a real context, with strong demands on the expressiveness and flexibility of the specification language, illustrating the advantages of an internal DSL.

The research by the second author was carried out at Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.

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.

    Note that we have made some simplifications for ease of presentation.

References

  1. Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 44–57. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24622-0_5

    Chapter  MATH  Google Scholar 

  2. Barringer, H., Groce, A., Havelund, K., Smith, M.: Formal analysis of log files. J. Aerospace Comput. Inf. Commun. 7(11), 365–390 (2010)

    Article  Google Scholar 

  3. Barringer, H., Havelund, K.: TraceContract: a Scala DSL for trace analysis. In: Butler, M., Schulte, W. (eds.) FM 2011. LNCS, vol. 6664, pp. 57–72. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21437-0_7

    Chapter  Google Scholar 

  4. Barringer, H., Havelund, K., Kurklu, E., Morris, R.: Checking flight rules with TraceContract: application of a Scala DSL for trace analysis. In: Scala Days 2011, Stanford University, California (2011)

    Google Scholar 

  5. Barringer, H., Rydeheard, D., Havelund, K.: Rule systems for run-time monitoring: from Eagle to RuleR. In: Sokolsky, O., Taşıran, S. (eds.) RV 2007. LNCS, vol. 4839, pp. 111–125. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-77395-5_10

    Chapter  Google Scholar 

  6. Bartocci, E., Falcone, Y., Francalanza, A., Reger, G.: Introduction to runtime verification. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification. LNCS, vol. 10457, pp. 1–33. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5_1

    Chapter  Google Scholar 

  7. Basin, D.A., Klaedtke, F., Marinovic, S., Zălinescu, E.: Monitoring of temporal first-order properties with aggregations. Formal Methods Syst. Des. 46(3), 262–285 (2015)

    Article  Google Scholar 

  8. Bauer, A., Küster, J.-C., Vegliach, G.: From propositional to first-order monitoring. In: Legay, A., Bensalem, S. (eds.) RV 2013. LNCS, vol. 8174, pp. 59–75. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40787-1_4

    Chapter  MATH  Google Scholar 

  9. Bodden, E.: MOPBox: a library approach to runtime verification. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 365–369. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29860-8_28

    Chapter  Google Scholar 

  10. Colombo, C., Pace, G.J., Schneider, G.: LARVA – safer monitoring of real-time Java programs (tool paper). In: SEFM 2009, pp. 33–37. IEEE (2009)

    Google Scholar 

  11. D’Angelo, B., et al.: LOLA: runtime monitoring of synchronous systems. In: TIME 2005, pp. 166–174. IEEE (2005)

    Google Scholar 

  12. Daut on github. https://github.com/havelund/daut

  13. Decker, N., Leucker, M., Thoma, D.: Monitoring modulo theories. Int. J. Software Tools Technol. Transfer 18(2), 205–225 (2016)

    Article  Google Scholar 

  14. Fowler, M., Parsons, R.: Domain-Specific Languages. Addison-Wesley, Reading (2010)

    Google Scholar 

  15. Hallé, S., Villemaire, R.: Runtime enforcement of web service message contracts with data. IEEE Trans. Serv. Comput. 5(2), 192–206 (2012)

    Article  Google Scholar 

  16. Havelund, K.: Data automata in Scala. In: TASE 2014, pp. 1–9. IEEE (2014)

    Google Scholar 

  17. Havelund, K.: Rule-based runtime verification revisited. Int. J. Software Tools Technol. Transfer 17(2), 143–170 (2015)

    Article  Google Scholar 

  18. Havelund, K., Holzmann, G.: A programming approach to event monitoring. In: Rozier, K. (ed.) Formal Methods for Aerospace Engineering, Progress in Computer Science and Applied Logic. Springer (2021). Draft version, in preparation, to appear

    Google Scholar 

  19. Havelund, K., Joshi, R.: Modeling with Scala. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11244, pp. 184–205. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03418-4_12

    Chapter  Google Scholar 

  20. Havelund, K., Peled, D.: Runtime verification: from propositional to first-order temporal logic. In: Colombo, C., Leucker, M. (eds.) RV 2018. LNCS, vol. 11237, pp. 90–112. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03769-7_7

    Chapter  Google Scholar 

  21. Kim, M., Kannan, S., Lee, I., Sokolsky, O.: Java-MaC: a run-time assurance tool for Java. In: RV 2001, ENTCS, vol. 55, no. 2. Elsevier (2001)

    Google Scholar 

  22. Meredith, P.O., Jin, D., Griffith, D., Chen, F., Roşu, G.: An overview of the MOP runtime verification framework. Int. J. Software Tools Technol. Transfer 14, 249–289 (2011)

    Article  Google Scholar 

  23. Pnueli, A.: The temporal logic of programs. In: SFCS 1977, pp. 46–57. IEEE Computer Society (1977)

    Google Scholar 

  24. Reger, G., Cruz, H.C., Rydeheard, D.: MarQ: monitoring at runtime with QEA. In: Baier, C., Tinelli, C. (eds.) TACAS 2015. LNCS, vol. 9035, pp. 596–610. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46681-0_55

    Chapter  Google Scholar 

  25. Scala. http://www.scala-lang.org

  26. Stolz, V., Huch, F.: Runtime verification of concurrent Haskell programs. Electr. Notes Theor. Comput. Sci. 113, 201–216 (2005)

    Article  Google Scholar 

  27. TraceContract on github. https://github.com/havelund/tracecontract

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Klaus Havelund .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kurklu, E., Havelund, K. (2020). A Flight Rule Checker for the LADEE Lunar Spacecraft. In: Pun, V.K.I., Stolz, V., Simao, A. (eds) Theoretical Aspects of Computing – ICTAC 2020. ICTAC 2020. Lecture Notes in Computer Science(), vol 12545. Springer, Cham. https://doi.org/10.1007/978-3-030-64276-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-64276-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-64275-4

  • Online ISBN: 978-3-030-64276-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics