Skip to main content
Log in

A Comprehensive Requirement Capturing Model Enabling the Automated Formalisation of NL Requirements

  • Original Research
  • Published:
SN Computer Science Aims and scope Submit manuscript

Abstract

Formalising natural language (NL) requirements is essential to have formal specifications that enable formal checking and improve the quality of requirements. However, the existing formalisation techniques require engineers to (re)write the system requirements using a set of requirements templates with predefined and limited structure and semantics. The main drawback of using such templates, usually with a fixed format, is the inability to capture diverse requirements outside the scope of the template structure. To address this limitation, a comprehensive reference model is needed to enable capturing key requirement properties regardless of their format, order, or structure. NLP technique can then be used to convert unrestricted NL requirements into the reference model. Using a set of transformation rules, the reference model representing the requirements can be transformed into the target formal notation. In this paper, we introduce requirement capturing model (RCM) to represent NL requirements by adapting to their key properties and without imposing constraints on how the requirements are written. We also implemented a requirements formalisation approach that supports transforming RCM into temporal logic (TL). In addition, we developed an automated similarity checking approach to check the correctness of the constructed RCM structures against the source NL requirements. We carried out extensive evaluation of RCM by comparing it against 15 existing requirements representation approaches on a dataset of 162 requirement sentences. The results show that RCM supports a much wider range of requirements formats compared to any of the existing approaches.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. Dataset: https://github.com/ABC-7/RCM-Model/tree/master/dataSet.

  2. Approaches representations, and evaluation: https://github.com/ABC-7/RCM-Model/blob/master/Approaches-Evaluation.xlsx.

  3. RCM-Representation and formal notation: https://github.com/ABC-7/RCM-Model/tree/master/RCM-Auto-Transformation.

