Abstract
In software engineering, system requirements are written in a natural language such as English. Later in the design phase, these requirements are usually translated to a semi-formal language such as UML. This design model gives support to the development of the system in a programming language. Although natural language is easy to use, it is intrinsically ambiguous. Undesired effects may arise, as the errors generated by misinterpretation of the requirements can lead to a late discovery of a problem with a costly solution. In this paper, we propose the use of a Controlled Natural Language (CNL) (a subset of English that obeys a formal grammar) as a language for writing requirements. Moreover, we developed a translator from a CNL to the modelling language of the NuSMV model checker. In addition, we propose another CNL to describe properties in the style of a temporal logic. A second translator transforms this CNL into Computation Tree Logic. Therefore, our toolset allows the user to benefit from the user-friendliness of a natural language and to perform a formal analysis on the requirements using the NuSMV model checker. We are thus able to assert whether the requirements satisfy a property. The user only deals with CNLs as we hide all formal languages involved in the inputs of a model checker. Counter-examples are produced in the NuSMV notation, but they are fairly intuitive to understand. We illustrate our work in a case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
References
Aceituna, D., Do, H., Srinivasan, S.: A systematic approach to transforming system requirements into model checking specifications. In: Companion Proceedings of the 36th International Conference on Software Engineering, ICSE Companion 2014, pp. 165–174. ACM, New York (2014)
Aho, A.V., Lam, M.S., Sethi, R., Ullman, J.D.: Compilers: Principles, Techniques, and Tools, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2006)
Aichernig, B., Brandl, H., Jöbstl, E., Krenn, W., Schlick, R., Tiran, S.: Killing strategies for model-based mutation testing. Softw. Test. Verif. Reliab. 25(8), 716–748 (2015)
Badger, J., Throop, D., Claunch, C.: Vared: verification and analysis of requirements and early designs. In: 2014 IEEE 22nd International Requirements Engineering Conference (RE), pp. 325–326, August 2014
Behrmann, G., David, A., Larsen, K.: A Tutorial on UPPAAL 4.0. Department of Computer Science, Aalborg University, Denmark (2006)
Boddu, R., Guo, L., Mukhopadhyay, S., Cukic, B.: RETNA: from requirements to testing in a natural way. In: Proceedings of the RE, pp. 262–271 (2004)
Cadete, D., Cunha, A., Faria, J., Oliveira, J., Passos, A.: From boilerplated requirements to alloy: half-way between text and formal model. Technical report, Universidade do Minho (2012)
Carvalho, G., Barros, F., Carvalho, A., Cavalcanti, A., Mota, A., Sampaio, A.: NAT2TEST tool: from natural language requirements to test cases based on CSP. In: Calinescu, R., Rumpe, B. (eds.) SEFM 2015. LNCS, vol. 9276, pp. 283–290. Springer, Heidelberg (2015). doi:10.1007/978-3-319-22969-0_20
Carvalho, G., Barros, F., Lapschies, F., Schulze, U., Peleska, J.: Model-based testing from controlled natural language requirements. In: Artho, C., Ölveczky, P.C. (eds.) FTSCS 2013. CCIS, vol. 419, pp. 19–35. Springer, Heidelberg (2014a). doi:10.1007/978-3-319-05416-2_3
Carvalho, G., Cavalcanti, A., Sampaio, A.: Modelling timed reactive systems from natural-language requirements. Formal Aspects Comput. 28(5), 725–765 (2016)
Carvalho, G., Falcão, D., Barros, F., Sampaio, A., Mota, A., Motta, L., Blackburn, M.: Test case generation from natural language requirements based on SCR specifications. In: Proceedings of Symposium on Applied Computing, Coimbra, Portugal, vol. 2, pp. 1217–1222 (2013a)
Carvalho, G., Falcão, D., Barros, F., Sampaio, A., Mota, A., Motta, L., Blackburn, M.: NAT2TEST\(_{SCR}\): test case generation from natural language requirements based on SCR specifications. Sci. Comput. Program. 95(Part 3(0)), 275–297 (2014)
Cavada, R., Cimatti, A., Jochim, C.A., Keighren, G., Olivetti, E., Pistore, M., Roveri, M., Tchaltsev, A.: NuSMV 2.6 User Manual. FBK-irst - Via Sommarive 18, 38055 Povo (Trento), Italy (2010)
Cavada, R., Cimatti, A., Mariotti, A., Mattarei, C., Micheli, A., Mover, S., Pensallorto, M., Roveri, M., Susi, A., Tonetta, S.: Supporting requirements validation: the EuRailCheck tool. In: 24th IEEE/ACM International Conference on Automated Software Engineering, ASE 2009, pp. 665–667, November 2009
Choi, Y., Heimdahl, M.P.: Model checking RSML-e requirements. In: Proceedings of the 7th IEEE International Symposium on High Assurance Systems Engineering, pp. 109–118. IEEE (2002)
Esser, M., Struss, P.: Obtaining models for test generation from natural-language like functional specifications. In: International Workshop on Principles of Diagnosis, pp. 75–82 (2007)
Fillmore, C.: The case for case. In: Bach, E., Harms, R. (eds.) Universals in Linguistic Theory, pp. 1–88. Holt, Rinehart, and Winston, New York (1968)
Fuchs, N.: Controlled Natural Language. LNCS, vol. 5972. Springer, Heidelberg (2010). doi:10.1007/978-3-642-14418-9
Holt, A.: Formal verification with natural language specifications: guidelines, experiments and lessons so far. S. Afr. Comput. J., 253–257 (1999)
Nipkow, T., Paulson, L., Wenzel, M.: Isabelle/HOL – A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)
Acknowledgements
This work was partially supported by the National Institute of Science and Technology for Software Engineering (INES), funded by CNPq and FACEPE, grants 573964/2008-4, 560256/2010-8 and APQ-1037-1.03/08.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Barza, S., Carvalho, G., Iyoda, J., Sampaio, A., Mota, A., Barros, F. (2016). Model Checking Requirements. In: Ribeiro, L., Lecomte, T. (eds) Formal Methods: Foundations and Applications. SBMF 2016. Lecture Notes in Computer Science(), vol 10090. Springer, Cham. https://doi.org/10.1007/978-3-319-49815-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-49815-7_13
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-49814-0
Online ISBN: 978-3-319-49815-7
eBook Packages: Computer ScienceComputer Science (R0)