Skip to main content

Programming and Validation Techniques for Reliable Goal-driven Autonomic Software

  • Chapter
  • First Online:
Book cover Autonomic Communication

Abstract

Future space missions such as theMars Science Laboratory demand the engineering of some of the most complex man-rated autonomous software systems. According to some recent estimates, the certification cost for mission-critical software exceeds its development cost. The current process-oriented methodologies do not reach the level of detail of providing guidelines for the development and validation of concurrent software. Time and concurrency are themost critical notions in an autonomous space system. In thiswork we present the design and implementation of a first concurrency and time centered framework for verification and semantic parallelization of real-time C++ within the JPL Mission Data System Framework (MDS). The end goal of the industrial project that motivated our work is to provide certification artifacts and accelerated testing of the complex software interactions in autonomous flight systems. As a case study we demonstrate the verification and semantic parallelization of the MDS Goal Networks.

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 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Boehm, B. and Bhuta, J. and Garlan, D. and Gradman, E. and Huang, L. and Lam, A. and Madachy, R. and Medvidovic, N. and Meyer, K. and Meyers, S. and Perez, G. and Reinholtz, K. and Roshandel, R. and Rouquette, N.: Using Empirical Testbeds to Accelerate Technology Maturity and Transition: The SCR over Experience. ISESE ’04: Proceedings of the 2004 International Symposium on Empirical Software Engineering (2004)

    Google Scholar 

  2. Brat, G. and Drusinsky, D. and Giannakopoulou, D. and Goldberg, A. and Havelund, K. and Lowry, M. and Pasareanu, C. and Venet, A. and Washington, R. and Visser, W.: Experimental Evaluation of Verification and Validation Tools on Martian Rover Software. Formal Methods in Systems Design Journal, September (2005)

    Google Scholar 

  3. Columbia Accident Investigation Board: Columbia Accident Investigation Board Report Volume 1, http://caib.nasa.gov/

  4. Cormen, T. and Leiserson, C. and Rivest, R. and Stein, C.: Introduction to algorithms. ISBN 0-262-03293-7, MIT Press (2001)

    Google Scholar 

  5. Dechev, D. and Pirkelbauer, P. and Stroustrup, B.: Lock-Free Dynamically Resizable Arrays. OPODIS 2006, Lecture Notes in Computer Science, Volume 4305 (2006)

    Google Scholar 

  6. Denney, E. and Fischer, B.: Software Certification and Software Certification Management Systems. SoftCement05: In Proceedings of the 2005 ASE Workshop on Software Certificate Management (2005)

    Google Scholar 

  7. Detlefs, D. and Flood, C. and Garthwaite, A. and Martin, P. and Shavit, N. and Steele, G.: Even Better DCAS-Based Concurrent Deques. International Symposium on Distributed Computing (2000)

    Google Scholar 

  8. Dick, R. and Rhodes, D. and Wolf, W.: TGFF: task graphs for free. CODES/CASHE ’98: Proceedings of the 6th international workshop on Hardware/software codesign (1998)

    Google Scholar 

  9. Dvorak, D.: Challenging encapsulation in the design of high-risk control systems. Proceedings of the 17th ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications OOPSLA (2002)

    Google Scholar 

  10. Dvorak, D. and Bollella, G. and Canham, T. and Carson, V. and Champlin, V. and Giovannoni, B. and Indictor, M. and Meyer, K. and Murray, A. and Reiinholtz, K.: Project Golden Gate: Towards Real-Time Java in Space Missions. In the Proceedings of the 7th IEEE International Symposium on Object-Oriented Real-Time Distributed Computing ISORC (2004)

    Google Scholar 

  11. Fraser, K.: Practical lock-freedom. Technical Report UCAM-CL-TR-579, University of Cambridge, Computer Laboratory (2004)

    Google Scholar 

  12. Gluck, R. and Holzmann, G.: Using SPIN Model Checker for Flight Software Verification. In Proceedings of the 2002 IEEE Aerospace Conference (2002)

    Google Scholar 

  13. Harris, T. and Fraser, K. and Pratt, I.: A practical multi-word compare-and-swap operation. Proceedings of the 16th International Symposium on Distributed Computing (2002)

    Google Scholar 

  14. Herlihy, M.: A methodology for implementing highly concurrent data structures. PPOPP ’90: Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming (1990)

    Google Scholar 

  15. Intel: Reference for Intel Threading Building Blocks, Version 1.0 (2006)

    Google Scholar 

  16. Jackson, D.: Software Abstractions: Logic, Language and Analysis. The MIT Press (2006)

    Google Scholar 

  17. Lamport, L.: How to make a multiprocessor computer that correctly executes programs. IEEE Trans. Comput. (1979)

    Google Scholar 

  18. Lee, E. and Neuendorffer, S.: Concurrent Models of computation for Embedded Software. IEEE Proceedings on Computers and Digital Techniques (2005)

    Google Scholar 

  19. Lou, J.: An Efficient Algorithm for Propagation of Temporal Constraint Networks. NASA Tech Brief Vol. 26 No. 4 from JPL New Technology Report NPO-21098 (2002)

    Google Scholar 

  20. Lowry, M.: Software Construction and Analysis Tools for Future Space Missions. TACAS 2002: Lecture Notes in Computer Science, Volume 2280 (2002)

    Google Scholar 

  21. Perrow, C.: Normal Accidents. Princeton University Press (1999)

    Google Scholar 

  22. Rasmussen, R. and Ingham, M. and Dvorak, D.: Achieving Control and Interoperability Through Unified Model-Based Engineering and Software Engineering. AIAA Infotech at Aerospace Conference (2005)

    Google Scholar 

  23. Dos Reis, G. and Stroustrup, B.: Specifying C++ Concepts. ISO WG21 N1886 (2005)

    Google Scholar 

  24. Rouquette, N.: Analyzing and verifying UML models with OCL and Alloy. EclipseCon (2008)

    Google Scholar 

  25. RTCA: Software Considerations in Airborne Systems and Equipment Certification DO-178B (1992)

    Google Scholar 

  26. Schumann, J. and Visser, W.: Autonomy Software: V & V Challenges and Characteristics. In Proceedings of the 2006 IEEE Aerospace Conference (2006)

    Google Scholar 

  27. Stroustrup, B.: The C++ Programming Language. Addison-Wesley Longman Publishing (2000)

    Google Scholar 

  28. Stroustrup, B. and Dos Reis, G.: Supporting SELL for High-Performance Computing. In Proceedings of the International Workshop on Languages and Compilers for Parallel Computing LCPC (2005).

    Google Scholar 

  29. Volpe, R. and Nesnas, I. and Estlin, T. and Mutz, D. and Petras, R. and Das, H.: The CLARATy Architecture for Robotic Autonomy. IEEE Aerospace Conference (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Damian Dechev .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Dechev, D., Rouquette, N., Pirkelbauer, P., Stroustrup, B. (2009). Programming and Validation Techniques for Reliable Goal-driven Autonomic Software. In: Vasilakos, A., Parashar, M., Karnouskos, S., Pedrycz, W. (eds) Autonomic Communication. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09753-4_9

Download citation

  • DOI: https://doi.org/10.1007/978-0-387-09753-4_9

  • Published:

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-387-09752-7

  • Online ISBN: 978-0-387-09753-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics