MDEbug is the first workshop focused on debugging in model driven engineering. Debugging can be defined as “locating the source of an observable defect”. A system contains a defect if it does not behave according to its requirements. A defect is typically observed by a V&V technique, such as testing, runtime verification, model checking, etc. When these techniques reveal that the system contains a defect, its source needs to be located. In software engineering, debugging is typically accomplished using techniques that inspect and manipulate an execution trace that led up to a defect. When models are used to develop systems, however, developers often have to resort to ad–hoc methods to debug the system. A common technique consists of inspecting/debugging the code generated from models. This is not ideal, since the developer has to switch contexts and is required to understand the semantics of the underlying implementation language. Moreover, the relation of the generated code to the higher–level modelling concepts is often not clear; this can be compared to debugging a program using an assembler debugger. With the growing importance of model–driven engineering techniques to develop complex systems, researchers are increasing the reliability of systems by, among others, integrating verification and validation techniques. This workshop aims to address a related issue, by investigating how program debugging techniques can be transposed onto the modelling realm and whether new, specific ones need to be developed. In particular, model debugging techniques need to take into account the wide variety of models (in a wide variety of languages) that are produced during system development.<br>Scope and Topics<br>In order to discuss these and further similar questions, we would like to invite submissions in the form of regular papers, position/experience papers, and demonstration papers (about novel tool features) related to the following topics:<br>– Debugging for languages with diverse semantics, including:<br>– non–determinism (e.g., Petri nets);<br>– concurrency (e.g., statecharts);<br>– continuous–time/discrete–time/discrete–event semantics;<br>– spatial distribution (e.g., cellular automata);<br>– dynamic structure (e.g., dynamic–structure DEVS);<br>– Debugging heterogeneous systems (modelled using multiple different modelling languages).<br>– Debugging for languages whose semantics are defined:<br>– operationally by building a simulator, executor, or interpreter;<br>– denotationally (or translationally), by mapping onto a domain with known semantics by building a model transformation, code generator, or compiler.<br>– Debugging for domain–specific languages.<br>– Tool support for model debugging.<br>– Techniques for “live modelling” (analogous to “live programming”).<br>– Debugging for model transformations.<br>– Techniques for omniscient/time–travel/reverse debugging.<br>– Debugging languages and their interpreters.<br>–Tracing support for modelling languages.<br>– Debugging of (instrumented) deployed systems, with feedback to the models that describe its design.<br>
Abbrevation
MDEbug
City
Austin
Country
United States
Deadline Paper
Start Date
End Date
Abstract