Skip to main content
Log in

Requirements Analysis for Engineering Computation: A Systematic Approach for Improving Reliability

  • Published:
Reliable Computing

Abstract

This paper argues that the reliability of engineering computation can be significantly improved by adopting software engineering methodologies for requirements analysis and specification. The argument centers around the fact that the only way to judge the reliability of a system is by comparison to a specification of the requirements. This paper also points to methods for documenting the requirements. In particular, a requirements template is proposed for specifying engineering computation software. To make the mathematical specification easily understandable by all stakeholders, the requirements documentation employs the technique of using tabular expressions. To clarify the presentation, this paper includes a case study of the documentation for a system for analyzing statically determinant beams.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Ahlander, K., Haveraaen, M., and Kaas, H. Z.: On the Role of Mathematical Abstractions for Scientific Computing, in: The Architecture of Scientific Software, Kluwer Academic Publishers, Boston, 2001, pp. 145–158.

    Google Scholar 

  2. Berry, D. M.: Formal Methods: The Very Idea, Science of Computer Programming 42 (2002), pp. 11–27.

    Article  Google Scholar 

  3. Blilie, C.: Patterns in Scientific Software: An Introduction, ComputinginScience and Engineering 4 (3) (2002), pp. 48–53.

    Article  Google Scholar 

  4. Davis, A. et al.: Identifying and Measuring Quality in a Software Requirements Specification, in: Proceedings of the 1st International Software Metrics Symposium, IEEE, 1993, pp. 141–152.

  5. Davis, A.: Software Requirements: Objects, Functions, and States, Prentice Hall, Upper Saddle River, 1993.

    MATH  Google Scholar 

  6. Desharnais, J., Khedri, R., and Mili, A.: Representation, Validation, and Integration of Scenarios Using Tabular Expressions, Formal Methods in System Design, accepted for publication.

  7. DOD: Software Development and Documentation, DOD Military StandardMIL-STD-498, Technical Report, US Department of Defence, Washington, 1994.

  8. Dubois, P. F.: Designing Scientific Components, Computing in Science and Engineering 4 (5) (2002), pp. 84–90.

    Article  Google Scholar 

  9. ESA: ESASoftware EngineeringStandards, PSS-05-0Issue 2, Technical Report, European Space Agency, 1991.

  10. Galin, D.: Software Quality Assurance: From Theory to Implementation, Pearson Education Limited, 2004.

  11. Gerlach, J.: Domain Engineering and Generic Programming for Parallel Scientific Computing, PhD thesis, Von der Fakultät at IV—Elektrotechnik und Informatik der Technischen Universität Berlin, 2002.

  12. Ghezzi, C., Jazayeri, M., and Mandrioli, D.: Fundamentals of Software Engineering, 2nd edition, Prentice Hall, Upper Saddle River, 2003.

    Google Scholar 

  13. Grundy, J.: Aspect-Oriented Requirements Engineering for Component-Based Software Systems, in: Requirements Engineering, 1999. Proceedings. IEEE International Symposium on Limerick, Ireland, June 7–11 1999, Institute of Electrical and Electronics Engineers, pp. 84–91.

  14. Hannemann, R., J.H., Zellerhoff, M., and Klinkenbusch, L.: Scientific Programming in Field Theory, Part 1, IEEE Computing in Science and Engineering 3 (3) (2001).

  15. Heninger, K. L.: Specifying Software Requirement for Complex System: New Techniques and Their Application, IEEE Transactions on Software Engineering 6 (1) (1980), pp. 2–13.

    Google Scholar 

  16. Heninger, K. L., Kallander, J., Parnas, D. L., and Shore, J. E.: Software Requirements for the A-7EAircraft, NRL memorandum report, United States Naval Research Laboratory, Washington, 1978.

    Google Scholar 

  17. IEEE: Recommended Practice for Software Requirements Specifications, IEEE Std. 830, IEEE, 1998.

  18. Janicki, R. and Khedri, R.: On a Formal Semantics of Tabular Expression, Science of Computer Programming 39 (2–3) (2001), pp. 189–213.

    Article  MathSciNet  Google Scholar 

  19. Kaindl, H., Brinkkemper, S., Bubenko, J. A., Jr., Farbey, B., and Greenspan, S. J.: Requirements Engineering and Technology Transfer: Obstacles, Incentives and Improvement Agenda, Requirements Engineering Journal 7 (3) (2002).

  20. Kreyman, K. and Parnas, D. L.: On Documentingthe Requirements for Computer Programs Based on Models of Physical Phenomena, SQRL Report 1, Software Quality Research Laboratory, McMaster University, 2002.

  21. Lai, L.: Requirements Documentation for Engineering Mechanics Software: Guidelines, Template, and a Case Study, Master's thesis, McMaster University, Hamilton, 2004.

  22. Mylopoulos, J., Chung, L., and Yu, E.: From Object-Oriented to Goal-Oriented Requirements Analysis, Communications of the ACM Archive 42 (1) (1999), pp. 31–37.

    Article  Google Scholar 

  23. NASA: External Interface Requirements DID, SMAP-DID-P210, release 4.3, Technical Report, National Aeronautics and Space Agency, 1989.

  24. NASA: Software Requirements DID, SMAP-DID-P200-SW, release 4.3, Technical Report, National Aeronautics and Space Agency, 1989.

  25. Parnas, D. L.: Tabular Representation of Relations, CRL Report 260, Telecommunications Research Institute of Ontario (TRIO), McMaster University, 1992.

  26. Parnas, D. L. and Clements, P. C.: A Rational Design Process: How and Why to Fake It, IEEE Transactions on Software Engineering 12 (2) (1986), pp. 251–257.

    Google Scholar 

  27. Parnas, D. L., Asmis, G. J. K., and Madey, J.: Assessment of Safety-Critical Software in Nuclear Power Plants, Nuclear Safety 32 (2) (1991), pp. 189–198.

    Google Scholar 

  28. Roache, P. J.: Verification and Validation in Computational Science and Engineering,Hermosa Publishers, Albuquerque, New Mexico, 1998.

    Google Scholar 

  29. Robertson, S. and Robertson, J.: Mastering the Requirements Process, ACM Press/Addison- Wesley Publishing, New York, 1999, chapter “Volere Requirements Specification Template”, pp. 353–391.

    Google Scholar 

  30. Sanga, B.: Assessingand Improvingthe Quality of Software Requirements Specification Documents (SRSDs), Thesis for M.Sc. program, Computing and Software Department, McMaster University, Hamilton, 2003.

  31. Scientific Discovery through Advanced Computing, Office of Science, U.S. Department of Energy, 2000, http://www.osti.gov/scidac/.

  32. Sommerville, I. and Sawyer, P.: Requirement Engineering: A Good Practice Guide, John Wiley & Sons, 1997.

  33. Thayer,R.H.and Dorfman,M. (eds): IEEE Recommended Practice for Software Requirements Specifications, 2nd edition, IEEE Computer Society, Washington, 2000.

    Google Scholar 

  34. Timoshenko, S. and Young, D. H.: Elements of Strengthof Materials, 5th edition, D. Van Nostrand Company, 1968.

  35. van Lamsweerde, A.: Goal-Oriented Requirements Engineering: A Guided Tour, in: Proceedings of the 5th IEEE International Symposium on Requirements Engineering, IEEE Computer Society, Washington, 2001, pp. 249–263.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Spencer Smith.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Smith, S., Lai, L. & Khedri, R. Requirements Analysis for Engineering Computation: A Systematic Approach for Improving Reliability. Reliable Comput 13, 83–107 (2007). https://doi.org/10.1007/s11155-006-9020-7

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11155-006-9020-7

Keywords

Navigation