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.
- P. Amey. Correctness by construction: Better can also be cheaper. CrossTalk (The Journal of Defense Software Engineering), pages 24--28, March 2002.Google Scholar
- J. Barnes. High Integrity Software: The SPARK Approach to Safety and Security. Addison-Wesley, 2003. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- L. Bass, P. Clements, and R. Kazman. Software Architecture in Practice. Addison-Wesley, second edition, 2003. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- L. DeMichiel and M. Keith. Enterprise JavaBeans, Version 3.0. Sun Microsystems, 2006.Google Scholar
- 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 Scholar
- A. Hall and R. Chapman. Correctness by construction: Developing a commercial secure system. IEEE Software, pages 18--25, Jan/Feb 2002. Google Scholar
Digital Library
- A. Hilton. High Integrity Hardware-Software Codesign. PhD thesis, The Open University, April 2004.Google Scholar
- 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 Scholar
- IFIP TC2 working conference on Verified Software: Theories, Tools, Experiments, 10-13 October 2005, ETH Zürich, Switzerland. http://vstte.ethz.ch/.Google Scholar
- The Java Modeling Language (JML) Home Page. http://www.cs.iastate.edu/$\sim$leavens/JML.html.Google Scholar
- K.-K. Lau. Software component models. In Proc. 28th Int. Conf. on Software Engineering, pages 1081--1082. ACM Press, 2006. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- C. Szyperski, D. Gruntz, and S. Murer. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, second edition, 2002. Google Scholar
Digital Library
Index Terms
Verified component-based software in SPARK: experimental results for a missile guidance system
Recommendations
Verified component-based software in SPARK: experimental results for a missile guidance system
SIGAda '07SPARK 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 ...
Verified software: theories, tools and experiments
The importance of verification for software products is being increasingly appreciated in industry, although still not to the level to make it a standard approach to high quality software in industry. Since 2005, a global initiative has been underway, ...
Software Component Models
Component-based Development (CBD) is an important emerging topic in Software Engineering, promising long sought after benefits like increased reuse, reduced time-to-market and hence software production cost. The cornerstone of a CBD technology is its ...







Comments