[Back]


Doctor's Theses (authored and supervised):

E. Bousse:
"Execution Trace Management to Support Dynamic V&V for Executable DSMLs";
Supervisor, Reviewer: G. Kappel, F. Barbier, J. Deantoni, F. Taiani, B. Baudry, B. Combemale; Institut für Softwaretechnik und Interaktive Systeme, 2015; oral examination: 2015-12-03.



English abstract:
A most important challenge in software and systems engineering is the development and
maintenance of complex systems, such as cyber-physical systems or the internet of things.
Designing such systems require experts of diverse and heterogeneous domains. Because
of this complexity, there are many threats to their proper development and functioning,
which implies a need for appropriate methods, methodologies and tools [26].
Model-Driven Engineering (MDE) is a development paradigm that aims at coping
with the complexity of systems by separating concerns through the use of models. A
model is a representation of a particular aspect of a system, and is defined using specific
abstractions provided by a Domain-Specific Modeling Language (DSML) [136]. At the
core of MDE is the idea of going from descriptive models representing existing systems
to prescriptive models that can be used to construct the target system [151]. In the past
years, studies have shown evidence of the many benefits of MDE for the development
of complex systems, such as improvements regarding the productivity of developers or
regarding the quality of the systems [118, 86]. One explanatory factor is the use of models
to perform early verification and validation (V&V) of systems (e.g., [24]). Indeed, most
software errors occur in the early phases of development (i.e., requirements and design),
and are more expensive to remove in later stages [17, 16].
While many models only represent structural aspects of systems, a large amount
express behavioral aspects of the same systems. In this case, to ensure that a model is
correct with regard to its intended behavior, early dynamic V&V techniques are required,
such as omniscient debugging [38], semantic differencing [99] or runtime verification [102].
These techniques require models to be executable, which can be achieved by defining
the execution semantics of DSMLs used to describe them. Although technically only
conforming models are said executable, such languages are called executable DSMLs
(xDSMLs). In addition to enabling early dynamic V&V, providing executability at the
model level also gives the possibility to directly deploy an executable model to run on a
production system.

German abstract:
A most important challenge in software and systems engineering is the development and
maintenance of complex systems, such as cyber-physical systems or the internet of things.
Designing such systems require experts of diverse and heterogeneous domains. Because
of this complexity, there are many threats to their proper development and functioning,
which implies a need for appropriate methods, methodologies and tools [26].
Model-Driven Engineering (MDE) is a development paradigm that aims at coping
with the complexity of systems by separating concerns through the use of models. A
model is a representation of a particular aspect of a system, and is defined using specific
abstractions provided by a Domain-Specific Modeling Language (DSML) [136]. At the
core of MDE is the idea of going from descriptive models representing existing systems
to prescriptive models that can be used to construct the target system [151]. In the past
years, studies have shown evidence of the many benefits of MDE for the development
of complex systems, such as improvements regarding the productivity of developers or
regarding the quality of the systems [118, 86]. One explanatory factor is the use of models
to perform early verification and validation (V&V) of systems (e.g., [24]). Indeed, most
software errors occur in the early phases of development (i.e., requirements and design),
and are more expensive to remove in later stages [17, 16].
While many models only represent structural aspects of systems, a large amount
express behavioral aspects of the same systems. In this case, to ensure that a model is
correct with regard to its intended behavior, early dynamic V&V techniques are required,
such as omniscient debugging [38], semantic differencing [99] or runtime verification [102].
These techniques require models to be executable, which can be achieved by defining
the execution semantics of DSMLs used to describe them. Although technically only
conforming models are said executable, such languages are called executable DSMLs
(xDSMLs). In addition to enabling early dynamic V&V, providing executability at the
model level also gives the possibility to directly deploy an executable model to run on a
production system.

Keywords:
MDE, DSML, V&V

Created from the Publication Database of the Vienna University of Technology.