Annals of Software Engineering

, Volume 3, Issue 1, pp 273–290 | Cite as

Tools for producing formal specifications: a view of current architectures and future directions

  • Sunil Vadera
  • Farid Meziane


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.


Natural Language Formal Method Requirement Engineering Natural Language Processing Computational Linguistics 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Ainsworth, M., S. Riddle, and P. Wallis (1996), “Formal Validation of Viewpoint Specifications,” Software Engineering Journal 11,1, 58–66.Google Scholar
  2. 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.Google Scholar
  3. 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.Google Scholar
  4. Balzer, R. (1985), “A 15 Year Perspective on Automatic Programming,” IEEE Transactions on Software Engineering SE-11,11, 1257–1268.CrossRefGoogle Scholar
  5. Balzer, R., N. Goldman, and D. Wile (1978), “Informality in Program Specification,” IEEE Transactions on Software Engineering SE-4,2, 94–103.CrossRefGoogle Scholar
  6. 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.CrossRefGoogle Scholar
  7. Cohen, B. (1989), “Justification of Formal Methods for System Specification,” Software Engineering Journal 4,1, 26–35.CrossRefGoogle Scholar
  8. 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.Google Scholar
  9. 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.Google Scholar
  10. 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.Google Scholar
  11. 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.zbMATHCrossRefGoogle Scholar
  12. 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.CrossRefGoogle Scholar
  13. 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.Google Scholar
  14. Guttag, J., J. Horning, and J.M. Wing (1985), Larch in Five Easy Pieces, Digital Equipment Corporation, Palo Alto, CA.Google Scholar
  15. 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.Google Scholar
  16. Johnson, W., K. Benner, and D. Harris (1993), “Developing Formal Specifications from Informal Requirements,” IEEE Expert 8,4, 82–90.CrossRefGoogle Scholar
  17. Johnson, W., M. Feather, and D. Harris (1992), “Representation and Presentation of Requirements Knowledge,” IEEE Transactions on Software Engineering 18,10, 853–869.CrossRefGoogle Scholar
  18. Jones, C. (1990), Systematic Software Development using VDM, Prentice Hall, Hemel Hempstead, UK.zbMATHGoogle Scholar
  19. Kolodner, J. (1993), Case-Based Reasoning, Morgan Kaufmann, San Mateo, CA, USA.Google Scholar
  20. Linger, R. (1994), “Cleanroom Process Model,” IEEE Software 11,2, 50–58.CrossRefGoogle Scholar
  21. Macias, B. and S. Pulman (1995), “A Method for Controlling the Production of Specifications in Natural Language,” The Computer Journal 38,4, 310–318.Google Scholar
  22. Marino, M. (1992), “PGDE: Process Grammar Development Environments, User Manual,” Technical Report AITech TR1/92-PGDEUM, AITech, s.n.c., Pisa, Italy.Google Scholar
  23. 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.Google Scholar
  24. Miriyala, K. and M. Harandi (1991), “Automatic Derivation of Formal Software Specifications from Informal Descriptions,” IEEE Transactions on Software Engineering, 17,10, 1126–1142.CrossRefGoogle Scholar
  25. 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.CrossRefGoogle Scholar
  26. 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.Google Scholar
  27. 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.Google Scholar
  28. Presland, S. (1986), “The Analysis of Natural Language Requirements Documents,” Ph.D. thesis, University of Liverpool, Liverpool, UK.Google Scholar
  29. Reubenstein, H. (1990), “Automatic Acquisition of Evolving Informal Description,” Ph.D. thesis, MIT Artificial Intelligence Laboratory, Cambridge, MA, USA.Google Scholar
  30. Reubenstein, H. and R. Walters (1991), “The Requirements Apprentice: Automated Assistance for Requirements Acquisition,” IEEE Transactions on Software Engineering 17,3, 226–240.CrossRefGoogle Scholar
  31. Rich, C. and R. Walters (1988), “The Programmer's Apprentice: A Research Overview,” Computer 21,11, 10–25.CrossRefGoogle Scholar
  32. 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.Google Scholar
  33. Schreiber, G., B. Wielinga, and J. Breuker (1993), KADS: A Principled Approach to Knowledge-Based Systems Development, Academic Press, London, UK.Google Scholar
  34. Sommerville, I. (1992), Software Engineering, Addison-Wesley, Wokingham, UK.Google Scholar
  35. Spivey, J. (1989), The Z Notation: A Reference Manual, Prentice Hall, London.zbMATHGoogle Scholar
  36. 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.CrossRefGoogle Scholar
  37. Vadera, S. and F. Meziane (1994), “From English to Formal Specifications,” The Computer Journal 37,9, 753–763.CrossRefGoogle Scholar
  38. 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.Google Scholar
  39. 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.Google Scholar

Copyright information

© Kluwer Academic Publishers 1997

Authors and Affiliations

  • Sunil Vadera
    • 1
  • Farid Meziane
    • 2
  1. 1.Department of Computer and Mathematical SciencesUniversity of SalfordSalfordUK
  2. 2.nstitute of Software Technology, UNIMASKota Samarahan, SarawakMalaysia

Personalised recommendations