Capturing Informal Requirements as Formal Models

We present a requirements engineering tool and associated methodology that converts natural language and graphical requirements to models expressed in a process algebra formalism. Natural language requirements are automatically converted into the concrete syntax of the process algebra using reconfigurable parsing and transformations. Graphical requirements in the form of finite state diagrams are changed into textual form before parsing and generation of the formal models. Analysis of the formal models by a requirements engineer can lead to iterative refinement of the natural language requirements and the tool configuration. The motivation for this work comes from the possible reduction in reworking when formal methods are used early in the development life cycle. Our framework allows the coexistence of an user-friendly document that is suitable for non-technical users and a formal model suitable for verification and reasoning.

[1]  Mats Per Erik Heimdahl,et al.  Proving the shalls , 2003, International Journal on Software Tools for Technology Transfer.

[2]  Stephan Flake,et al.  An Advanced Visual Capture for Model Checking Specifications , 2000 .

[3]  R. Geoff Dromey,et al.  From requirements to design: formalizing the key steps , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[4]  Joseph A. Goguen,et al.  Techniques for requirements elicitation , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[5]  Jonathan Rosenhead,et al.  Soft Systems Methodology in Action , 1991 .

[6]  Aarne Ranta,et al.  An Authoring Tool for Informal and Formal Requirements Specifications , 2002, FASE.

[7]  Eduardo Valido-Cabrera Software reliability methods , 2006 .

[8]  Shaoying Liu,et al.  Formalization, Testing and Execution of a Use Case Diagram , 2003, ICFEM.

[9]  A. Cowie The Modelling of Temporal Properties in a Process Algebra Framework , 1999 .

[10]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[11]  Vincenzo Gervasi,et al.  The Circe approach to the systematic analysis of NL requirements , 2003 .

[12]  Jifeng He,et al.  A Relational Model for Formal Object-Oriented Requirement Analysis in UML , 2003, ICFEM.

[13]  George J. Milne,et al.  CIRCAL and the representation of communication, concurrency, and time , 1985, TOPL.

[14]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[15]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[16]  Wolfgang Müller,et al.  Structured English for Model Checking Specification , 2000, MBMV.

[17]  A. Berztiss,et al.  Requirements Engineering , 2002, J. Object Technol..