CNUIML: Towards the automatic generation of enterprise-level rich internet applications using controlled natural user interface modeling language

Document Type : Article

Authors

1 Department of Computer Engineering, Sari Branch, Islamic Azad University, Sari, Iran

2 Department of Computer Engineering, Babol Branch, Islamic Azad University, Babol, Iran

Abstract

The lack of qualified developers is the main reason for the shortage of software. One solution to overcome this problem is to leverage the end user for software development. Model-based approaches attempt to facilitate the involvement of the end user in the software development process. Various approaches have been explored to automatically transform the user interface model into the source code. However, the research community has focused less on describing the user interface with natural language. We used the MDA approach and the CAMELEON reference framework to develop a natural controlled modeling language (CNUIML) for modeling the user interface of web applications. The meta-model of the designed language is represented by the meta-meta-model and the grammar of the language is developed using EBNF. The usability of CNUIML has been evaluated through two case studies. The models described with this language are AUI-level models based on CRF and a PIM, based on the MDA approach. In this study, we have shown that the model designed with this language can be transformed into similar models such as task models or class diagrams using M2M. We have also discussed how the source code is obtained from the transformation of this model using M2T.

Keywords

Main Subjects


References:
1. Soude, H. and Koussonda, K. "A model driven approach for unifying user interfaces development", International Journal of Advanced Computer Science and Applications, 13(7), pp. 919|926 (2022). DOI: 10.14569/ijacsa.2022.01307107.
2. Emam, K. and Koru, G. "A replicated survey of it software project failures", In Software, IEEE, 25, pp. 84-90 (2008). DOI: 10.1109/MS.2008.107.
3. Kumar, G. and Bhatia, P. "Impact of agile methodology on software development process", International Journal of Computer Technology and Electronics Engineering, 2(4), pp. 46-50 (2012).
4. Fitzgerald, B. and Stol, K.-J. "Continuous software engineering: A roadmap and agenda", Journal of Systems and Software, 123, pp. 176-189 (2017). DOI: 10.1016/j.jss.2015.06.063.
5. Bano, M. and Zowghi, D. "User involvement in software development and system success: a systematic literature review", pp. 125-130 (2013). DOI: 10.1145/2460999.2461017.
6. Ruiz, J., Serral, E., and Snoeck, M. "Evaluating user interface generation approaches: model-based versus model-driven development", Software & Systems Modeling, 18(4), pp. 2753-2776 (2019). DOI: 10.1007/s10270-018-0698-x.
7. Myers, B. and Rosson, M. "Survey on user interface programming", in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, New York, NY, USA, pp. 195-202 (1992). DOI: 10.1145/142750.142789.
8. "AndroMDA model driven architecture framework - AndroMDA - homepage", [Online]. Available at: http://www.andromda.org/.
9. "Acceleo j home", [Online]. Available at: https://eclipse.dev/ acceleo/.
10. "UsiXML - USer interface eXtended markup language", [Online]. Available at: http://www.usixml.org/en/home.html?IDC=221. 
11. "Oasis user interface markup language (uiml) tc oasis", [Online]. Available at: https://www.oasis-open.org/. 
12. "IFML: The interaction  flow modeling language j the OMG standard for front-end design", [Online]. Available at: https://www.ifml.org/.
13. Ammar, L. "An automated model-based approach for developing mobile user interfaces", IEEE Access, 9, pp. 51573-51581 (2021). DOI: 10.1109/ACCESS. 2021.3066007.
14. Karu, M. "A textual domain specific language for user interface modelling", in Lecture Notes in Electrical Engineering, 151, pp. 985-996 (2013). DOI: 10.1007/978- 1-4614-3558-7 84.
15. "Model driven architecture (MDA) j object management group", [Online]. Available at: https://www.omg.org/mda/.
16. Fardoun, H., Tesoriero, R., Sebastian, G., et al. "A simplified mbuid process to generate web formbased uis", in ICSOFT, pp. 835-842 (2018). DOI: 10.5220/0006943908010808.
17. Limbourg, Q., Vanderdonckt, J., Michotte, B., et al. "Usixml: A user interface description language supporting multiple levels of independence", in ICWE Workshops, pp. 325-338 (2004).
18. Gotti, S. and Mbarki, S. "Ifvm bridge: A model driven ifml execution", International Journal of Online & Biomedical Engineering, 15(4) (2019). DOI: 10.3991/ijoe.v15i04.9707.
19. Cruz, J., Jimenez, S., and Martinez, N. "Lenguajes para el mduid: un analisis de propuestas existentes", Technology Inside by CPIC, 3, pp. 14-35 (2019).
20. Calvary, G., Coutaz, J., Thevenin, D., et al. "A unifying reference framework for multi-target user interfaces", Interacting with Computers, 15(3), pp. 289-308 (2003). DOI: 10.1016/S0953-5438(03)00010-9.
21. Gamito, I. and da Silva, A.R. "From rigorous requirements and user interfaces specifications into software business applications", in Quality of Information and Communications Technology: 13th International Conference, QUATIC 2020, Faro, Portugal, September 9- 11, 2020, Proceedings 13. Springer, pp. 459-473 (2020).
22. Moldovan, A. "Openuidl, a user interface description language for runtime omni- channel user interfaces", Proc. ACM Hum. Comput. Interact, 4(EICS), pp. 1- 86 (2020). DOI: 10.1145/3397874.
23. Souchon, N. and Vanderdonckt, J. "A review of xmlcompliant user interface description languages", in Interactive Systems. Design, Specification, and Verification, pp. 377-391. Berlin, Heidelberg (2003). DOI: 10.1007/978-3-540-39929-2 26.
24. Guerrero-Garcia, J., Gonzalez-Calleros, J., Vanderdonckt, J., et al. "A theoretical survey of user interface description languages: Preliminary results", in 2009 Latin American Web Congress, p. 36-43 (2009). DOI: 10.1109/LA-WEB.2009.40.
25. Jovanovic, M., Starcevic, D., and Jovanovic, Z. "Languages for model-driven development of user interfaces: Review of the state of the art", Yugoslav Journal of Operations Research, 23(3), pp. 327-341 (2013). DOI: 10.2298/YJOR121101007J.
26. Mayer, C., Morandell, M., Kuntner, A., et al. "A comparison of user description languages concerning adaptability based on user preferences", in Assistive Technology: From Research to Practice, pp. 1310- 1315, IOS Press (2013). DOI: 10.3233/978-1-61499-304-9-1310.
27. Mitrovic, N., Bobed, C., and Mena, E. "A review of user interface description languages for mobile applications", in the Tenth International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies UBICOMM (2016).
28. Mejias, J., Silega, N., Noguera, M., et al. "Modeldriven user interface development: A systematic mapping", Human-Computer Interaction: 8th Iberoamerican Workshop, HCI-COLLAB 2022, pp. 114-129 (2023). DOI: 10.1007/978-3-031-24709-5 9.
29. Juarez-Ramirez, R., Huertas, C., and Inzunza, S. "Automated generation of user-interface prototypes based on controlled natural language description", in COMPSAC Workshops, pp. 246-251 (2014). DOI: 10.1109/COMPSACW.2014.44.
30. Pinto, T., Goncalves, W., and Costa, P. "User interface prototype generation from agile requirements specifications written in concordia", in Proceedings of the 25th Brazillian Symposium on Multimedia and the Web, pp. 61-64 (2019).
31. Dittmer, H. "Programmer productivity enhancement through controlled natural language input", International Journal of Software Engineering & Applications (IJSEA), 11(3) (2020). Available at SSRN: https://ssrn.com/abstract=3619993.
32. Mernik, M., Heering, J., and Sloane, A. "When and how to develop domain- specific languages", ACM Computing Surveys, 37(4), pp. 316-344 (2005). DOI:10.1145/1118890.1118892.
33. Visser, E. "Webdsl: A case study in domainspecific language engineering", in International Summer School on Generative and Transformational Techniques in Software Engineering, pp. 291-373 (2007). DOI: 10.1007/978-3-540-88643-3 7.
34. Kurtev, I., Bezivin, J., Jouault, F., et al. "Model-based dsl frameworks", in Companion to the 21st ACM SIGPLAN Symposium on Object-Oriented Programming Systems, Languages, and Applications, pp. 602-616 (2006). DOI: 10.1145/1176617.1176632.
35. "ISO/IEC 14977:1996", [Online]. Available at: https://www.iso.org/standard/26153.html.
36. Garshol, L. "Bnf and ebnf: What are they and how do they work?", (2008), Online]. Available: https://www.garshol.priv.no/download/text/bnf.html.
37. Bowen, J., Dittmar, A., and Weyers, B. "Task modelling for interactive system design: A survey of historical trends, gaps and future needs", Proc. ACM Hum.- Comput. Interact, 5(EICS), pp. 1-214 (2021). DOI: 10.1145/3461736.
38. Martinie, C., Palanque, P., Bouzekri, E., et al. "Analysing and demonstrating tool-supported customizable task notations", Proceedings of the ACM on Human-Computer Interaction, 3(EICS), pp. 1-26 (2019). DOI: 10.1145/3331154.
39. Bacikova, M. and Poruban, J. "Analyzing stereotypes of creating graphical user interfaces", Open Computer Science, 2(3), pp. 300-315 (2012). DOI:10.2478/s13537-012-0020-x.