Bridging the Gap between Natural Language Requirements and Formal Specifications

In this paper, we discuss the problem of transforming a natural language requirements specification into a formal specification. We present several methods to support the process and implemented them in a commercial tool, the Requirements Quality Suite. We achieve this by enriching the requirement text with additional structure (using a knowledge base) and asking the requirement engineer to formulate the requirements in Boilerplates. The additional structure is used to analyze the requirements automatically or semi-automatically leading finally to a formal specification. The formal specification then enables verification activities, such as testing or formal analysis. We discuss our methods by examples from an industrial case study and report on our experiences.

[1]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

[2]  Mehrdad Sabetzadeh,et al.  Requirement boilerplates: Transition from manually-enforced to automatically-verifiable natural language patterns , 2014, 2014 IEEE 4th International Workshop on Requirements Patterns (RePa).

[3]  Manuel Núñez,et al.  Formal Methods for Industrial Critical Systems , 2015, Lecture Notes in Computer Science.

[4]  Valentin Moreno,et al.  A framework to measure and improve the quality of textual requirements , 2011, Requirements Engineering.

[5]  Hardi Hungar,et al.  Detecting Consistencies and Inconsistencies of Pattern-Based Functional Requirements , 2014, FMICS.

[6]  Using statement-level templates to improve the quality of requirements , 2012 .

[7]  Luis Alonso,et al.  Ontology-Assisted Systems Engineering Process with Focus in the Requirements Engineering Process , 2014, CSDM.

[8]  Allen P. Nikora,et al.  Automated Identification of LTL Patterns in Natural Language Requirements , 2009, 2009 20th International Symposium on Software Reliability Engineering.

[9]  Thomas Moser,et al.  DODT: Increasing requirements formalism using domain ontologies for improved embedded systems development , 2011, 14th IEEE International Symposium on Design and Diagnostics of Electronic Circuits and Systems.

[10]  Jose María Alvarez-Rodríguez,et al.  OSLC‐KM: A knowledge management specification for OSLC‐based resources , 2015 .

[11]  Alistair Mavin,et al.  Easy Approach to Requirements Syntax (EARS) , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[12]  Michael Dierkes,et al.  Formal Methods for Industrial Critical Systems , 2013, Lecture Notes in Computer Science.

[13]  Jane Cleland-Huang,et al.  Automated classification of non-functional requirements , 2007, Requirements Engineering.