Skip to main content
Log in

Identifying and fixing ambiguities in, and semantically accurate formalisation of, behavioural requirements

  • Theme Section Paper
  • Published:
Software and Systems Modeling Aims and scope Submit manuscript

Abstract

To correctly formalise requirements expressed in natural language, ambiguities must first be identified and then fixed. This paper focuses on behavioural requirements (i.e. requirements related to dynamic aspects and phenomena). Its first objective is to show, based on a practical, public case study, that the disambiguation process cannot be fully automated: even though natural language processing (NLP) tools and machine learning might help in the identification of ambiguities, fixing them often requires a deep, application-specific understanding of the reasons of being of the system of interest, of the characteristics of its environment, of which trade-offs between conflicting objectives are acceptable, and of what is achievable and what is not; it may also require arduous negotiations between stakeholders. Such an understanding and consensus-making ability is not in the reach of current tools and technologies, and will likely remain so for a long while. Beyond ambiguity, requirements are often marred by various other types of defects that could lead to wholly unacceptable consequences. In particular, operational experience shows that requirements inadequacy (whereby, in some of the situations the system could face, what is required is woefully inappropriate or what is necessary is left unspecified) is a significant cause for systems failing to meet expectations. The second objective of this paper is to propose a semantically accurate behavioural requirements formalisation format enabling tool-supported requirements verification, notably with simulation. Such support is necessary for the engineering of large and complex cyber-physical and socio-technical systems to ensure, first, that the specified requirements indeed reflect the true intentions of their authors and second, that they are adequate for all the situations the system could face. To that end, the paper presents an overview of the BASAALT (Behaviour Analysis and Simulation All Along systems Life Time) systems engineering method, and of FORM-L (FOrmal Requirements Modelling Language), its supporting language, which aims at representing as accurately and completely as possible the semantics expressed in the original, natural language behavioural requirements, and is markedly different from languages intended for software code generation. The paper shows that generally, semantically accurate formalisation is not a simple paraphrasing of the original natural language requirements: additional elements are often needed to fully and explicitly reflect all that is implied in natural language. To provide such complements for the case study presented in the paper, we had to follow different formalisation patterns, i.e. sequences of formalisation steps. For this paper, to avoid being skewed by what a particular automatic tool can and cannot do, BASAALT and FORM-L were applied manually. Still, the lessons learned could be used to specify and develop NLP tools that could assist the disambiguation and formalisation processes. However, more studies are needed to determine whether an exhaustive set of formalisation patterns can be identified to fully automate the formalisation process.

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

Similar content being viewed by others

Notes

  1. https://www.3ds.com/products-services/catia/products/stimulus/.

  2. See https://github.com/kevinlano/RequirementsFormalisation/tree/main/formalisationResults.

