Model-Level Debugging in the Context of the Model-Driven Development
MetadataShow full item record
Model-driven Development (MDD) is a software development approach that advocates using models rather than source code. MDD can decrease complexity by raising the level of abstraction, and increase productivity by automation, e.g., code generation. Developers spend around 50% of their time on debugging and fixing bugs, and the cost of debugging, testing, and verification account for almost 50-75% of the software development budget. Existing MDD tools do not provide proper support for the debugging of models. Thus, developers often debug the generated source code in order to debug their models, which contradicts MDD principles, as many of the benefits of the abstraction are lost. This thesis introduces a novel approach to platform-independent model-level debugging, with the help of model transformation that equips the model with support for debugging services. The approach does not rely on program debuggers, and any changes to, e.g., the code generator or the hardware platform, leave the debugger unaffected. Based on the approach, a model-level debugger MDebugger is created that allows the debugging of UML-RT models. The typically iterative and incremental nature of software development implies that many development artifacts are incomplete until later stages of development. None of the model-level debuggers, including MDebugger, allows the debugging of incomplete (i.e., partial) models, because the model execution techniques (interpretation and code generation) cannot execute partial models. This often prevents useful analyses that would allow the detection of design flaws and bugs early in the development process, when they are easiest to fix. We propose a conceptual framework to execute partial models. Based on the framework, an execution engine of partial models (PMExec) is developed that allows the debugging and execution of partial UML-RT models at any stage of the software development process, assuming that the structural models are defined and proper input is provided. Finally, to keep pace with program debugging services, and optimize the PMExec and MDebugger we introduce a new approach for live modeling that allows the updating of model elements during the execution.
URI for this recordhttp://hdl.handle.net/1974/26532
Request an alternative formatIf you require this document in an alternate, accessible format, please contact the Queen's Adaptive Technology Centre
The following license files are associated with this item:
Except where otherwise noted, this item's license is described as Queen's University's Thesis/Dissertation Non-Exclusive License for Deposit to QSpace and Library and Archives Canada
Showing items related by title, author, creator and subject.
Sequential Model-Based A- and V-Optimal Design of Experiments for Building Fundamental Models of Pharmaceutical Production Processes Shahmohammadi, Ali; McAuley, Kimberley B. (Elsevier BV, 2019-07-02)Sequential model-based A- and V-optimal experimental designs are known to be effective for maximizing the information content of data, leading to reliable parameter estimates and model predictions. A- and V-optimal designs ...
Transferability of Regional Permafrost Disturbance Susceptibility Modelling Using Generalized Linear and Generalized Additive Models Rudy, Ashley C.A; Lamoureux, Scott F.; Treitz, Paul; Van Ewijk, Karin Y. (2016-06-16)To effectively assess and mitigate risk of permafrost disturbance, disturbance-p rone areas can be predicted through the application of susceptibility models. In this study we developed regional susceptibility models ...
The Use of Medical Scans from Patients as a Tool for 3D modelling, and Printing of Anatomical Models for Surgical Education Ienceanu, Vlad (2019-04-30)There is an ongoing concern associated with realistic anatomical teaching due to the shortage in available cadavers and inaccurate synthetic models. With plaster models having reduced accuracy due to the process of creation, ...