5 research outputs found

    Improving Learning Outcomes in UML Sequence Diagrams Through Reduced Cognitive Load

    Get PDF
    This paper demonstrates how cognitive load theory can be used to improve learning outcomes by presenting a tool capable of assisting novices to learn to model sequence diagrams effectively. Sequence diagrams are known to lead to heavy cognitive load as they must be consistent with the class diagram, while discharging all the responsibilities specified in the underlying use case. Moreover, novices must also consider the various design options and their impact on the qualitative aspects of the model. Our tool allows cognitive load to be better managed by using a ‘divide and conquer’ approach. In the initial stage students need to focus only on consistency aspects, and they will not be allowed violate the constraints stated in the class diagram. In the second stage, students will not be allowed to submit a diagram until the stated use case goals are met. In the final stage qualitative feedback and marks are awarded based on established metrics and students are allowed to improve their scores by resubmitting the model. Qualitative and quantitative results show that our novel tool using a form of gamification has helped to improve the learning outcomes in modelling substantially, especially for the stragglers. One benefit of our approach is that it can be adapted to other areas where students maybe cognitively challenged

    Gentleman : a lightweight web-based projectional editor

    Full text link
    Lors de la conception et la manipulation de logiciel par modĂ©lisation, il est avantageux de bĂ©nĂ©ïŹcier d’un grand degrĂ© de libertĂ© au niveau de la prĂ©sentation aïŹn de comprendre l’information et prendre une action en exerçant peu d’eïŹ€ort cognitif et physique. Cette caractĂ©ristique doit aussi s’étendre aux outils que nous employons aïŹn que ceux-ci augmentent nos capacitĂ©s, plutĂŽt que les restreindre. En gĂ©nie logiciel, nous travaillons prĂ©sentement Ă  rehausser encore le niveau d’abstraction aïŹn de rĂ©duire le rĂŽle central du code dĂ©crit avec un langage de programmation Ă  usage gĂ©nĂ©ral. Ceci permettrait d’inclure les experts non techniques dans les activitĂ©s de dĂ©veloppement de logiciel. Cette approche, centralisĂ©e sur le domaine et l’expert, s’inscrit dans l’ingĂ©nierie dirigĂ©e par les modĂšles (IDM), oĂč un modĂšle est produit et manipulĂ© par divers experts et utilisateurs. Le modĂšle est alors dĂ©crit avec un langage crĂ©Ă© spĂ©ciïŹquement pour un domaine d’application ou une tache, appelĂ© langage dĂ©diĂ© (DSL). Une technique utilisĂ©e pour crĂ©er ces modĂšles et leurs DSL est le projectional editing, qui permet d’utiliser des notations diverses interchangeables et d’étendre et composer facilement un langage. Toutefois, les solutions actuelles sont lourdes, spĂ©ciïŹques Ă  une plateforme, et manquent considĂ©rablement d’utilisabilitĂ©, limitant ainsi l’usage et l’exploitation de cette approche. Pour mieux reïŹ‚Ă©ter les avantages du paradigme IDM avec le style projectionnel, nous introduisons dans cette thĂšse Gentleman, un Ă©diteur projectionnel lĂ©ger sur le web. Avec Gentleman, le dĂ©veloppeur crĂ©e un modĂšle en combinant des concepts utilisĂ©s pour dĂ©ïŹnir la structure du modĂšle et des projections pour les manipuler dans l’éditeur. Nous avons Ă©valuĂ© Gentleman Ă  travers une Ă©tude basĂ©e sur un groupe d’utilisateur. L’étude a conïŹrmĂ© sa capacitĂ© Ă  crĂ©er et manipuler des modĂšles eïŹƒcacement. Les participants ont notĂ© qu’il est facile de prendre en main Gentleman et que l’interface est trĂšs intuitive comparativement aux Ă©diteurs existants. Nous avons aussi intĂ©grĂ© Gentleman avec succĂšs Ă  une plateforme web, dĂ©montrant ainsi ses capacitĂ©s d’interopĂ©rabilitĂ© et l’avantage d’une solution web.In software activities and, more specifically, when modeling, the modeler should benefit from as much freedom as possible to understand the presented information and take action with minimal cognitive and mechanical effort. This characteristic should also apply to the tools used in the process so that they extend our capabilities rather than limit them. In the field of software engineering, current work aims to push the level of abstraction past general-purpose programming language into domain-specific modeling. This enables domain experts with various backgrounds to participate in software development activities. This vision is central to model-driven engineering (MDE) where, instead of code, various experts and users produce and manipulate domain-specific language (DSL). In recent years, projectional editing has proven to be a valid approach to creating and manipulating DSLs, as it supports various easily interchangeable notations and enables language extension and composition. However, current solutions are heavyweight, platform-specific, and suffer from poor usability. To better support this paradigm and minimize the risk of accidental complexity in terms of expressiveness, in this thesis, we introduce Gentleman, a lightweight web-based projectional editor. With Gentleman, a developer creates a model by combining concepts used to define its structure and projections to interact and manipulate them in the editor. We have evaluated Gentleman through a user study. The evaluation confirmed its capacity to create and manipulate models effectively. Most participants noted that the editor is very user-friendly and intuitive compared to existing editors. We have also successfully integrated Gentleman into a web application, demonstrating its interoperability and the benefit of a web solution

    An Empirical Investigation to Understand the Difficulties and Challenges of Software Modellers When Using Modelling Tools

    Get PDF
    Software modelling is a challenging and error-prone task. Existing Model-Driven Engineering (MDE) tools provide modellers with little aid, partly because tool providers have not investigated users' difficulties through empirical investigations such as field studies. This paper presents the results of a two-phase user study to identify the most prominent difficulties that users might face when developing UML Class and State-Machine diagrams using UML modelling tools. In the first phase, we identified the preliminary modelling challenges by analysing 30 Class and State-Machine models that were previously developed by students as a course assignment. The result of the first phase helped us design the second phase of our user study where we empirically investigated different aspects of using modelling tools: the tools' effectiveness, users' efficiency, users' satisfaction, the gap between users' expectation and experience, and users' cognitive difficulties. Our results suggest that users' greatest difficulties are in (1) remembering contextual information and (2) identifying and fixing errors and inconsistencies.NSERC CREATE, 465463-2015 || NSERC Discovery Grant, 155243-1

    mel - Model Extraction Language and Interpreter

    Get PDF
    There is a large body of research on extracting models from code-related artifacts to enable model-based analyses of large software systems. However, engineers do not always have access to the entire code base of a system: some components may be procured from third-party suppliers based on a model specification or their code may be generated automatically from models. Additionally, the development of software systems does not produce only source code as its output. Modern large software system have various artifacts relevant to them, such as software models, build scripts, test scripts, version control history data, and more. In order to produce a more complete view of a modern software system heterogeneous fact extraction of various artifacts is necessary - not just of source code. This thesis introduces mel— a model extraction language and interpreter for extracting “facts” from models represented in XMI; these facts can be combined with facts extracted from other system components to form a lightweight model of an entire software system. We provide preliminary evidence that mel is sufficient to specify fact extraction from models that have very different XMI representations. We also show that it can be easier to use mel to create a fact extractor for a particular model representation than to develop a specialized fact extractor for the model from scratch

    A User-Centric Approach to Improve the Quality of UML-like Modelling Tools and Reduce the Efforts of Modelling

    Get PDF
    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
    corecore