Canada Spends Logo

Explore our Budget 2026 analysis

Grant: Discovery Grants Program - Individual

Université d'Ottawa

$24,000.00

Identifying and Overcoming Obstacles to Effective Software Modeling

FY 2024-25

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.
Program
Discovery Grants Program - Individual
Location
Ontario, Canada
Recipient Type
Academia
Type
Grant
Source
NSERC's Awards Data

As published

Application id
RGPIN-2022-04001
Name nom
Lethbridge, Timothy
Department département
Electrical Engineering and Computer Science
Organization id
28
Institution établissement
Université d'Ottawa
Province en
Ontario
Province fr
Ontario
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2024
Competition year année de concours
2022
Award amount
24000
Program id
RGPIN
Program name en
Discovery Grants Program - Individual
Program name fr
Programme de subventions à la découverte - individuelles
Group en
DISCOVERY RESEARCH
Group fr
RECHERCHE AXÉE SUR LA DÉCOUVERTE
Committee code
1507
Committee name en
Computer Science
Committee name fr
Sciences informatiques
Area of application code
801
Area of application group en
Information and communication services
Area of application group fr
Services d'information et de télécommunications
Area of application en
Computer software
Area of application fr
Logiciel
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Field of research list names en
Not available
Field of research list names fr
Non disponible
Socioeconomic objective list names en
Not available
Socioeconomic objective list names fr
Non disponible
Application title
Identifying and Overcoming Obstacles to Effective Software Modeling
Keywords
umple; software modeling; model driven development; user experience; software analysis; software engineering tools; human factors in software engineering; software engineering; empirical software engineering; analysis of software artifacts
Application 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.