NSERC’s Awards Database
Award Details

Identifying and Overcoming Obstacles to Effective Software Modeling

Research Details
Application Id: RGPIN-2022-04001
Competition Year: 2022 Fiscal Year: 2022-2023
Project Lead Name: Lethbridge, Timothy Institution: University of Ottawa
Department: Electrical Engineering and Computer Science , School of - science informatique e Province: Ontario
Award Amount: $24,000 Installment: 5 - 1
Program: Discovery Grants Program - Individual Selection Committee: Computer Science
Research Subject: Information technology Area of Application: Computer software
Co-Researchers: No Co-Researcher Partners: No Partners
Award Summary

Software modeling is considered a best practice to enable rapid development of reliable and secure software systems that meet user requirements and and provide effective user experience. Among their benefits, models increase abstraction, reduce the amount of traditional code developed, and allow verification through multiple views. However from the developer's perspective, tools and languages for modelling continue to have challenges. Many modelers, especially students and other beginners, make systematic errors. Most tools are overly complex and fail to provide the feedback needed to help people avoid errors and to guide them towards better modeling practices. In this research we will continue our work towards improving modeling tools. Over the last 15 years we have developed Umple, which allows textual and diagrammatic modeling, has sophisticated separation of concerns mechanisms, and enables both embedding and generating code in several languages. It attempts to bridge the gap between programming and modeling, since it can be used both like a programming language to construct complete systems, and as a modeling language (with textual and graphical views of models). Umple is designed to be general purpose and can be used to model real-time systems and information systems in many domains. It is deliberately simple to use but analyses models, alerting developers to hundreds of types of potential modeling errors, and generates real final systems, including itself. There has been much literature about challenges in modelling tool adoption and in problems found in models themselves as developed by users. In the proposed research we plan to deepen the scientific understanding of modeling weaknesses in multiple tools including Umple, Papyrus and Astah. We will investigate weaknesses in several types of models, in several domains at several different scales. Central to our work is to ensure that modellers have a good modelling experience (MX) and can perform modelling as a fluid part of their overall development process. We have have been working to catalog MX challenges related to tool utility, usability, platform factors, emotional factors and market factors. As part of this work we aim to conduct various types of empirical studies to deepen the scientific understanding of modelling challenges. These include cognitive walkthroughs, building case study systems, observing real users at work, and applying design science on Umple to explore modelling tool features and MX issues. Our final objectives are to improve our existing corpora of modelling examples, to produce a catalog of modelling tool weaknesses, to develop an improved theory of factors that result in lack of uptake of modelling, to build a comprehensive set of modelling tool design guidelines and to apply all the above to improve Umple. The Umple improvement work will allow us to experiment with and validate the other aspects of our work.