Skip to main content
Log in

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

  • Published:
Annals of Software Engineering

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.

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

  • Ainsworth, M., S. Riddle, and P. Wallis (1996), “Formal Validation of Viewpoint Specifications,” Software Engineering Journal 11,1, 58–66.

    Google Scholar 

  • 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 

  • 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 

  • Balzer, R. (1985), “A 15 Year Perspective on Automatic Programming,” IEEE Transactions on Software Engineering SE-11,11, 1257–1268.

    Article  Google Scholar 

  • Balzer, R., N. Goldman, and D. Wile (1978), “Informality in Program Specification,” IEEE Transactions on Software Engineering SE-4,2, 94–103.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Cohen, B. (1989), “Justification of Formal Methods for System Specification,” Software Engineering Journal 4,1, 26–35.

    Article  Google Scholar 

  • 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 

  • 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 

  • 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 

  • 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.

    Article  MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • Guttag, J., J. Horning, and J.M. Wing (1985), Larch in Five Easy Pieces, Digital Equipment Corporation, Palo Alto, CA.

    Google Scholar 

  • 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 

  • Johnson, W., K. Benner, and D. Harris (1993), “Developing Formal Specifications from Informal Requirements,” IEEE Expert 8,4, 82–90.

    Article  Google Scholar 

  • Johnson, W., M. Feather, and D. Harris (1992), “Representation and Presentation of Requirements Knowledge,” IEEE Transactions on Software Engineering 18,10, 853–869.

    Article  Google Scholar 

  • Jones, C. (1990), Systematic Software Development using VDM, Prentice Hall, Hemel Hempstead, UK.

    MATH  Google Scholar 

  • Kolodner, J. (1993), Case-Based Reasoning, Morgan Kaufmann, San Mateo, CA, USA.

    Google Scholar 

  • Linger, R. (1994), “Cleanroom Process Model,” IEEE Software 11,2, 50–58.

    Article  Google Scholar 

  • 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 

  • Marino, M. (1992), “PGDE: Process Grammar Development Environments, User Manual,” Technical Report AITech TR1/92-PGDEUM, AITech, s.n.c., Pisa, Italy.

    Google Scholar 

  • 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 

  • Miriyala, K. and M. Harandi (1991), “Automatic Derivation of Formal Software Specifications from Informal Descriptions,” IEEE Transactions on Software Engineering, 17,10, 1126–1142.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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 

  • 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 

  • Presland, S. (1986), “The Analysis of Natural Language Requirements Documents,” Ph.D. thesis, University of Liverpool, Liverpool, UK.

    Google Scholar 

  • Reubenstein, H. (1990), “Automatic Acquisition of Evolving Informal Description,” Ph.D. thesis, MIT Artificial Intelligence Laboratory, Cambridge, MA, USA.

    Google Scholar 

  • Reubenstein, H. and R. Walters (1991), “The Requirements Apprentice: Automated Assistance for Requirements Acquisition,” IEEE Transactions on Software Engineering 17,3, 226–240.

    Article  Google Scholar 

  • Rich, C. and R. Walters (1988), “The Programmer's Apprentice: A Research Overview,” Computer 21,11, 10–25.

    Article  Google Scholar 

  • 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 

  • Schreiber, G., B. Wielinga, and J. Breuker (1993), KADS: A Principled Approach to Knowledge-Based Systems Development, Academic Press, London, UK.

    Google Scholar 

  • Sommerville, I. (1992), Software Engineering, Addison-Wesley, Wokingham, UK.

    Google Scholar 

  • Spivey, J. (1989), The Z Notation: A Reference Manual, Prentice Hall, London.

    MATH  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Vadera, S. and F. Meziane (1994), “From English to Formal Specifications,” The Computer Journal 37,9, 753–763.

    Article  Google Scholar 

  • 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 

  • 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 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

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

Keywords

Navigation