Abstract
Application of formal models provides many benefits for the software and system development, however, the learning curve of formal languages could be a critical factor for an industrial project. Thus, a natural language specification that reflects all the aspects of the formal model might help to understand the model and be especially useful for the stakeholders who do not know the corresponding formal language. Moreover, an automated generation of the documentation from the model would replace manual updates of the documentation for the cases the model is modified. This paper presents an ongoing work on generating natural language specifications from formal models. Our goal is to generate documentation in English from the basic modelling artefacts, such as data types, state machines, and architectural components. To allow further formal analysis of the generated specification, we restrict English to its subset, Attempto Controlled English.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
ACE Construction Rules. http://attempto.ifi.uzh.ch/site/docs/ace_constructionrules.html. Accessed 28 July 2016
ACE Lexicon Specification. http://attempto.ifi.uzh.ch/site/docs/ace_lexicon.html. Accessed 28 July 2016
SWI-Prolog. http://www.swi-prolog.org. Accessed 28 July 2016
Aravantinos, V., Voss, S., Teufl, S., Hölzl, F., Schätz, B.: AutoFOCUS 3: tooling concepts for seamless, model-based development of embedded systems. In: Joint proceedings of ACES-MB 2015-Model-based Architecting of Cyber-physical and Embedded Systems, p. 19 (2015)
Bjørner, D., Havelund, K.: 40 years of formal methods. In: Jones, C., Pihlajasaari, P., Sun, J. (eds.) FM 2014. LNCS, vol. 8442, pp. 42–61. Springer, Heidelberg (2014). doi:10.1007/978-3-319-06410-9_4
Broy, M., et al.: Service-oriented modeling of CoCoME with focus and AutoFocus. In: Rausch, A., Reussner, R., Mirandola, R., Plášil, F. (eds.) The Common Component Modeling Example. LNCS, vol. 5153, pp. 177–206. Springer, Heidelberg (2008). doi:10.1007/978-3-540-85289-6_8
Broy, M., Stólen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, New York (2001)
Bryant, B.R.: Object-oriented natural language requirements specification. In: 23rd Australasian Computer Science Conference, pp. 24–30. IEEE (2000)
Cabral, G., Sampaio, A.: Formal specification generation from requirement documents. Electron. Notes Theor. Comput. Sci. 195, 171–188 (2008)
Feilkas, M., Fleischmann, A., Hölzl, F., Pfaller, C., Scheidemann, K., Spichkova, M., Trachtenherz, D.: A top-down methodology for the development of automotive software, Technical report, TUM-I0902, TU München (2009)
Feilkas, M., Fleischmann, A., Hölzl, F., Pfaller, C., Scheidemann, K., Spichkova, M., Trachtenherz, D.: A refined top-down methodology for the development of automotive software systems - the keylessentry system case study, Technical report, TUM-I1103, TU München (2011)
Fuchs, N.E., Kaljurand, K., Kuhn, T.: Attempto controlled english for knowledge representation. In: Baroglio, C., Bonatti, P.A., Małuszyński, J., Marchiori, M., Polleres, A., Schaffert, S. (eds.) Reasoning Web. LNCS, vol. 5224, pp. 104–124. Springer, Heidelberg (2008). doi:10.1007/978-3-540-85658-0_3
Fuchs, N.E., Schwitter, R.: Attempto Controlled English (ACE). arXiv preprint cmp-lg/9603003 (1996)
Gangopadhyay, A.: Conceptual modeling from natural language functional specifications. Artif. Intell. Eng. 15(2), 207–218 (2001)
Guiho, G., Hennebert, C.: Sacem software validation. In: 12th International Conference on Software Engineering, pp. 186–191. IEEE (1990)
Hölzl, F., Feilkas, M.: 13 AutoFocus 3 - a scientific tool prototype for model-based development of component-based, reactive, distributed systems. In: Giese, H., Karsai, G., Lee, E., Rumpe, B., Schätz, B. (eds.) MBEERTS 2007. LNCS, vol. 6100, pp. 317–322. Springer, Heidelberg (2010). doi:10.1007/978-3-642-16277-0_13
Hölzl, F., Spichkova, M., Trachtenherz, D.: AutoFocus Tool Chain, Technical report, TUM-I1021, TU München (2010)
Hölzl, F., Spichkova, M., Trachtenherz, D.: Safety-critical system development methodology. Technical report, TUM-I1020, TU München (2010)
Ilieva, M.G., Ormandjieva, O.: Automatic transition of natural language software requirements specification into formal presentation. In: Montoyo, A., Muńoz, R., Métais, E. (eds.) NLDB 2005. LNCS, vol. 3513, pp. 392–397. Springer, Heidelberg (2005). doi:10.1007/11428817_45
Juristo, N., Morant, J.L., Moreno, A.M.: A formal approach for generating OO specifications from natural language. J. Syst. Softw. 48(2), 139–153 (1999)
Kaljurand, K., Fuchs, N.E., Kuhn, T.: APE - ACE Parsing Engine. https://github.com/Attempto/APE. Accessed 30 Mar 2016
Lam, P.S., Teu, S.: Simple Traffic Lights tutorial for AutoFocus 3. http://af3.fortiss.org/docs/. Accessed 30 Mar 2016
Lee, B., Bryant, B.R.: Automated conversion from requirements documentation to an object-oriented formal specification language. In: Proceedings of the 2002 ACM symposium on Applied computing, pp. 932–936. ACM (2002)
Mala, G.S.A., Uma, G.V.: Automatic construction of object oriented design models [UML Diagrams] from natural language requirements specification. In: Yang, Q., Webb, G. (eds.) PRICAI 2006. LNCS (LNAI), vol. 4099, pp. 1155–1159. Springer, Heidelberg (2006). doi:10.1007/978-3-540-36668-3_152
Sanner, M.F.: Python: a programming language for software integration and development. J. Mol. Graph. Model. 17(1), 57–61 (1999)
Schank, R.C.: Conceptual dependency: a theory of natural language understanding. Cogn. Psychol. 3(4), 552–631 (1972)
Schwitter, R., Ljungberg, A., Hood, D.: ECOLE - a look-ahead editor for a controlled language. In: EAMT-CLAW 2003, pp. 141–150 (2003)
Spichkova, M.: Human factors of formal methods. In: IADIS Interfaces and Human Computer Interaction, IHCI 2012 (2012)
Spichkova, M.: Design of formal languages, interfaces: “formal” does not mean “unreadable”. In: Blashki, K., Isaias, P. (eds.) Emerging Research and Trends in Interactivity and the Human-Computer Interface. IGI Global (2013)
Spichkova, M., Hölzl, F., Trachtenherz, D.: Verified system development with the AutoFocus tool chain. In: Workshop on Formal Methods in the Development of Software (2012)
Spichkova, M., Liu, H., Laali, M., Schmidt, H.W.: Human factors in software reliability engineering. In: Workshop on Applications of Human Error Research to Improve Software Engineering (WAHESE 2015) (2015)
Spichkova, M., Zhu, X., Mou, D.: Do we really need to write documentation for a system? In: International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2013) (2013)
Zamansky, A., Rodriguez-Navas, G., Adams, M., Spichkova, M.: Formal methods in collaborative projects. In: 11th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE). IEEE (2016)
Zhang, J., Cheng, B.H.: Model-based development of dynamically adaptive software. In: Proceedings of the 28th International Conference on Software Engineering, pp. 371–380. ACM (2006)
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
Vo, P.T.N., Spichkova, M. (2016). Model-Based Generation of Natural Language Specifications. In: Milazzo, P., Varró, D., Wimmer, M. (eds) Software Technologies: Applications and Foundations. STAF 2016. Lecture Notes in Computer Science(), vol 9946. Springer, Cham. https://doi.org/10.1007/978-3-319-50230-4_16
Download citation
DOI: https://doi.org/10.1007/978-3-319-50230-4_16
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-50229-8
Online ISBN: 978-3-319-50230-4
eBook Packages: Computer ScienceComputer Science (R0)