A User-Centric Approach to Improve the Quality of UML-like Modelling Tools and Reduce the Efforts of Modelling
As software systems grow in size and complexity, their development and maintenance are becoming increasingly challenging. Model-Driven Engineering (MDE) has been proposed as a means to increase the developer's productivity of such large-scale complex software systems. Despite its benefits, MDE has not been fully adopted in the software industry due to several barriers. Research has shown that modelling tools are amongst the top barriers for the industry's reluctance to adopt MDE, mostly because there is a little investigation of the modellers' interactions with modelling tools when editing and debugging models, which are cognitively difficult tasks. More specifically, MDE tool research has not considered 1) a thorough analysis of modellers and their tasks, to understand their challenges of using modelling tools, 2) the underlying human-cognitive factors, and 3) a systematic assessment of the effectiveness of proposed solutions (i.e., tooling techniques) on human users. This thesis argues that MDE tools can be enhanced to overcome (some of) the challenges of adoption by considering human-cognitive factors (i.e., user-centric) when designing and proposing model-easing techniques for model editors. We advance our thesis in three main steps. As a first step, we conducted an empirical study to identify the most-severe cognitive difficulties of modellers when using UML model editors. In our study, we asked the recruited subjects to perform several model-editing and model-debugging tasks. We collected information during the sessions that could help us understand the subjects' cognitive challenges. The results show that users face multiple challenges, amongst which the most prominent challenges are remembering contextual information when performing a particular modelling task; and locating, understanding, and fixing errors in the models. In the second step, we identified the cognitive factors that drive the most prominent challenges and subsequently devised several tooling advancements that provide enhanced cognitive support and automation in the users' interaction with a model editor. The philosophy behind our tooling advancements is to provide the contextual information that are relevant to performing a particular modelling task, thereby, alleviating the modellers' cognitive challenges of recollecting information from different diagrams. We also proposed an on-the-fly error-resolution technique that aims at resolving errors as they occur. We implemented our Eclipse-based model-editor and embedded our tooling techniques in the tool. Lastly, we conducted two empirical studies to assess the effectiveness of our model-editor on human users. The Context study aimed at evaluating our tool's ability to reduce the challenges of remembering contextual information, whereas the Debugging study aimed at assessing our tool's ability to improve the users' experience of debugging models. Our results reveal that our interfaces help users 1) improve their ability to successfully fulfil their tasks, 2) avoid unnecessary context switches among diagrams, 3) produce more error-free models, 4) remember contextual information, and 5) reduce time on tasks.
Cite this version of the work
Parsa Pourali (2020). A User-Centric Approach to Improve the Quality of UML-like Modelling Tools and Reduce the Efforts of Modelling. UWSpace. http://hdl.handle.net/10012/15595