Grant: Discovery Grants Program - Individual
Université d'Ottawa
$24,000.00
Identifying and Overcoming Obstacles to Effective Software Modeling
FY 2023-24
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
Recipient
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
2023
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
2705
Research subject group en
Information technology
Research subject group fr
Software and development
Research subject en
Technologie de l'information
Research subject fr
Logiciels et développement
Application title
Identifying and Overcoming Obstacles to Effective Software Modeling
Keyword
Analysis of software artifacts; Empirical software engineering; Human factors in software engineering; Model driven development; Software analysis; Software engineering; Software engineering tools; Software modeling; Umple; User experience
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.