Abstract
Formal specifications are nowadays considered as an important intermediate stage in the software development process. There are various approaches for constructing an efficient program satisfying a given formal specification. The formalization process, however, has not yet been investigated as thoroughly. Thus, it is still one of the main sources for inconsistencies between the wishes of the customer and the program finally delivered. Some problems to be solved during formalization are identified and illustrated with a real-world example.
Support has been received from the Netherlands Organization for Scientific Research N.W.O. under grant NF 63/62-518 (the STOP — Specification and Transformation Of Programs — project).
Preview
Unable to display preview. Download preview PDF.
References
Abrial, J.-R., Schuman S.A., Meyer, B.: Specification language. In: McKeag, R.M., MacNaughten, A.M. (eds.): On the construction of programs, Oxford University Press, 1979.
Agresti, W.M. (ed.): New paradigms for software development. Washington, D.C.: IEEE Computer Society Press, 1986.
Backhouse, R.C.: Program construction and verification. London: Prentice-Hall, 1986.
Balzer, R.: Final report on GIST. Technical Report USC/ISI, Marina del Rey, 1981.
Balzer, R., Cheatham, T.E. Jr., Green, C.: Software technology in the 1990's: using a new paradigm. In: Computer, November 1983, pp. 39–45.
Balzer, R., Goldman, N.: Principles of good software specification and their implications for specification languages. In: Proc. Specifications of Reliable Software, Cambridge, Mass., 1979.
Bauer, F.L.: Programming as fulfillment of a contract. In: Henderson, P. (ed.): System design. Infotech State of the Art Report 9:6, pp. 165–174. Maidenhead: Pergamon Infotech Ltd., 1981.
Bauer, F.L., Möller, B., Partsch, H., Pepper, P.: Programming by formal reasoning — computer-aided intuition-guided programming. In: IEEE Transactions on Software Engineering, 15:2, 1989.
Bergstra, J.A., Heering, J., Klint P. (eds.): Algebraic specification. ACM Press Frontier Series. New York: Addison Wesley, 1989.
Bird, R.S., Wadler, P.L.: Introduction to functional programming. Hemel Hempstead: Prentice Hall, 1988.
Broy, M.: Predicative specifications for functional programs describing communicating networks. In: Information Processing Letters 25, pp. 93–101, 1987.
Burstall, R.M., Goguen, J.A.: Semantics of CLEAR, a specification language. In: Bjørner, D. (ed.): Abstract software specifications, pp. 292–332, Lecture Notes in Computer Science 86, Berlin: Springer, 1980.
Dijkstra, E.W.: A discipline of programming. Englewood Cliffs, N.J.: Prentice-Hall, 1976.
Dubois, E., Hagelstein, J., Rifaut, A.: Formal requirements engineering with EREA. Philips Journal of Research 43:3/4, pp. 393–414, 1988.
Ehler, H.: Making formal specifications readable. Institut für Informatik, TU München, Report TUM-I8527, 1985.
Ehrig, H., Fey, W., Hansen, H.: ACT ONE — an algebraic specification language with two levels of semantics. TU Berlin, Technical Report 83–03, 1983.
Fairley, R.: Software engineering concepts. New York: McGraw-Hill, 1985.
Feather, M.S.: A survey and classification of some program transformation approaches and techniques. In: Meertens, L.G.L.T. (ed.): Program specification and transformation. Proc. IFIP TC 2 Working Conference, Bad Tölz, April 15–17, 1986. Amsterdam: North-Holland, 1987.
Feijs, L.M.G., Jonkers, H.B.M, Obbink, J.H., Koymans, C.P.J., Renardel de Lavalette, G.R., Rodenburg, P.H.: A survey of the design language COLD. In: ESPRIT '86: Results and Achievements, pp. 631–644. Amsterdam: North-Holland, 1987.
Fey, W.: Introduction to Algebraic Specification in ACT TWO. T.U. Berlin, Technical Report 86-13, 1986.
Futatsugi, K., Goguen J.A., Jouannaud, J.P., Meseguer, J.: Principles of OBJ2. In: Proc. 12th Ann. ACM Symp. on Principles of Programming Languages, pp. 52–66. ACM, 1985.
Gaudel, M.C.: Toward structured algebraic specification. In: ESPRIT '85: Status Report of Continuing Work. Part I, pp. 493–510. Amsterdam: North-Holland, 1986.
Gijssen, G., Haggenburg, W.G.: Zwitsers Systeem. Amsterdam: KNSB, 1988 (partially in Dutch).
Goguen, J.A., Tardo, J.: OBJ-0 preliminary users manual. University of California at Los Angeles, Computer Science Department, 1977.
Goguen, J., Meseguer, J.: OBJ-1, a study in executable algebraic formal specifications. SRI International Technical Report, 1981.
Gries, D.: The science of programming. Berlin: Springer, 1981.
Guttag, J.V., Horning, J.J.: Preliminary Report on the LARCH shared language. Technical Report CSL 83-6, Xerox, Palo Alto, 1983.
Hehner, E.C.R., Gupta, L.E., Malton, A.J.: Predicative Methodology. In: Acta Informatica 23, pp. 487–505, 1986.
Henderson, P.: Functional programming: application and implementation. Englewood Cliffs, N.J.: Prentice-Hall, 1980.
Henderson, P.: System design: analysis. Infotech State of the Art Report 9:6, System design, pp. 5–163. Maidenhead: Pergamon Infotech Ltd., 1981.
Van den Herik, J.: Computerschaak. In: Schakend Nederland 95:9, pp. 38–39, 1988 (in Dutch).
Hußmann, H.: RAP-2 User Manual. Universität Passau, Fachbereich Mathematik und Informatik, Technical Report, 1987.
Special Collection on Requirement Analysis. IEEE Transactions on Software Engineering SE-3:1, pp. 2–84, 1977.
IEEE Standard Glossary of software engineering terminology. IEEE Standard 729, 1983.
Jones, C.B.: Software development: a rigorous approach. Englewood Cliffs, N.J.: Prentice-Hall, 1980.
Jonkers, H.B.M., Koymans C.P.J., Renardel de Lavalette, G.R.: A semantic framework for the COLD-family of languages. Logic Group Preprint Series No. 9, Department of Philosophy, University of Utrecht, 1986.
Kažić, B.M.: The Chess Competitor's Handbook. London: Badsford, 1980.
Kühnel, B., Partsch, H., Reinshagen, K.P.: Requirements Engineering — Versuch einer Begriffsklärung. In: Informatik-Spektrum 10:6, pp. 334–335, 1987 (in German).
Lehman, M.M.: Programs, life cycles, and laws of software evolution. In: Proc. IEEE 68:9, 1980.
London, P., Feather, M.S.: Implementing specification freedom. In: Science of Computer Programming 2, pp. 91–131, 1982.
Möller, B.: Higher-order algebraic specifications. Habilitation thesis, Fakultät für Mathematik und Informatik, T.U. München, 1987.
Möller, B., Tarlecki, A., Wirsing, M.: Algebraic specification with built-in domain constructions. In: Dauchet, M., Nivat, M. (eds.): CAAP '88. Lecture Notes in Computer Science 299, pp. 132–148, Berlin: Springer, 1988.
Partsch, H.: Algebraic requirements definition: a case study. Technology and Science of Informatics 5:1, pp. 21–36, 1986.
Partsch, H.: Requirements Engineering und Formalisierung — Problematik, Ansatz und erste Erfahrungen. In: Schmitz, P., Timm, M., Windfuhr, M. (eds.): Requirements Engineering '87, pp. 9–31. GMD-Studien 121, 1987 (in German).
Partsch, H.: Algebraic specification — A step towards future software engineering. In: Proc. METEOR-Workshop, Passau, May 1987, Lecture Notes in Computer Science 394, Berlin: Springer, 1989.
Partsch, H., Laut, A.: From requirements to their formalization — a case study on the stepwise development of algebraic specifications. In.: H. Wössner (ed.): Programmiersprachen und Programmentwicklung, 7. Fachtagung, München 1982, pp. 117–132. Informatik-Fachberichte 53, Berlin: Springer, 1982.
Partsch, H., Steinbrüggen, R.: Program transformation systems. In: ACM Computing Surveys 15, pp. 199–236, 1983.
Polya, G., Tarjan, R.E., Woods, D.R., Notes on Introductory Combinatorics. Basel, 1983.
Roman, G.-C.: A taxonomy of current issues in requirements engineering. In: IEEE Computer 18:4, pp. 14–23, 1985.
Rzepka, W.E., Ohno, Y.: Requirements engineering environments: software tools for modeling user needs. In: IEEE Computer, 18:4, pp. 9–12, 1985.
Smith, D.R., Lowry, M.J.: Algorithm theories and design tactics. In: Van de Snepscheut, J.L.A. (ed.): Proc. Mathematics of Program Construction, pp. 379–398, Lecture Notes in Computer Science 375, Berlin: Springer, 1989.
Swartout, W.: GIST English generator. In: Proc. AAAI 82, August 1982.
Webster's New World Dictionary. Second College Edition. Cleveland: William Collings & World Publishing, 1974.
Wirsing, M.: A Specification Language. Habilitation thesis, Fachbereich Mathematik und Informatik, T. U. München, 1983.
Yeh, R.T.: Requirements analysis — a management perspective. In: Proc. COMPSAC '82, pp. 410–416, November 1982.
Yeh, R.T., Zave, P.: Specifying software requirements. In: Proc. IEEE 68:9, pp. 1077–1085, 1980.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
van Diepen, N.W.P., Partsch, H.A. (1991). Formalizing informal requirements some aspects. In: Bergstra, J.A., Feijs, L.M.G. (eds) Algebraic Methods II: Theory, Tools and Applications. Algebraic Methods 1989. Lecture Notes in Computer Science, vol 490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-53912-3_16
Download citation
DOI: https://doi.org/10.1007/3-540-53912-3_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53912-4
Online ISBN: 978-3-540-46351-1
eBook Packages: Springer Book Archive