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.
Niu, Yi (2013-02-01)Clustered failure time data often arise in biomedical and clinical studies where potential correlation among survival times is induced in a cluster. In this thesis, we develop a class of marginal models for right censored ...
Development and assessment of a temperature model and habitat suitability models for spawning Micropterus dolomieu and Micropterus salmoides Sneep, Aaron (2018-04)Micropterus dolomieu (Smallmouth bass) and Micropterus salmoides (Largemouth bass) are two of the most popular recreational fishing species in North America. A lot of effort is put into the management of these species, ...
THE FLEXIBLE CADAVER KNEE MODEL AS A TRAINING MODEL FOR THE DEVELOPMENT OF BASIC ARTHROSCOPIC SKILLS Scribbans, Trisha Dawn (2012-04-26)Goal: Develop an effective high-fidelity model for the purpose of training orthopaedic surgeons. Objectives: This study had two objectives; I) the development of a flexible cadaver model for training orthopaedic surgery ...