Skip to main content
Log in

Testing Software Requirements with Z and Statecharts Applied to an Embedded Control Systemt0t1

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

Software development starts by specifying the requirements. A Software Requirements Specification (SRS) describes what the software must do. Naturally, the SRS takes the core role as the descriptive documentation at every phase of the development cycle. To avoid problems in the latter development phases and reduce life-cycle costs, it is crucial to ensure that the specification is correct. This paper describes how to model, test and evaluate (i.e., check, examine, and probe) a natural language (NL) SRS using two formalisms (Z and Statecharts). These formalisms are used to determine strategies for avoiding design defects that stem from the requirements that could ultimately lead to system failures. A case study was performed to validate the integrity of a Guidance Control SRS in terms of completeness, consistency, and fault-tolerance. Based on these experiences, the NL-specification→Z→Statechart transformations can be completed in a systematic and repeatable manner that yield valuable insight into the overall integrity of software specifications.

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

  • Bogdanov, K. and Holcombe, M. 2001. Statechart testing method for aircraft control systems, Software Testing, Verification & Reliability 11(1): 39-54.

    Google Scholar 

  • Bussow, R., Geisler, R., and Klar, M. 1998. Specifying safety-critical embedded systems with Statecharts and Z: A case study, Lecture Notes in Computer Science, Vol. 1382, pp. 71-87.

  • Bussow, R. and Weber, M. 1996. A steam-boiler control specification with Statecharts and Z, Lecture Notes in Computer Science, Vol. 1165, pp. 109-128.

  • Castello, R. 2000. From Informal Specification to Formalization: an Automated Visualization Approach, PhD dissertation in computer science, University of Texas at Dallas.

  • Czerny, B. 1998. Integrative Analysis of State-Based Requirements for Completeness and Consistency, PhD dissertation in computer science, Michigan State University.

  • Damm, W., Hungar, H., Kelb, P., and Schlor, R. 1995. Statecharts—using graphical specification languages and symbolic model checking in the verification of a production cell, Lecture Notes in Computer Science, Vol. 891, pp. 131-149.

  • Fabbrini, F., Fusani, M., Gnesi S., and Lami, G. 2001. An automatic quality evaluation for natural language requirements, 7th Int. Workshop on Req. Eng.: Foundation for SW Quality (REFSQ), www.ifi.uib.no/conf/refsq2001/papers/p3.pdf. Accessed on Mar. 25, 2002.

  • chapters/chapters.html (June 1999).

  • Grieskamp, W., Heisel, M., and Dorr, H. 1998. Specifying embedded systems with Statecharts and Z: An agenda for cyclic software components, Science of Computer Programming 40: 31-57.

    Google Scholar 

  • Harel, D. 1987. Statecharts: A visual formalism for complex systems, Science of Computer Programming 8: 231-274.

    Google Scholar 

  • Harel, D. and Politi, M. 1998. Modeling Reactive Systems with Statecharts. McGraw-Hill.

  • He, X. 2001. PZ nets—a formal method integrating Petri nets with Z, Information and Software Technology 43(1): 1-18.

    Google Scholar 

  • Heimdahl, M.P.E. and Leveson, N.G. 1996. Completeness and consistency in hierarchical state-based requirements, IEEE Transactions on Software Engineering 22(6): 363-377.

    Google Scholar 

  • Heitmeyer, C., Kirby, Jr., J., Labaw, B., Archer, M., and Bharadwaj, R. 1998. Using abstraction and model checking to detect safety violations in requirements specification, IEEE Transactions on Software Engineering 24(11): 927-948.

    Google Scholar 

  • Hierons, R.M., Sadeghipour, S., and Singh, H. 2001. Testing a system specified using Statecharts and Z, Information and Software Technology 43: 137-149.

    Google Scholar 

  • Kotonya, G. and Sommerville, I. 1998. Requirements Engineering: Process and Techniques. New York, Wiley.

    Google Scholar 

  • Leveson, N. 1995. Safeware—System Safety and Computers. Reading, MA, Addison Wesley.

    Google Scholar 

  • NASA. 1993. Software Requirements—Guidance and Control Software Development Specification Ver 2.2 with the formal mods 1–8. NASA, Langley Research Center.

  • Pradhan, D. K. 1996. Fault-Tolerant Computer System Design, pp. 428-477. Prentice Hall.

  • chapters/chapters.html (June 1999).

  • Shaw, A.C. 2001. Real-Time Systems and Software. New York, Wiley.

    Google Scholar 

  • Sheldon, F.T. and Kim, H.Y. 2002. Validation of guidance control software requirements specification for reliability and fault-tolerance. Proc. of Annual Reliability and Maintainability Symp. Seattle, WA, pp. 312-318. IEEE.

  • Sheldon, F.T., Kim, H.Y., and Zhou, Z. 2001. A case study: Validation of the guidance control software requirements for completeness, consistency, and fault tolerance, Proc. of IEEE 2001 Pacific Rim Intl. Symp. on Dependable Computing, Seoul, Korea, pp. 311-318. IEEE Computer Society.

  • Sommerville, I. 2000. Software Engineering, 6th ed. Reading, MA, Addison-Wesley.

    Google Scholar 

  • Vliet, H.V. 2000. Software Engineering: Principles and Practice. New York, Wiley.

    Google Scholar 

  • Voas, J., McGraw, G., Kassab, L., and Voas, L. 1997. A crystal ball for software liability, IEEE Computer 30(6): 29-36.

    Google Scholar 

  • Woodcock, J. and Davies, J. 1996. Using Z: Specification, Refinement, and Proof. Prentice-Hall.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kim, H.Y., Sheldon, F.T. Testing Software Requirements with Z and Statecharts Applied to an Embedded Control Systemt0t1. Software Quality Journal 12, 231–264 (2004). https://doi.org/10.1023/B:SQJO.0000034710.86897.16

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:SQJO.0000034710.86897.16

Navigation