References

  1. Buzhinsky I. Formalization of natural language requirements into temporal logics: a survey. In: 2019 IEEE 17th international conference on industrial informatics (INDIN), vol. 1. IEEE; 2019. p. 400–6.

  2. Lúcio L, Rahman S, Cheng C-H, Mavin A. Just formal enough? Automated analysis of ears requirements. In: NASA formal methods symposium. Berlin: Springer; 2017. p. 427–34.

  3. Sládeková V. Methods used for requirements engineering. Master’s thesis, Univerzity Komenského; 2007.

  4. Justice B. Natural language specifications for safety-critical systems. Master’s thesis, Carl von Ossietzky Universität; 2013.

  5. Mavin A, Wilkinson P, Harwood A, Novak M. Easy approach to requirements syntax (ears). In: Requirements engineering conference, 2009. RE’09. 17th IEEE international. Aug 31-Sep 4; Atlanta, USA; Piscataway; 2009. p. 317–22.

  6. Fuchs NE, Schwitter R. Attempto controlled English (ACE). In: CLAW 96, first international workshop on controlled language applications; Leuven, BE, March, 1996.

  7. Yan R, Cheng C-H, Chai Y. Formal consistency checking over specifications in natural languages. In: 2015 Design, automation & test in Europe conference & exhibition (DATE). IEEE; 2015. p. 1677–82.

  8. Rupp C. Requirements-Engineering und-Management: Professionelle, Iterative Anforderungsanalyse Für die Praxis. Munich: Hanser Verlag; 2009.

  9. Zaki-Ismail A, Osama M, Abdelrazek M, Grundy J, Ibrahim A. RCM: requirement capturing model for automated requirements formalisation. In: Proceedings of the 9th International Conference on Model-Driven Engineering and Software Development; —volume 1: MODELSWARD. SciTePress; 2021. INSTICC.

  10. Zaki-Ismail A, Osama M, Abdelrazek M, Grundy J, Ibrahim A. RCM-extractor: automated extraction of a semi formal representation model from natural language requirements. In: Proceedings of the 9th international conference on model-driven engineering and software development—volume 1: MODELSWARD. SciTePress; 2021. p. 270–7. https://doi.org/10.5220/0010270602700277. INSTICC

  11. Teige T, Bienmüller T, Holberg HJ. Universal pattern: formalization, testing, coverage, verification, and test case generation for safety-critical requirements. In 19th GI/ITG/GMM Workshop Methoden und Beschreibungssprachen zur Modellierung und Verifikation von Schaltungen und Systemen (MBMV’16), p. 6–9. Albert-Ludwigs-Universit¨at Freiburg, 2016.MBMV.

  12. Konrad S, Cheng BH. Real-time specification patterns. In: Proceedings of the 27th international conference on software engineering. New York, NY, USA: ACM; 2005. p. 372–81.

  13. Ghosh S, Elenius D, Li W, Lincoln P, Shankar N, Steiner W. Arsenal: automatic requirements specification extraction from natural language. In: NASA formal methods symposium. Berlin: Springer; 2016. p. 41–6.

  14. Nelken R, Francez N. Automatic translation of natural language system specifications into temporal logic. In: International conference on computer aided verification. Berlin: Springer; 1996. p. 360–71.

  15. Michael JB, Ong VL, Rowe NC. Natural-language processing support for developing policy-governed software systems. In: TOOLS 39. 39th international conference and exhibition on technology of object-oriented languages and systems, Santa Barbara, CA: 2001. IEEE; 2001. p. 263–74.

  16. Holt A, Klein E. A semantically-derived subset of English for hardware verification. In: Proceedings of the 37th annual meeting of the association for computational linguistics on computational linguistics. Association for Computational Linguistics; Maryland, USA; 1999. p. 451–6.

  17. Ambriola V, Gervasi V. Processing natural language requirements. In: Automated software engineering, 1997. Proceedings, 12th IEEE international conference. Lake Tahoe, NV; 1997. p. 36–45.

  18. Sturla G. A two-phased approach for natural language parsing into formal logic. PhD thesis, Massachusetts Institute of Technology; 2017.

  19. R. Poli, M. Healy, A. Kameas (Eds.). Controlled English to logic translation. In: Theory and applications of ontology: computer applications. Berlin: Springer; 2010. p. 245–58.

  20. Kittredge RI. Sublanguages and controlled languages. In Ruslan Mitkov (ed.). The Oxford handbook of computational linguistics, 2nd edn. Oxford: Oxford University Press; 2003.

  21. Kuhn T. A survey and classification of controlled natural languages. Comput Linguist. 2014;40(1):121–70.

    Article  Google Scholar 

  22. Van Kleek M, Moore B, Karger DR, André P, Schraefel M. Atomate it! end-user context-sensitive automation using heterogeneous information sources on the web. In: Proceedings of the 19th international conference on world wide web; 2010. p. 951–60.

  23. Schwitter R. English as a formal specification language. In: Proceedings. 13th international workshop on database and expert systems applications. Aix-en-Provence, France: IEEE; 2002. p. 228–32.

  24. Erdem E, Yeniterzi R. Transforming controlled natural language biomedical queries into answer set programs. In: Proceedings of the BioNLP 2009 workshop; Boulder, CO. 2009. p. 117–24.

  25. Scott W, Cook SC, et al. A context-free requirements grammar to facilitate automatic assessment. PhD thesis, UniSA; 2004.

  26. Esser M, Struss P. Obtaining models for test generation from natural-language-like functional specifications. In: International workshop on principles of diagnosis; 2007. p. 75–82.

  27. Arora C, Sabetzadeh M, Briand L, Zimmer F, Gnaga R. Rubric: a flexible tool for automated checking of conformance to requirement boilerplates. In: Proceedings of the 2013 9th joint meeting on foundations of software engineering. ACM; 2013. p. 599–602.

  28. Arora C, Sabetzadeh M, Briand LC, Zimmer F. Requirement boilerplates: transition from manually-enforced to automatically-verifiable natural language patterns. In: 2014 IEEE 4th international workshop on requirements patterns (RePa). IEEE; 2014. p. 1–8.

  29. Dwyer MB, Avrunin GS, Corbett JC. Patterns in property specifications for finite-state verification. In: Proceedings of the 21st international conference on software engineering; Los Angeles, 1999. p. 411–20.

  30. Qiao Y, Zhong K, Wang H, Li X. Developing event-condition-action rules in real-time active database. In: Proceedings of the 2007 ACM symposium on applied computing; 2007. New York, p. 511–6.

  31. Jeannet B, Gaucher F. Debugging embedded systems requirements with stimulus: an automotive case-study. In: 8th European Congress on embedded real time software and systems (ERTS); Toulouse, France, Jan 2016.

  32. Thyssen J, Hummel B. Behavioral specification of reactive systems using stream-based I/O tables. Softw Syst Model. 2013;12(2):265–83.

    Article  Google Scholar 

  33. Fifarek AW, Wagner LG, Hoffman JA, Rodes BD, Aiello MA, Davis JA. Spear v2. 0: formalized past LTL specification and analysis of requirements. In: NASA formal methods symposium. Berlin: Springer; 2017. p. 420–6.

  34. Lúcio L, Rahman S, bin Abid S, Mavin A. EARS-CTRL: generating controllers for dummies. In: MODELS (satellite events); 2017. p. 566–70.

  35. Dick J, Hull E, Jackson K. Requirements engineering. Berlin: Springer; 2017.

    Book  MATH  Google Scholar 

  36. Bitsch F. Safety patterns-the key to formal specification of safety requirements. In: International conference on computer safety, reliability, and security. Berlin: Springer; 2001. p. 176–89.

  37. Rolland C, Proix C. A natural language approach for requirements engineering. In: International conference on advanced information systems engineering. Berlin: Springer; 1992. p. 257–77.

  38. Macias B, Pulman SG. A method for controlling the production of specifications in natural language. Comput J. 1995;38(4):310–8.

    Article  Google Scholar 

  39. Fu R, Bao X, Zhao T. Generic safety requirements description templates for the embedded software. In: 2017 IEEE 9th international conference on communication software and networks (ICCSN). IEEE; 2017. p. 1477–81.

  40. Marko N, Leitner A, Herbst B, Wallner A. Combining xtext and oslc for integrated model-based requirements engineering. In: 2015 41st Euromicro conference on software engineering and advanced applications. IEEE; 2015. p. 143–50.

  41. Berger P, Nellen J, Katoen J-P, Abraham E, Waez MTB, Rambow T. Multiple analyses, requirements once: simplifying testing & verification in automotive model-based development; 2019. arXiv preprint. arXiv:1906.07083.

  42. Houdek F. System requirements specification automotive system cluster (elc and acc). Munich: Technical University of Munich; 2013.

    Google Scholar 

  43. Zaki-Ismail A, Osama M, Abdelrazek M, Grundy J, Ibrahim A. RCM-extractor: an automated NLP-based approach for extracting a semi formal representation model from natural language requirements. Autom Softw Eng. 2022;29(1):1–33.

    Article  Google Scholar 

  44. Zaki-Ismail A, Osama M, Abdelrazek M, Grundy J, Ibrahim A. ARF: automatic requirements formalisation tool. In: 2021 IEEE 29th international requirements engineering conference (RE). Notre Dam, South Bend, USA; 2021. p. 440–1.

  45. Haider A. A survey of model checking tools using LTL or CTL as temporal logic and generating counterexamples. https://doi.org/10.13140/RG.2.1.3629.1925

  46. Brunello A, Montanari A, Reynolds M. Synthesis of LTL formulas from natural language texts: state of the art and research directions. In: 26th International symposium on temporal representation and reasoning (TIME 2019) 2019. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik; 2019.

  47. Alur R, Henzinger TA. Real-time logics: complexity and expressiveness. Inf Comput. 1993;104(1):35–77.

    Article  MathSciNet  MATH  Google Scholar 

  48. Clarke EM, Emerson EA. Design and synthesis of synchronization skeletons using branching time temporal logic. In: 25 Years of model checking. Berlin: Springer; 2008. p. 196–215.

  49. Konur S. A survey on temporal logics for specifying and verifying real-time systems. Front Comput Sci. 2013;7(3):370–403.

    Article  MathSciNet  MATH  Google Scholar 

  50. Zaki-Ismail A, Osama M, Abdelrazek M, Grundy J, Ibrahim A. Requirements formality levels analysis and transformation of formal notations into semi-formal and informal notations. In: Proceedings of the 33rd international conference on software engineering and knowledge engineering; Pittsburgh, USA, Jul 2021.

  51. Gatt A, Reiter E. SimpleNLG: a realisation engine for practical applications. In: Proceedings of the 12th European workshop on natural language generation (ENLG 2009); Stroudsburg, PA, USA, 2009. p. 90–93.

Download references

Acknowledgement

Osama and Zaki-Ismail are supported by Deakin PhD scholarships. Grundy is supported by ARC Laureate Fellowship FL190100035.

Funding

Not applicable.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mohamed Osama.

Ethics declarations

Conflict of Interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Osama, M., Zaki-Ismail, A., Abdelrazek, M. et al. A Comprehensive Requirement Capturing Model Enabling the Automated Formalisation of NL Requirements. SN COMPUT. SCI. 4, 57 (2023). https://doi.org/10.1007/s42979-022-01449-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s42979-022-01449-7

Keywords

Navigation