References

  1. A guide to the business analysis body of knowledge(BABOK Guide). v3, IIBA (2015)

  2. Abrial , J.-R., Butler, M., Hallerstede, S., Voisin, L.: An open extensible tool environment for event-b. In: Liu, Z., Jifeng, H., (eds) Formal Methods and Software Engineering, pp 588–605 (2006). Springer, Berlin

  3. Abrial, J.R.: Modeling in Event-B: System and Software Engineering. Cambridge University Press (2010)

  4. Abrial, J.-R.: The B-book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)

  5. Azzouzi, E., Jardin, A., Mhenni, F.: A survey on systems engineering methodologies for large multi-energy cyber-physical systems. In: 13th Annual International System Conference and SysCon 2019—Proceedings (2019)

  6. BIPM. The International System of Units (SI) (2019)

  7. Board, M.C.O.M.I.: Mars Climate Orbiter Mishap Investigation Board: Phase I Report. Nimble Books LLC (2013)

  8. Bouffaron, F.: Airbus MBSE framework : model execution of system architectures (MOFLT). In: MBSE Cyber Experience Symposium 2021—Japan, ONLINE, Japan (2021)

  9. Bruel, J.-M., Ebersold, S., Galinier, F., Mazzara, M., Naumchev, A., Meyer, B.: The role of formalism in system requirements. ACM Comput. Surv. 54(5), 1–36 (2021)

  10. Chrissis, M.B., Konrad, M., Shrum, S.: CMMI for Development: Guidelines for Process Integration and Product improvement, 3rd edition. Pearson Education (2011)

  11. Cockburn, A.: Writing Effective Use Cases. Pearson Education India (2001)

  12. Electric Power Research Institute (EPRI): Operating experience insights on common-cause failure in digital instrumentation and control systems. TR 1016731 (2008)

  13. Electric Power Research Institute (EPRI): Severe nuclear accidents: lessons learned for instrumentation and control and human factors.TR 3002005385 (2015)

  14. Glinz, M.: A Glossary of Requirements Engineering Terminology. Version 2.0.1. International Requirements Engineering Board (IREB). Technical Report (2022)

  15. IEEE standard glossary of software engineering terminology: IEEE Std 610(12–1990), 1–84 (1990)

  16. ISO/IEC.: Information Technology—Object Management Group Business Process Model and Notation. 19510 (2013)

  17. ISO/IEC: Systems and Software Assurance: Assurance Case. 15026-2 (2015)

  18. Kotonya, G., Sommerville, I..: Requirements Engineering: Processes and Techniques. Wiley (1998)

  19. Lano, K.: Requirements formalisation. https://github.com/kevinlano/RequirementsFormalisation/tree/main/ (2023)

  20. Lano, K.: k3 data. https://github.com/kevinlano/RequirementsFormalisation/tree/main/casestudies/k3data.txt (2023)

  21. Lano, K.: k3 ucs. https://github.com/kevinlano/RequirementsFormalisation/tree/main/casestudies/k3ucs.txt (2023)

  22. Laplante, P.A., Kassab, M.H.: Requirements Engineering for Software and Systems. CRC Press (2022)

  23. Larman, C.: Applying UML and Patterns: An Introduction to Object Oriented Analysis and Design and iNterative Development. Pearson Education India (2012)

  24. Lawrence, P.S., Atlee, J.M.: Software Engineering: Theory and Practice. Pearson Education India (2010)

  25. Leffingwell, D.: Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley (2010)

  26. Meyer, B.: Handbook of Requirements and Business Analysis. Springer (2022)

  27. Network Aviation Safety.: The Cranbrook Manoeuvre. https://aviation-safety.net/database/record.php? id=19780211-0 (1978)

  28. Nguyen, T.: An improved approach to traceability in the engineering of complex systems. In: 2018 IEEE International Systems Engineering Symposium (ISSE), pp. 1–6 (2018)

  29. Nguyen, T.: Formal requirements and constraints modelling in FORM-L for the engineering of complex socio-technical systems. In: 2019 IEEE 27th International Requirements Engineering Conference Workshops (REW), pp. 123–132 (2019)

  30. Nguyen, T.: k3 case study requirements in FORM-L. https://github.com/CoCoVaD/k3-Case-Study (2023)

  31. Nguyen, T.: The BASAALT systems engineering method, and FORM-L, its supporting language. https://github.com/CoCoVaD/basaalt (2023)

  32. OECD-NEA. COMPuter-based Systems Important to Safety (COMPSIS) project: final report. NEA/CSNI/R(2012)12 (2012)

  33. Pohl, K.: Requirements Engineering Fundamentals: A Study Guide for the Certified Professional for Requirements Engineering Exam. Rocky Nook, Inc (2016)

  34. Respect-IT. A KAOS Tutorial (2007)

  35. Robertson, S., Robertson, J.: Mastering the Requirements Process: Getting Requirements Right. Addison-Wesley (2012)

  36. van Lamsweerde, A.: Goal-oriented requirements enginering: a roundtrip from research to practice [enginering read engineering]. In: Proceedings. 12th IEEE International Requirements Engineering Conference, 2004., pp. 4–7 (2004)

  37. van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications, 1st edition. Wiley (2009)

  38. Wiegers, K., Beatty, J.: Software Requirements. 3rd edition (2013)

  39. Zave, P., Jackson, M.: Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Methodol. 6(1), 1–30 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sophie Ebersold.

Additional information

Communicated by Lano, Kolahdouz-Rahimi, Yassipour-Tehrani, Burgueño and Uma.

Publisher's Note

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

Appendix A: Summary of FORM-L notations used in this paper

Appendix A: Summary of FORM-L notations used in this paper

See Figs. 8 and 9.

Fig. 8
figure 8

FORM-L notations used in this paper—Part 1

Fig. 9
figure 9

FORM-L notations used in this paper—Part 2

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

Nguyen, T., Sayar, I., Ebersold, S. et al. Identifying and fixing ambiguities in, and semantically accurate formalisation of, behavioural requirements. Softw Syst Model (2024). https://doi.org/10.1007/s10270-023-01142-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10270-023-01142-0

Keywords

Navigation