Abstract
Software modeling has shown for many years that it brings many advantages at the cost of various efforts and constraints. A large corpus of literature has indeed grown up over the years, pointing out the problems related to the modeling abstraction process, the usability of tools, or the practical difficulty of using modeling languages. While these works identify problems, few of them focus on proposing directions to explore in order to fix them. To move toward a smoother and less constraining modeling experience and then increase the added value of modeling approaches, it is necessary to identify new paths to improve current tooling. In this paper, we explore one specific path by investigating how new software assistance features could support users performing modeling tasks that they perceive as complex. We used UML knowledge as a criterion for the selection of participants and built a questionnaire general to software modeling. We followed a user-centered research approach and collected the feedback from practitioners who use the modeling languages and the modeling tools on a regular basis in an industrial context. This article reports on a set of individual interview sessions with 16 modeling experts about how they perform modeling and how they imagine assistance in the context of their work. From the analysis of this qualitative study, we draw twelve observations on how to design software assistants for software modeling. These observations highlight research directions for both tool vendors and academics to explore, to identify and design new solutions to the friction points of the software modeling experience.
Similar content being viewed by others
References
Hutchinson, J., Whittle, J., Rouncefield, M.: Model-driven engineering practices in industry: social, organizational and managerial factors that lead to success or failure. Sci. Comput. Program. 89, 144–161 (2014)
Akdur, D., Garousi, V., Demirörs, O.: A survey on modeling and model-driven engineering practices in the embedded software industry. J. Syst. Arch. 91, 62–82 (2018)
Dzidek, W.J., Arisholm, E., Briand, L.C.: A realistic empirical evaluation of the costs and benefits of UML in software maintenance. IEEE Trans. Softw. Eng. 34(3), 407–432 (2008). https://doi.org/10.1109/TSE.2008.15
Petre, M.: UML in practice. In: International Conference on Software Engineering (ICSE) ICSE ’13, pp. 722–731. IEEE Press, San Francisco (2013)
Kuhn, A., Murphy, G.C., Thompson, C.A.: An exploratory study of forces and frictions affecting large-scale model-driven development. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) Model Driven Engineering Languages and Systems, pp. 352–367. Springer, Berlin (2012)
Badreddin, O., Khandoker, R., Forward, A., Masmali, O., Lethbridge, T.C.: A decade of software design and modeling: a survey to uncover trends of the practice. In: ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS) MODELS ’18, pp. 245–255. Association for Computing Machinery, New York (2018)
McTear, M.F.: The rise of the conversational interface: A new kid on the block? In: Quesada, J.F., Martín Mateos, F.-J., López Soto, T. (eds.) Future and Emerging Trends in Language Technology. Machine Learning and Big Data, pp. 38–49. Springer, Cham (2017)
Grudin, J., Jacques, R.: Chatbots, humbots, and the quest for artificial general intelligence. In: Conference on Human Factors in Computing Systems (CHI) CHI ’19, pp. 1–11. Association for Computing Machinery, New York (2019)
Tuzovic, S.: Talk to me—the rise of voice assistants and smart speakers: a balance between efficiency and privacy. In: Hanlon, A., Tuten, T. (eds.) Handbook of Digital Marketing and Social Media. SAGE Publications Ltd (2021)
Nasirian, F., Ahmadian, M., Lee, O.D.: Ai-based voice assistant systems: evaluating from the interaction and trust perspectives. In: 23rd Americas Conference on Information Systems (AMCIS). Association for Information Systems (2017)
Thomas, J.C., Lee, A., Danis, C.: Enhancing creative design via software tools. Commun. ACM 45(10), 112–115 (2002)
Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of mde in industry. In: 33rd International Conference on Software Engineering (ICSE) ICSE ’11, pp. 471–480. Association for Computing Machinery, New York (2011)
Ozkaya, M., Erata, F.: Understanding practitioners’ challenges on software modeling: a survey. J. Comput. Lang. 58, 1 (2020)
Forward, A., Lethbridge, T.C.: Problems and opportunities for model-centric versus code-centric software development: a survey of software professionals. In: International Workshop on Models in Software Engineering (MiSE) MiSE ’08, pp. 27–32. Association for Computing Machinery, New York (2008)
Verbruggen, C., Snoeck, M.: Practitioners’ experiences with model-driven engineering: a meta-review. Softw. Syst. Model. 22(1), 111–129 (2023). https://doi.org/10.1007/s10270-022-01020-1
Dobing, B., Parsons, J.: How uml is used. Commun. ACM 49(5), 109–113 (2006)
Chaudron, M.R.V., Heijstek, W., Nugroho, A.: How effective is UML modeling? Softw. Syst. Model. 11(4), 571–580 (2012)
Budgen, D., Burn, A.J., Brereton, P., Kitchenham, B., Pretorius, R.: Empirical evidence about the uml: a systematic literature review. Softw. Pract. Exp. 41(4), 363–392 (2011)
Recker, J.: Opportunities and constraints: the current struggle with BPMN. Bus. Process. Manag. J. 16(1), 181–201 (2010). https://doi.org/10.1108/14637151011018001
Recker, J., Indulska, M., Rosemann, M., Green, P.F.: How good is BPMN really? insights from theory and practice. In: European Conference on Information Systems (2006)
Gray, J., Rumpe, B.: Reflections on the standardization of SysML 2. Softw. Syst. Model. 20(2), 287–289 (2021). https://doi.org/10.1007/s10270-021-00881-2
Kolovos, D.S., Rose, L.M., Matragkas, N., Paige, R.F., Guerra, E., Cuadrado, J.S., De Lara, J., Ráth, I., Varró, D., Tisi, M., Cabot, J.: A research roadmap towards achieving scalability in model driven engineering. In: Workshop on Scalability in Model Driven Engineering (BigMDE) BigMDE ’13. Association for Computing Machinery, New York (2013)
Whittle, J., Hutchinson, J., Rouncefield, M., Burden, H., Heldal, R.: Industrial adoption of model-driven engineering: Are the tools really the problem? In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS), pp. 1–17. Springer, Berlin, Heidelberg (2013)
Planas, E., Cabot, J.: How are uml class diagrams built in practice? A usability study of two uml tools: Magicdraw and papyrus. Comput. Stand. Interfaces 67, 1 (2020)
Safdar, S.A., Iqbal, M.Z., Khan, M.U.: Empirical evaluation of uml modeling tools-a controlled experiment. In: Taentzer, G., Bordeleau, F. (eds.) Modelling Foundations and Applications, pp. 33–44. Springer, Cham (2015)
Savary-Leblanc, M., Burgueño, L., Cabot, J., Le Pallec, X., Gérard, S.: Software assistants in software engineering: A systematic mapping study. Software: Practice and Experience (In Press) (2022)
Elkamel, A., Gzara, M., Ben-Abdallah, H.: An uml class recommender system for software design. In: 2016 IEEE/ACS 13th International Conference of Computer Systems and Applications (AICCSA), pp. 1–8 (2016). https://doi.org/10.1109/AICCSA.2016.7945659
Koschmider, A., Hornung, T., Oberweis, A.: Recommendation-based editor for business process modeling. Data Knowl. Eng. 70(6), 483–503 (2011). https://doi.org/10.1016/j.datak.2011.02.002
Lucrédio, D., de M. Fortes, R.P., Whittle, J.: MOOGLE: a metamodel-based model search engine. Softw. Syst. Model. 11(2), 183–208 (2012). https://doi.org/10.1007/s10270-010-0167-7
Casamayor, A., Godoy, D., Campo, M.: Functional grouping of natural language requirements for assistance in architectural software design. Knowl.-Based Syst. 30, 78–86 (2012). https://doi.org/10.1016/j.knosys.2011.12.009
Paydar, S., Kahani, M.: A semantic web enabled approach to reuse functional requirements models in web engineering. Autom. Softw. Eng. 22(2), 241–288 (2015). https://doi.org/10.1007/s10515-014-0144-4
Saini, R., Mussbacher, G., Guo, J.L.C., Kienzle, J.: Automated, interactive, and traceable domain modelling empowered by artificial intelligence. Softw. Syst. Model. (2022). https://doi.org/10.1007/s10270-021-00942-6
Savary-Leblanc, M., Le-Pallec, X., Gérard, S.: A modeling assistant for cognifying mbse tools. In: 2021 ACM/IEEE International Conference on Model Driven Engineering Languages and Systems Companion (MODELS-C), pp. 630–634 (2021). https://doi.org/10.1109/MODELS-C53483.2021.00097
Almonte, L., Pérez-Soler, S., Guerra, E., Cantador, I., de Lara, J.: Automating the Synthesis of Recommender Systems for Modelling Languages, pp. 22–35. Association for Computing Machinery, New York (2021). https://doi.org/10.1145/3486608.3486905
Agt-Rickauer, H., Kutsche, R.-D., Sack, H.: Domore? a recommender system for domain modeling. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development. MODELSWARD 2018, pp. 71–82. SCITEPRESS - Science and Technology Publications, Lda, Setubal, PRT (2018). https://doi.org/10.5220/0006555700710082
Pati, T., Kolli, S., Hill, J.H.: Proactive modeling: a new model intelligence technique. Softw. Syst. Model. 16(2), 499–521 (2017). https://doi.org/10.1007/s10270-015-0465-1
Almonte, L., Guerra, E., Cantador, I., de Lara, J.: Recommender systems in model-driven engineering. Softw. Syst. Model. 21(1), 249–280 (2022). https://doi.org/10.1007/s10270-021-00905-x
Aquino, E.R., de Saqui-Sannes, P., Vingerhoeds, R.A.: A methodological assistant for use case diagrams. In: 8th MODELSWARD: International Conference on Model-Driven Engineering and Software Development, La Valette, MT, pp. 1–11 (2020). ISBN: 978-989-758-400-8. https://oatao.univ-toulouse.fr/25179/
Duruisseau, M., Tarby, J.-C., Le Pallec, X., Gérard, S.: VisUML: A Live UML Visualization to Help Developers in Their Programming Task. In: Yamamoto, S., Mori, H. (eds.) Human Interface and the Management of Information. Interaction, Visualization, And Analytics. Lecture Notes in Computer Science, pp. 3–22. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-92043-6_1
Cuadrado, J.S., Guerra, E., de Lara, J.: Anatlyzer: An advanced ide for atl model transformations. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings ICSE ’18, pp. 85–88. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3183440.3183479
Burnett, M.: What is end-user software engineering and why does it matter? In: Pipek, V., Rosson, M.B., de Ruyter, B., Wulf, V. (eds.) End-User Development, pp. 15–28. Springer, Berlin, Heidelberg (2009)
Ko, A.J., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B., Rosson, M.B., Rothermel, G., Shaw, M., Wiedenbeck, S.: The state of the art in end-user software engineering. ACM Comput. Surv. 43(3), 1 (2011). https://doi.org/10.1145/1922649.1922658
Barricelli, B.R., Cassano, F., Fogli, D., Piccinno, A.: End-user development, end-user programming and end-user software engineering: A systematic mapping study. J. Syst. Softw. 149, 101–137 (2019). https://doi.org/10.1016/j.jss.2018.11.041
Lallemand, C., Gronier, G.: Méthodes de Design UX: 30 Méthodes Fondamentales Pour Concevoir des Expériences optimales, 2nd edn. Ed. Eyrolles (2018)
Savary-leblanc, M., Le Pallec, X.: Anonymized transcriptions of the interviews. http://shift-digital.fr/work/interviews-sosym/anonymized-transcriptions-SOSYM.zip. Accessed: 26 October 2022
Parasuraman, R., Sheridan, T.B., Wickens, C.D.: A model for types and levels of human interaction with automation. IEEE Trans. Syst. Man Cybern. Part A: Syst. Hum. 30(3), 286–297 (2000)
Shihab, E., Wagner, S.: Proceedings of the 1st International Workshop on Bots in Software Engineering (BotSE). IEEE Press (2019)
Baym, N., Shifman, L., Persaud, C., Wagman, K.: Intelligent failures: Clippy memes and the limits of digital assistants. AoIR Selected Papers of Internet Research (2019)
Sonnentag, S.: Excellent software professionals: experience, work activities, and perception by peers. Behav. Inf. Technol. 14(5), 289–299 (1995). https://doi.org/10.1080/01449299508914648
Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79(12), 1792–1804 (2006). https://doi.org/10.1016/j.jss.2006.04.029
Murphy-Hill, E., Murphy, G.C.: Recommendation delivery—getting the user interface just right. In: Recommendation Systems in Software Engineering (2014)
Tintarev, N., Masthoff, J.: A survey of explanations in recommender systems. In: 2007 IEEE 23rd International Conference on Data Engineering Workshop, pp. 801–810 (2007)
Chopra, K., Wallace, W.A.: Trust in electronic environments. In: 36th Annual Hawaii International Conference on System Sciences, p. 10 (2003)
Abualhaija, S., Arora, C., Sabetzadeh, M., Briand, L.C., Vaz, E.: A machine learning-based approach for demarcating requirements in textual specifications. In: IEEE 27th International Requirements Engineering Conference (RE), pp. 51–62 (2019)
Dwitama, F., Rusli, A.: User stories collection via interactive chatbot to support requirements gathering. Telecommunication Computing Electronics and Control (TELKOMNIKA) 18, 870 (2020)
Abad, Z.S.H., Karras, O., Schneider, K., Barker, K., Bauer, M.: Task interruption in software development projects: What makes some interruptions more disruptive than others? In: Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018 EASE’18, pp. 122–132. Association for Computing Machinery, New York (2018). https://doi.org/10.1145/3210459.3210471
Meyer, A.N., Barton, L.E., Murphy, G.C., Zimmermann, T., Fritz, T.: The work life of developers: activities, switches and perceived productivity. IEEE Trans. Softw. Eng. 43(12), 1178–1193 (2017)
Sanctorum, A., Rukonic, L., Signer, B.: Design requirements for recommendations in end-user user interface design. In: Fogli, D., Tetteroo, D., Barricelli, B.R., Borsci, S., Markopoulos, P., Papadopoulos, G.A. (eds.) End-User Development, pp. 204–212. Springer, Cham (2021)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Silvia Abrahao.
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.
About this article
Cite this article
Savary-Leblanc, M., Le Pallec, X. & Gérard, S. Understanding the need for assistance in software modeling: interviews with experts. Softw Syst Model 23, 103–135 (2024). https://doi.org/10.1007/s10270-023-01104-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-023-01104-6