Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems
暂无分享,去创建一个
Model-Driven Engineering (MDE) is a
software engineering paradigm that aims to increase the
productivity of developers by raising the abstraction level
of software development. It envisions the use of models as
key artifacts during design, implementation and deployment.
From the recent arrival of MDE in large-scale industrial
software development – a trend we refer to as MDE in the
large –, a set of challenges emerges: First, models are now
developed at distributed locations, by teams of teams. In
such highly collaborative settings, the presence of large
monolithic models gives rise to certain issues, such as their
proneness to editing conflicts. Second, in large-scale system
development, models are created using various domain-specific
modeling languages. Combining these models in a disciplined
manner calls for adequate modularization mechanisms. Third,
the development of models is handled systematically by
expressing the involved operations using model transformation
rules. Such rules are often created by cloning, a practice
related to performance and maintainability issues. In this
thesis, we contribute three refactoring techniques, each
aiming to tackle one of these challenges. First, we propose a
technique to split a large monolithic model into a set of
sub-models. The aim of this technique is to enable a
separation of concerns within models, promoting a
concern-based collaboration style: Collaborators operate on
the submodels relevant for their task at hand. Second, we
suggest a technique to encapsulate model components by
introducing modular interfaces in a set of related models.
The goal of this technique is to establish modularity in
these models. Third, we introduce a refactoring to merge a
set of model transformation rules exhibiting a high degree of
similarity. The aim of this technique is to improve
maintainability and performance by eliminating the drawbacks
associated with cloning. The refactoring creates
variability-based rules, a novel type of rule allowing to
capture variability by using annotations. The refactoring
techniques contributed in this work help to reduce the manual
effort during the refactoring of models and transformation
rules to a large extent. As indicated in a series of
realistic case studies, the output produced by the techniques
is comparable or, in the case of transformation rules, partly
even preferable to the result of manual refactoring, yielding
a promising outlook on the applicability in real-world
settings.%%%%Model-Driven Engineering (MDE) ist
ein Paradigma der Softwaretechnik, in dem es darum geht, das
Abstrationsniveau und dadurch die Entwicklerproduktivitat
wahrend der Softwareentwicklung zu erhohen. Hierzu lasst man
Software-Modellen eine wesentliche Rolle wahrend Entwurf,
…