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.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.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.
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.
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.
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.
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.
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.
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.
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.
Roman, G.-C. and Babb, R. 1989. Concurrency, coordination and distribution. ACM SIGSOFT Software Engineering Notes, 14(5):37–38.
Stevens, W., Myers, G., and Constantine 1974. Structured design. IBM Systems Journal, 13(2):115–139.
Swartout, W. and Balzer, R. 1982. On the inevitable intertwining of specification and implementation. Communi-cations of the ACM, 25(7):483–440.
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.
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.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1008680612960