RCM: Requirement Capturing Model for Automated Requirements Formalisation

Most existing automated requirements formalisation techniques require system engineers to (re)write their requirements using a set of predefined requirement templates with a fixed structure and known semantics to simplify the formalisation process. However, these techniques require understanding and memorising requirement templates, which are usually fixed format, limit requirements captured, and do not allow capture of more diverse requirements. To address these limitations, we need a reference model that captures key requirement details regardless of their structure, format or order. Then, using NLP techniques we can transform textual requirements into the reference model. Finally, using a suite of transformation rules we can then convert these requirements into formal notations. In this paper, we introduce the first and key step in this process, a Requirement Capturing Model (RCM) - as a reference model - to model the key elements of a system requirement regardless of their format, or order. We evaluated the robustness of the RCM model compared to 15 existing requirements representation approaches and a benchmark of 162 requirements. Our evaluation shows that RCM breakdowns support a wider range of requirements formats compared to the existing approaches. We also implemented a suite of transformation rules that transforms RCM-based requirements into temporal logic(s). In the future, we will develop NLP-based RCM extraction technique to provide end-to-end solution.

[1]  R. Alur Techniques for automatic verification of real-time systems , 1991 .

[2]  Peter Struss,et al.  Obtaining Models for Test Generation from Natural-language-like Functional Specifications , 2007 .

[3]  Ron Koymans,et al.  Specifying real-time properties with metric temporal logic , 1990, Real-Time Systems.

[4]  James Bret Michael,et al.  Natural-language processing support for developing policy-governed software systems , 2001, Proceedings 39th International Conference and Exhibition on Technology of Object-Oriented Languages and Systems. TOOLS 39.

[5]  Nissim Francez,et al.  Automatic Translation of Natural Language System Specifications into Temporal Logic , 1996 .

[6]  Mehrdad Sabetzadeh,et al.  RUBRIC: a flexible tool for automated checking of conformance to requirement boilerplates , 2013, ESEC/FSE 2013.

[7]  Angelo Montanari,et al.  Synthesis of LTL Formulas from Natural Language Texts: State of the Art and Research Directions , 2019, TIME.

[8]  Benoît Fraikin,et al.  Comparison of Model Checking Tools for Information Systems , 2010, ICFEM.

[9]  Andrea Leitner,et al.  Combining Xtext and OSLC for Integrated Model-Based Requirements Engineering , 2015, 2015 41st Euromicro Conference on Software Engineering and Advanced Applications.

[10]  Thomas A. Henzinger,et al.  Real-Time Logics: Complexity and Expressiveness , 1993, Inf. Comput..

[11]  Xiang Li,et al.  Developing event-condition-action rules in real-time active database , 2007, SAC '07.

[12]  David R. Karger,et al.  Atomate it! end-user context-sensitive automation using heterogeneous information sources on the web , 2010, WWW '10.

[13]  KoymansRon Specifying real-time properties with metric temporal logic , 1990 .

[14]  A. Szałas Temporal logic of programs: a standard approach , 1995 .

[15]  Xiaohong Bao,et al.  Generic safety requirements description templates for the embedded software , 2017, 2017 IEEE 9th International Conference on Communication Software and Networks (ICCSN).

[16]  Alistair Mavin,et al.  Just Formal Enough? Automated Analysis of EARS Requirements , 2017, NFM.

[17]  Tobias Kuhn,et al.  A Survey and Classification of Controlled Natural Languages , 2014, CL.

[18]  Bertrand Jeannet,et al.  Debugging Embedded Systems Requirements with STIMULUS: an Automotive Case-Study , 2016 .

[19]  Igor Buzhinsky,et al.  Formalization of natural language requirements into temporal logics: a survey , 2019, 2019 IEEE 17th International Conference on Industrial Informatics (INDIN).

[20]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[21]  Savas Konur,et al.  A survey on temporal logics for specifying and verifying real-time systems , 2013, Frontiers of Computer Science.

[22]  Esra Erdem,et al.  Transforming Controlled Natural Language Biomedical Queries into Answer Set Programs , 2009, BioNLP@HLT-NAACL.

[23]  Adam Pease,et al.  Controlled English to Logic Translation , 2010 .

[24]  Giancarlo Sturla,et al.  A two-phased approach for natural language parsing into formal logic , 2017 .

[25]  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).

[26]  M. Anthony Aiello,et al.  SpeAR v2.0: Formalized Past LTL Specification and Analysis of Requirements , 2017, NFM.

[27]  Tino Teige,et al.  Universal Pattern: Formalization, Testing, Coverage, Verification, and Test Case Generation for Safety-Critical Requirements , 2016, MBMV.

[28]  B.H.C. Cheng,et al.  Real-time specification patterns , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

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

[30]  Kaarel Kaljurand,et al.  Bidirectional Mapping Between OWL DL and Attempto Controlled English , 2006, PPSWR.

[31]  Joost-Pieter Katoen,et al.  Multiple Analyses, Requirements Once: simplifying testing & verification in automotive model-based development , 2019, FMICS.

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

[33]  Rolf Schwitter,et al.  English as a formal specification language , 2002, Proceedings. 13th International Workshop on Database and Expert Systems Applications.

[34]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[35]  Ewan Klein,et al.  A semantically-derived subset of English for hardware verification , 1999, ACL.

[36]  Vincenzo Gervasi,et al.  Processing natural language requirements , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[37]  Richard Kittredge Sublanguages and Controlled Languages , 2005 .

[38]  Benjamin Hummel,et al.  Behavioral specification of reactive systems using stream-based I/O tables , 2009, 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods.

[39]  Chih-Hong Cheng,et al.  Formal consistency checking over specifications in natural languages , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[40]  Colette Rolland,et al.  A Natural Language Approach for Requirements Engineering , 1992, CAiSE.

[41]  Stephen Cook,et al.  A Context-free Requirements Grammar to Facilitate Automatic Assessment , 2004 .

[42]  Friedemann Bitsch,et al.  Safety Patterns - The Key to Formal Specification of Safety Requirements , 2001, SAFECOMP.

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

[44]  Natarajan Shankar,et al.  ARSENAL: Automatic Requirements Specification Extraction from Natural Language , 2014, NFM.

[45]  Alistair Mavin,et al.  EARS-CTRL: Generating Controllers for Dummies , 2017, MODELS.

[46]  Norbert E. Fuchs,et al.  Attempto Controlled English (ACE) , 1996, ArXiv.