skip to main content
10.1145/2532352.2532353acmconferencesArticle/Chapter ViewAbstractPublication PagesscConference Proceedingsconference-collections
research-article

Document driven certification of computational science and engineering software

Published:17 November 2013Publication History

ABSTRACT

This paper presents a documentation and development methodology to facilitate the certification of Computational Science and Engineering (CSE) software that is produced by professional end user developers to solve mathematical models of physical systems. To study the problems faced during quality assurance and certification activities, a case study was performed on legacy software used by a nuclear power generating company for safety analysis in a nuclear reactor. Although no errors were uncovered in the code, the documentation still needed significant updating for certification, since its was incomplete and inconsistent. During the case study, 27 issues were found with the documentation. This work proposes improvements to the case study software and other CSE software via a new template for the Software Requirements Specification (SRS) that clearly and sufficiently states the requirements, while satisfying the desired qualities for a good SRS. For developing the design and implementation, this paper suggests Literate Programming (LP) as an alternative to traditional structured programming. Literate Programming documents the numerical algorithms and the logic behind the development and the code together in the same document, the Literate Programmer's Manual (LPM). The LPM is developed in connection with the SRS. The explicit traceability between the theory, numerical algorithms and implementation (code), facilitates completeness and consistency, and simplifies the process of verification and the associated certification.

References

  1. CSA. Quality assurance of analytical, scientific, and design computer programs for nuclear power plants. Technical Report N286.7-99, Canadian Standards Association, March 1999.Google ScholarGoogle Scholar
  2. ESA. ESA software engineering standards, PSS-05-0 issue 2. Technical report, European Space Agency, February 1991.Google ScholarGoogle Scholar
  3. John Hatcliff, Mats Heimdahl, Mark Lawford, Tom Maibaum, Alan Wassyng, and Fred Wurden. A Software Certification Consortium and its Top 9 Hurdles. Electronic Notes in Theoretical Computer Science, 238(4): 11--17, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. IEEE. Recommended practice for Software Requirements Specifications. IEEE, June 1998.Google ScholarGoogle Scholar
  5. Andrew Johnson and Brad Johnson. Literate programming using noweb. Linux J., Article No 1, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Donald E. Knuth. The WEB system of structured documentation. Stanford Computer Science Report CS980, Stanford University, Stanford, CA, September 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Donald E. Knuth. Literate Programming. CSLI Lecture Notes Number 27. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Donald E. Knuth and Silvio Levy. The CWEB System of Structured Documentation. Addison-Wesley, Reading, Massachusetts, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Nirmitha Koothoor. A document driven approach to certifying scientific computing software. Master's thesis, McMaster University, Hamilton, Ontario, Canada, 2013.Google ScholarGoogle Scholar
  10. Literate programming web site. http://www.literateprogramming.com.Google ScholarGoogle Scholar
  11. Thomas Maibaum and Alan Wassyng. A Product-Focused Approach to Software Certification. IEEE Computer, 41(2): 91--93, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Andrew P. Moore, Charles N. Payne, and Jr. Increasing assurance with literate programming techniques. In Proceedings of 11th Annual Conference on Computer Assurance. COMPASS '96, pages 187--198, 1996.Google ScholarGoogle ScholarCross RefCross Ref
  13. NASA. Software requirements DID, SMAP-DID-P200-SW, release 4.3. Technical report, National Aeronautics and Space Agency, 1989.Google ScholarGoogle Scholar
  14. Nedialko S. Nedialkov. VNODE-LP --- a validated solver for initial value problems in ordinary differential equations. Technical Report CAS-06-06-NN, Department of Computing and Software, McMaster University, 1280 Main Street West, Hamilton, Ontario, L8S 4K1, 2006. VNODE-LP is available at http://www.cas.mcmaster.ca/~nedialk/vnodelp.Google ScholarGoogle Scholar
  15. David L. Parnas and P. C. Clements. A rational design process: How and why to fake it. IEEE Transactions on Software Engineering, 12(2): 251--257, February 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Matt Pharr and Greg Humphreys. Physically Based Rendering: From Theory to Implementation. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Joachim Schrod. Typesetting cweave output. CTAN, the Comprehensive TEX Archive Network, 1995.Google ScholarGoogle Scholar
  18. Judith Segal. End-user software engineering and professional end-user developers. In Dagstuhl Seminar Proceedings 07081, End-User Software Engineering, 2007.Google ScholarGoogle Scholar
  19. Judith Segal and Chris Morris. Developing scientific software. IEEE Software, 25(4): 18--20, July/August 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Lisa M. C. Smith and Mansur H. Samadzadeh. An annotated bibliography of literate programming. ACM SIGPLAN Notices, 26(1): 14--20, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. W. Spencer Smith, Lei Lai, and Ridha Khedri. Requirements analysis for engineering computation: A systematic approach for improving software reliability. Reliable Computing, Special Issue on Reliable Engineering Computation, 13, 2007.Google ScholarGoogle Scholar
  22. I. Sommerville and P. Sawyer. Requirement Engineering: A Good Practice Guide. John Wiley & Sons Ltd., 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Document driven certification of computational science and engineering software

      Recommendations

      Reviews

      Angelica de Antonio

      This paper proposes a very specific development and documentation methodology to be used for software produced by professional end-user developers to solve mathematical models of physical systems (the so-called computational science and engineering (CSE) software). This methodology combines the use of a new template for the software requirements specification (SRS) (in fact, it is an adaptation from a previous template proposed by one of the authors and other researchers for engineering computation, with a few additional sections) and the application of literate programming in the design and implementation stages. Literate programming is an approach proposed by Donald Knuth back in the early '90s that suggests documenting design together with the code, so that the logic and concepts behind each implemented algorithm are made explicit and understandable to the human reader. Code is decomposed into an interconnected web of smaller chunks, and each chunk is explicitly connected to the SRS. The final goal is to facilitate quality assurance and certification activities by providing high-quality documentation that simplifies checking completeness, correctness, and other desired properties, and that is capable of addressing changes in the underlying mathematical model or the numerical techniques employed, given that the connection among the model and its implementation is made apparent. The authors applied this methodology in a case study in the domain of nuclear power plant safety. Legacy software for thermal analysis was redeveloped and some excerpts from the generated documentation are used as examples throughout the paper. This approach allowed the detection of quite a few issues in the original documentation that could have been avoided by following the proposed methodology. Given the specificity of the software development context that is addressed (CSE software under strict certification requirements), this paper might be of practical interest to a limited audience. Additional details about the SRS template and the case study products can be found in a master's thesis [1], which is freely available online, allowing interested readers to explore further. Online Computing Reviews Service

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.

      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
        SE-HPCCSE '13: Proceedings of the 1st International Workshop on Software Engineering for High Performance Computing in Computational Science and Engineering
        November 2013
        49 pages
        ISBN:9781450324991
        DOI:10.1145/2532352

        Copyright © 2013 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 November 2013

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        SE-HPCCSE '13 Paper Acceptance Rate7of12submissions,58%Overall Acceptance Rate7of12submissions,58%
      • Article Metrics

        • Downloads (Last 12 months)1
        • Downloads (Last 6 weeks)1

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader