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

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.

[1]  Jan van Katwijk,et al.  Application and benefits of formal methods in software development , 1992, Softw. Eng. J..

[2]  Thomas Rist,et al.  Referring To World Objects With Text And Pictures , 1994, COLING.

[3]  Richard C. Waters,et al.  The Requirements Apprentice: Automated Assistance for Requirements Acquisition , 1991, IEEE Trans. Software Eng..

[4]  Stefania Gnesi,et al.  Assisting requirement formalization by means of natural language translation , 1994, Formal Methods Syst. Des..

[5]  Robert Balzer,et al.  A 15 Year Perspective on Automatic Programming , 1985, IEEE Transactions on Software Engineering.

[6]  T. M. Baugh From laptop to desktop , 1989 .

[7]  Richard C. Waters,et al.  The Programmer's Apprentice: a research overview , 1988, Computer.

[8]  Martin S. Feather,et al.  Representation and Presentation of Requirements Knowledge , 1992, IEEE Trans. Software Eng..

[9]  Rocco De Nicola,et al.  Action versus State based Logics for Transition Systems , 1990, Semantics of Systems of Concurrent Processes.

[10]  Kuldeep Kumar,et al.  Strategies for incorporating formal specifications in software development , 1994, CACM.

[11]  Ernest A. Hershey,et al.  PSL/PSA: A Computer-Aided Technique for Structured Documentation and Analysis of Information Processing Systems , 1976, IEEE Transactions on Software Engineering.

[12]  Fiona A. C. Polack,et al.  The SAZ Project: Integrating SSADM and Z , 1993, FME.

[13]  W. Lewis Johnson,et al.  Developing formal specifications from informal requirements , 1993, IEEE Expert.

[14]  R.C. Linger,et al.  Cleanroom process model , 1994, IEEE Software.

[15]  B. Cohen Justification of formal methods for system specification , 1982 .

[16]  Sunil Vadera,et al.  From English to Formal Specifications , 1994, Comput. J..

[17]  David H. D. Warren,et al.  An Efficient Easily Adaptable System for Interpreting Natural Language Queries , 1982, CL.

[18]  Howard B. Reubenstein,et al.  Automated Acquisition of Evolving Informal Descriptions , 1990 .

[19]  Jeremy Dick,et al.  Integrating Structured and Formal Methods: A Visual Approach to VDM , 1991, ESEC.

[20]  Robert Balzer,et al.  Informality in Program Specifications , 1899, IEEE Transactions on Software Engineering.

[21]  Thomas E. Bell,et al.  An Extendable Approach to Computer-Aided Software Requirements Engineering , 1976, IEEE Transactions on Software Engineering.

[22]  Richard C. Waters,et al.  The programmer's apprentice , 1990, ACM Press frontier series.

[23]  Andres Zellweger,et al.  The FAA's Advanced Automation System: Strategies for Future Air Traffic Control Systems , 1987, Computer.

[24]  Chris Mellish,et al.  Natural Language Processing in PROLOG , 1989 .

[25]  Kanth Miriyala,et al.  Automatic Derivation of Formal Software Specifications From Informal Descriptions , 1991, IEEE Trans. Software Eng..

[26]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[27]  S. G. Presland,et al.  The analysis of natural language requirements documents , 1986 .

[28]  Stephen G. Pulman,et al.  A Method for Controlling the Production of Specifications in Natural Language , 1995, Comput. J..

[29]  Dan Craigen,et al.  An International Survey of Industrial Applications of Formal Methods , 1992, Z User Workshop.

[30]  M.McGee Wood,et al.  Natural language processing in Prolog , 1990 .

[31]  Guus Schreiber,et al.  KADS : a principled approach to knowledge-based system development , 1993 .

[32]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[33]  Stephen G. Pulman,et al.  CLARE: A Contextual Reasoning and Cooperative Response Framework for the Core Language Engine , 1994, ArXiv.

[34]  Janet L. Kolodner,et al.  Case-Based Reasoning , 1988, IJCAI 1989.

[35]  David R. Dowty,et al.  Introduction to Montague semantics , 1980 .

[36]  Mike Ainsworth,et al.  Formal validation of viewpoint specifications , 1996, Softw. Eng. J..

[37]  Robert Balzer,et al.  Report on a knowledge-based software assistant , 1986 .