Abstract
During the last decade, one important contribution towards requirements engineering has been the advent of formal specification languages. They offer a well‐defined notation that can improve consistency and avoid ambiguity in specifications. However, the process of obtaining formal specifications that are consistent with the requirements is itself a difficult activity. Hence, various researchers are developing systems that aid the transition from informal to formal specifications. The kind of problems tackled and the contributions made by these proposed systems are very diverse. This paper brings these studies together to provide a vision for future architectures that aim to aid the transition from informal to formal specifications. The new architecture, which is based on the strengths of existing studies, tackles a number of key issues in requirements engineering such as identifying ambiguities, incompleteness, and reusability. The paper concludes with a discussion of the research problems that need to be addressed in order to realise the proposed architecture.
Similar content being viewed by others
References
Ainsworth, M., S. Riddle, and P. Wallis (1996), “Formal Validation of Viewpoint Specifications,” Software Engineering Journal 11,1, 58–66.
Alshawi, H., D. Carter, R. Crouch, S. Pulman, M. Rayner and A. Smith (1992), CLARE: a Contextual Reasoning and Cooperative Response Framework for the Core Language Engine, SRI International, Stanford, CA, USA.
André, E. and T. Rist (1994), “Referring to world objects with text and pictures,” In Proc. International Conference on Computational Linguistics, Association of Computational Linguistics, Kyoto, Japan, pp. 530–534.
Balzer, R. (1985), “A 15 Year Perspective on Automatic Programming,” IEEE Transactions on Software Engineering SE-11,11, 1257–1268.
Balzer, R., N. Goldman, and D. Wile (1978), “Informality in Program Specification,” IEEE Transactions on Software Engineering SE-4,2, 94–103.
Bell, T., D. Bixler, and M. Dyer (1977), “An Extendable Approach to Computer-Aided Software Requirements,” IEEE Transactions on Software Engineering SE-3,1, 49–60.
Cohen, B. (1989), “Justification of Formal Methods for System Specification,” Software Engineering Journal 4,1, 26–35.
Craigen, D., S. Gerhart, and T. Ralston (1993), An International Survey of Industrial Applications of Formal Methods, Vols 1 and 2, National Institute of Standards and Technology, US Department of Commerce, Gaithersburg, MD, USA.
Dick, J. and J. Loubersac (1991), “Integrating Structured and Formal Methods: A Visual Approach to VDM,” In Third European Software Engineering Conference, Lecture Notes in Computer Science Vol. 550, Springer, Berlin, Germany, pp. 37–59.
Dowty, D.R., R.E. Wall, and S. Peters (1981), Introduction to Montague Semantics, Vol. 11 of Studies in Linguistics and Philosophy, Reidel, Dordrecht, Holland.
Fantechi, A., S. Gnesi, G. Ristori, M. Carenini, M. Vanocchi and P. Moreschini (1994), “Assisting Requirement Formalization by Means of Natural Language Translation,” Formal Methods in System Design 4,3, 243–263.
Fraser, M.D., K. Kumar and V.K. Vaishnavi (1994), “Strategies for Incorporating Formal Specifications in Software Development,” Communications of ACM 37,10, 74–86.
Green, C., D. Luckam, R. Balzar, T. Cheatham and C. Rich (1986), “Report on a knowledge-based software assistant,” In Reading in Artificial Intelligence and Software Engineering, C. Richard and R. Waters, Eds., Morgan Kaufmann, Los Altos, CA, pp. 377–428.
Guttag, J., J. Horning, and J.M. Wing (1985), Larch in Five Easy Pieces, Digital Equipment Corporation, Palo Alto, CA.
Hunt, V. and A. Zellweger (1987), “The FAA's Advanced Automation System: Strategies for Future Air Traffic Control Systems,” IEEE Computer 20,2, 19–32.
Johnson, W., K. Benner, and D. Harris (1993), “Developing Formal Specifications from Informal Requirements,” IEEE Expert 8,4, 82–90.
Johnson, W., M. Feather, and D. Harris (1992), “Representation and Presentation of Requirements Knowledge,” IEEE Transactions on Software Engineering 18,10, 853–869.
Jones, C. (1990), Systematic Software Development using VDM, Prentice Hall, Hemel Hempstead, UK.
Kolodner, J. (1993), Case-Based Reasoning, Morgan Kaufmann, San Mateo, CA, USA.
Linger, R. (1994), “Cleanroom Process Model,” IEEE Software 11,2, 50–58.
Macias, B. and S. Pulman (1995), “A Method for Controlling the Production of Specifications in Natural Language,” The Computer Journal 38,4, 310–318.
Marino, M. (1992), “PGDE: Process Grammar Development Environments, User Manual,” Technical Report AITech TR1/92-PGDEUM, AITech, s.n.c., Pisa, Italy.
McCord, M. (1990), “Natural Language Processing in Prolog,” In A Logical Approach to Expert Systems and Natural Language Processing Knowledge Systems and Prolog, A. Walker, Ed., Addison-Wesley, Wokingham, UK, pp. 391–402.
Miriyala, K. and M. Harandi (1991), “Automatic Derivation of Formal Software Specifications from Informal Descriptions,” IEEE Transactions on Software Engineering, 17,10, 1126–1142.
Nico, P., J.V. Katwijk, and T. Hans (1992), “Applications and Benefits of Formal Methods in Software Development,” Software Engineering Journal, 7,5, 335–346.
Nicola, R.D. and F.W. Vaandrager (1991), “Action Versus State Based Logics for Transmission Systems,” In Lecturer Notes in Computer Science, Vol. 469, Springer, Berlin, Germany, pp. 407–419.
Polack, F., M. Whiston, and K. Mander (1993), “The SAZ Project: Integrating SSADM and Z,” In Lecture Notes in Computer Science, Vol. 670, Springer, Berlin, Germany, pp. 541–557.
Presland, S. (1986), “The Analysis of Natural Language Requirements Documents,” Ph.D. thesis, University of Liverpool, Liverpool, UK.
Reubenstein, H. (1990), “Automatic Acquisition of Evolving Informal Description,” Ph.D. thesis, MIT Artificial Intelligence Laboratory, Cambridge, MA, USA.
Reubenstein, H. and R. Walters (1991), “The Requirements Apprentice: Automated Assistance for Requirements Acquisition,” IEEE Transactions on Software Engineering 17,3, 226–240.
Rich, C. and R. Walters (1988), “The Programmer's Apprentice: A Research Overview,” Computer 21,11, 10–25.
Santana, J.S. (1996), “Coordinated Linguistic and Graphical Semantic Units,” Technical Report IIE/Salford-SS-19, Department of Computer and Mathematical Sciences, University of Salford, UK.
Schreiber, G., B. Wielinga, and J. Breuker (1993), KADS: A Principled Approach to Knowledge-Based Systems Development, Academic Press, London, UK.
Sommerville, I. (1992), Software Engineering, Addison-Wesley, Wokingham, UK.
Spivey, J. (1989), The Z Notation: A Reference Manual, Prentice Hall, London.
Teichroew, D. and E. Hershey (1977), “PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing System,” IEEE Transactions on Software Engineering SE-3,1, 41–48.
Vadera, S. and F. Meziane (1994), “From English to Formal Specifications,” The Computer Journal 37,9, 753–763.
Warren, D. and F. Pereira (1982), “An Efficient Easily Adaptable System for Interpreting Natural Language Queries,” American Journal of Computational Linguistics 8,3–4, 110–122.
Williams, G. and J. Myers (1990), “Exploiting Metamodel Correspondences to Provide Paraphrasing Capabilities for the KBSA Concept Demonstration Project,” In Proceedings of the Fifth Annual RADC Knowledge-Based Software Assistant (KBSA) Conference, Rome Defence Development Center, Griffiss AFB, NY, USA, pp. 331–345.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Vadera, S., Meziane, F. Tools for producing formal specifications: a view of current architectures and future directions. Annals of Software Engineering 3, 273–290 (1997). https://doi.org/10.1023/A:1018950324254
Issue Date:
DOI: https://doi.org/10.1023/A:1018950324254