skip to main content
10.1145/1315580.1315594acmconferencesArticle/Chapter ViewAbstractPublication PagesadaConference Proceedingsconference-collections
Article

Verified component-based software in SPARK: experimental results for a missile guidance system

Authors Info & Claims
Published:04 November 2007Publication History

ABSTRACT

SPARK is useful for developing reliable software for safety-critical systems, using the `correctness-by-construction' approach. It also has verification tools that can be used to produce verified software. To tackle larger-scale development of verified software, components are useful. In this paper we show how to define and implement software components in SPARK and use existing SPARK tools to produce verified component-based software. We demon- strate our approach on a missile guidance system.

References

  1. P. Amey. Correctness by construction: Better can also be cheaper. CrossTalk (The Journal of Defense Software Engineering), pages 24--28, March 2002.Google ScholarGoogle Scholar
  2. J. Barnes. High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. M. Barnett, K. Leino, and W. Schulte. The Spec# programming system: An overview. In Proc. Int. Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices, LNCS 3362, pages 49--69. Springer, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley, second edition, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. E. Colbert and B. Lewis. Architecture-centered development of time critical systems with AADL, UML and Ada. In Proceedings of ACM SIGAda 2003, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Croxford and R. Chapman. Correctness by construction: A manifesto for high-integrity software. CrossTalk, The Journal of Defense Software Engineering, pages 5--8, December 2005.Google ScholarGoogle Scholar
  7. L. DeMichiel and M. Keith. Enterprise JavaBeans, Version 3.0. Sun Microsystems, 2006.Google ScholarGoogle Scholar
  8. P. Dissaux. Using the AADL for mission critical software development. In Proceedings of ERTS 2004, http://la.sei.cmu.edu/aadlinfosite/ AADLPublications&Presentations.html, 2004.Google ScholarGoogle Scholar
  9. A. Hall and R. Chapman. Correctness by construction: Developing a commercial secure system. IEEE Software, pages 18--25, Jan/Feb 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Hilton. High Integrity Hardware-Software Codesign. PhD thesis, The Open University, April 2004.Google ScholarGoogle Scholar
  11. T. Hoare and J. Misra. Verified software: theories, tools, experiments-vision of a grand challenge project. In Proceedings of IFIP working conference on Verified Software: theories, tools, experiments, 2005.Google ScholarGoogle Scholar
  12. IFIP TC2 working conference on Verified Software: Theories, Tools, Experiments, 10-13 October 2005, ETH Zürich, Switzerland. http://vstte.ethz.ch/.Google ScholarGoogle Scholar
  13. The Java Modeling Language (JML) Home Page. http://www.cs.iastate.edu/$\sim$leavens/JML.html.Google ScholarGoogle Scholar
  14. K.-K. Lau. Software component models. In Proc. 28th Int. Conf. on Software Engineering, pages 1081--1082. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. K.-K. Lau, M. Ornaghi, and Z. Wang. A software component model and its preliminary formalisation. In F. de Boer et al., editor, Proc. 4th Int. Symp. on Formal Methods for Components and Objects, LNCS 4111, pages 1--21. Springer-Verlag, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. K.-K. Lau, P. Velasco Elizondo, and Z. Wang. Exogenous connectors for software components. In G. Heineman et al., editor, Proc. 8th Int. Symp. on Component-based Software Engineering, LNCS 3489, pages 90--106. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. K.-K. Lau and Z. Wang. A survey of software component models. Second edition, Pre-print CSPP-38, School of Computer Science, The University of Manchester, May 2006. http://www.cs.man.ac.uk/cspreprints/PrePrints/cspp38.pdf.Google ScholarGoogle Scholar
  18. N. Medvidovic and R. N. Taylor. A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 26(1):70--93, January 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Szyperski, D. Gruntz, and S. Murer. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, second edition, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Verified component-based software in SPARK: experimental results for a missile guidance system

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        SIGAda '07: Proceedings of the 2007 ACM international conference on SIGAda annual international conference
        November 2007
        116 pages
        ISBN:9781595938763
        DOI:10.1145/1315580
        • cover image ACM SIGAda Ada Letters
          ACM SIGAda Ada Letters  Volume XXVII, Issue 3
          SIGAda '07
          December 2007
          93 pages
          ISSN:1094-3641
          DOI:10.1145/1315607
          Issue’s Table of Contents

        Copyright © 2007 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 4 November 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!