Skip to main content
Log in

Requirements and Specification Exemplars

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Specification exemplars are familiar to most software engineering researchers. For instance, many will have encountered the well known library and lift problem statements, and will have seen one or more published specifications. Exemplars may serve several purposes: to drive and communicate individual research advances; to establish research agendas and to compare and contrast alternative approaches; and, ultimately, to lead to advances in software development practices.

Because of their prevalence in the literature, exemplars are worth critical study. In this paper we consider the purposes that exemplars may serve, and explore the incompatibilities inherent in trying to serve several of them at once. Researchers should therefore be clear about what successfully handling an exemplar demonstrates. We go on to examine the use of exemplars not only for writing specifications (an end product of requirements engineering), but also for the requirements engineering process itself. In particular, requirements for good requirements exemplars are suggested and ways of obtaining such exemplars are discussed.

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

  • Abrial, J.R., Borger, E., and Langmaack, H. (Eds.) 1996. Formal Methods for Industrial Applications: Specifying and Programming the Steam Boiler Control System, Springer-Verlag, vol. LNCS 1165.

  • Balzer, B. 1985. A 15 year perspective on automatic programming. IEEE Trans.on Software Engineering, 11(11):1257–1267.

    Google Scholar 

  • Chung, L. and Nixon, B. 1995. Dealing with non-functional requirements: Three experimental studies of a process-oriented approach. Proc.ICSE17-Seventeenth International Conference on Software Engineering, IEEE-ACM, pp. 25–37.

  • Dijkstra, E.W. 1971. Hierarchical ordering of sequential processes. Acta Informatica, 1:115–138.

    Google Scholar 

  • Fickas, S. and Nagarajan, P. 1988. Critiquing software specifications. IEEE Software, 37–47.

  • Hayes, I. 1993. Specification Case Studies, 2nd edition. Prentice Hall.

  • Heitmeyer, C., Jeffords, R., and Labaw, B. 1993. A benchmark for comparing different approaches for specifying and verifying real-time systems. Proc.10th Intl.Workshop on Real-Time Operating Systems and Software, Reprinted in Formal Methods for Real-Time Computing, C. Heitmeyer and D. Mandrioli (Eds.), Wiley, p. xii.

  • Heninger, K., Kallender, J., Parnas, D.L., and Shore, J. 1978. Software requirements for the A-7 aircraft. NRL Report 3876, US Naval Res. Lab., Washington, D.C.

  • Hinchey, M. and Bowen, J. (Eds.) 1995. Applications of Formal Methods. Prentice Hall Intl. Series in Computer Science.

  • Icarus 1989. A tasteful variety of specification case studies. ESPRIT Project 2537, aAvailable at ftp://ftp.info.ucl.ac.be/pub/publi/89/CaseStudies.ps.

  • Jones, C.B. and Shaw, R.C. 1990. Case Studies in Systematic Software Development. Prentice Hall.

  • Kemmerer, R.A. 1985. Testing formal specifications to detect design errors. IEEE Transactions on Software Engineering, 11(1):32–43.

    Google Scholar 

  • Kramer, J., Magee, J., Sloman M., and Lister, A. 1983. CONIC: An integrated approach to distributed computer control systems. IEE Proceedings, vol. 130, Pt. E, No. 1, pp. 1–10.

    Google Scholar 

  • Kramer, J., Magee, J., and Finkelstein, A. 1990. A constructive approach to the design of distributed systems. Proc.10th International Conference on Distributed Computing Systems, IEEE, pp. 580–587.

  • Lano, K. and Haughton, H. (Eds.) 1994. Object-Oriented Specification Case Studies. Prentice Hall Object-Oriented Series.

  • Leveson, N., Heimdahl, M., Hildreth, H., and Reese, J. 1994. Requirements specification for process-control systems. IEEE Transactions on Software Engineering, 20(9):684–706.

    Google Scholar 

  • Lewerentz, C. and Lindner, T. (Eds.) 1995. Formal Development of Reactive Systems-Case Study Production Cell, Springer-Verlag, vol. LNCS 891.

  • London, P.E. and Feather, M.S. 1986. Implementing specification freedoms. In Readings in Artificial Intelligence and Software Engineering, C. Rich and R.C. Waters (Eds.), Morgan Kaufmann, pp. 285–305

  • Marca, D. and Harandi, M. 1987. Problem set for the Fourth International Workshop on Software Specification and Design. In Proc.4th International Workshop on Software Specification and Design, IEEE CS Press, pp. ix-x.

  • Meyer, B. 1985. On formalism in specifications. IEEE Software 2(1):6–26.

    Google Scholar 

  • Modugno, F., Leveson, N., Reese, J., Partridge, K., and Sandys, S. 1997. Integrated safety analysis of requirements specifications. Proc.RE'97–3rd IEEE Symposium on Requirements Engineering, Annapolis (MD), pp. 148-159.

  • Olle, T. 1982. Comparative review of information systems design methodologies-Stage 1: Taking Stock. In Information Systems Design Methodologies: A Comparative Review, T. Olle, H. Sol, and A. Verrijn-Stuart (Eds.), Proc.IFIP WG8.1 CRIS 1, North-Holland, pp. 1–14.

  • Olle, T., Sol, H., and Tully, C. 1983. Information systems design methodologies: A feature analysis. In Proc.IFIP WG8.1 CRIS 2, North-Holland.

  • Parnas, D.L., Asmis, J.K., and Madey, J. 1991. Assessments of safety-critical software. Nuclear Safety, 32(2):189–198.

    Google Scholar 

  • Potts, C. 1993. Software engineering research revisited. IEEE Software, 19–28.

  • Potts, C. and Fickas, S. 1994. Requirements engineering. Section of Succeedings of the 7th International Workshop on Software Specification and Design. In ACM SIGSOFT Software Engineering Notes, 19(3):18–22.

    Google Scholar 

  • Roman, G.-C. and Babb, R. 1989. Concurrency, coordination and distribution. ACM SIGSOFT Software Engineering Notes, 14(5):37–38.

    Google Scholar 

  • Stevens, W., Myers, G., and Constantine 1974. Structured design. IBM Systems Journal, 13(2):115–139.

    Google Scholar 

  • Swartout, W. and Balzer, R. 1982. On the inevitable intertwining of specification and implementation. Communi-cations of the ACM, 25(7):483–440.

    Google Scholar 

  • Tichy, W.F., Lukowicz, P., Prechelt, L., and Heinz, E.A. 1995. Experimental evaluation in computer science: A quantitative study. Journal of Systems and Software, 28(1):9–18.

    Google Scholar 

  • van Diepen, N. and Partsch, H.A. 1991. Formalizing informal requirements: Some aspects. In Algebraic Methods II: Theory, Tools and Applications, J.A. Bergstra and L.M.G. Feijs (Eds.), Springer-Verlag, vol. LNCS 490, pp. 7–27.

  • van Lamsweerde, A., Darimont, R., and Massonet, P. 1995. Goal-directed elaboration of requirements for a meeting scheduler: Problems and lessons learned. Proc.RE'95–2nd Int.Symp.on Requirements Engineering, IEEE, York, pp. 194-203.

  • Wing, J.M. 1988. A study of 12 specifications of the library problem. IEEE Software, pp. 66–76.

  • Zave, P. 1991. An insider's evaluation of PAISLey. IEEE Trans.on Software Engineering, 17(3):212–225.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Feather, M.S., Fickas, S., Finkelstein, A. et al. Requirements and Specification Exemplars. Automated Software Engineering 4, 419–438 (1997). https://doi.org/10.1023/A:1008680612960

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008680612960

Keywords

Navigation