Evolution of model-driven engineering settings in practice (bibtex)
by
Abstract:
Nowadays, software systems are getting more and more complex. To tackle this challenge most diverse techniques, such as design patterns, service oriented architectures (SOA), software development processes, and model-driven engineering (MDE), are used to improve productivity, while time to market and quality of the products stay stable. Multiple of these techniques are used in parallel to profit from their benefits. While the use of sophisticated software development processes is standard, today, MDE is just adopted in practice. However, research has shown that the application of MDE is not always successful. It is not fully understood when advantages of MDE can be used and to what degree MDE can also be disadvantageous for productivity. Further, when combining different techniques that aim to affect the same factor (e.g. productivity) the question arises whether these techniques really complement each other or, in contrast, compensate their effects. Due to that, there is the concrete question how MDE and other techniques, such as software development process, are interrelated. Both aspects (advantages and disadvantages for productivity as well as the interrelation to other techniques) need to be understood to identify risks relating to the productivity impact of MDE. Before studying MDE's impact on productivity, it is necessary to investigate the range of validity that can be reached for the results. This includes two questions. First, there is the question whether MDE's impact on productivity is similar for all approaches of adopting MDE in practice. Second, there is the question whether MDE's impact on productivity for an approach of using MDE in practice remains stable over time. The answers for both questions are crucial for handling risks of MDE, but also for the design of future studies on MDE success. This thesis addresses these questions with the goal to support adoption of MDE in future. To enable a differentiated discussion about MDE, the term MDE setting'' is introduced. MDE setting refers to the applied technical setting, i.e. the employed manual and automated activities, artifacts, languages, and tools. An MDE setting's possible impact on productivity is studied with a focus on changeability and the interrelation to software development processes. This is done by introducing a taxonomy of changeability concerns that might be affected by an MDE setting. Further, three MDE traits are identified and it is studied for which manifestations of these MDE traits software development processes are impacted. To enable the assessment and evaluation of an MDE setting's impacts, the Software Manufacture Model language is introduced. This is a process modeling language that allows to reason about how relations between (modeling) artifacts (e.g. models or code files) change during application of manual or automated development activities. On that basis, risk analysis techniques are provided. These techniques allow identifying changeability risks and assessing the manifestations of the MDE traits (and with it an MDE setting's impact on software development processes). To address the range of validity, MDE settings from practice and their evolution histories were capture in context of this thesis. First, this data is used to show that MDE settings cover the whole spectrum concerning their impact on changeability or interrelation to software development processes. Neither it is seldom that MDE settings are neutral for processes nor is it seldom that MDE settings have impact on processes. Similarly, the impact on changeability differs relevantly. Second, a taxonomy of evolution of MDE settings is introduced. In that context it is discussed to what extent different types of changes on an MDE setting can influence this MDE setting's impact on changeability and the interrelation to processes. The category of structural evolution, which can change these characteristics of an MDE setting, is identified. The captured MDE settings from practice are used to show that structural evolution exists and is common. In addition, some examples of structural evolution steps are collected that actually led to a change in the characteristics of the respective MDE settings. Two implications are: First, the assessed diversity of MDE settings evaluates the need for the analysis techniques that shall be presented in this thesis. Second, evolution is one explanation for the diversity of MDE settings in practice. To summarize, this thesis studies the nature and evolution of MDE settings in practice. As a result support for the adoption of MDE settings is provided in form of techniques for the identification of risks relating to productivity impacts.
Reference:
Evolution of model-driven engineering settings in practice (Regina Hebig), PhD thesis, Hasso Plattner Institute at the University of Potsdam, 2014.
Bibtex Entry:
@PhdThesis{HebigPhD2014,
  AUTHOR = {Hebig, Regina},
  TITLE = {{Evolution of model-driven engineering settings in practice}},
  YEAR = {2014},
  SCHOOL = {Hasso Plattner Institute at the University of Potsdam},
  URL = {http://opus.kobv.de/ubp/volltexte/2014/7076/},
  ABSTRACT = {Nowadays, software systems are getting more and more
  complex. To tackle this challenge most diverse techniques, such
  as design patterns, service oriented architectures (SOA), software
  development processes, and model-driven engineering (MDE), are used to
  improve productivity, while time to market and quality of the products
  stay stable. Multiple of these techniques are used in parallel to
  profit from their benefits. While the use of sophisticated software
  development processes is standard, today, MDE is just adopted in
  practice. However, research has shown that the application of MDE is
  not always successful. It is not fully understood when advantages of
  MDE can be used and to what degree MDE can also be disadvantageous
  for productivity. Further, when combining different techniques that
  aim to affect the same factor (e.g. productivity) the question arises
  whether these techniques really complement each other or, in contrast,
  compensate their effects. Due to that, there is the concrete question
  how MDE and other techniques, such as software development process,
  are interrelated. Both aspects (advantages and disadvantages for
  productivity as well as the interrelation to other techniques) need
  to be understood to identify risks relating to the productivity impact
  of MDE. Before studying MDE's impact on productivity, it is necessary
  to investigate the range of validity that can be reached for the
  results. This includes two questions. First, there is the question
  whether MDE's impact on productivity is similar for all approaches
  of adopting MDE in practice. Second, there is the question whether
  MDE's impact on productivity for an approach of using MDE in practice
  remains stable over time. The answers for both questions are crucial
  for handling risks of MDE, but also for the design of future studies
  on MDE success. This thesis addresses these questions with the goal
  to support adoption of MDE in future. To enable a differentiated
  discussion about MDE, the term MDE setting'' is introduced. MDE
  setting refers to the applied technical setting, i.e. the employed
  manual and automated activities, artifacts, languages, and tools. An
  MDE setting's possible impact on productivity is studied with a
  focus on changeability and the interrelation to software development
  processes. This is done by introducing a taxonomy of changeability
  concerns that might be affected by an MDE setting. Further, three
  MDE traits are identified and it is studied for which manifestations
  of these MDE traits software development processes are impacted. To
  enable the assessment and evaluation of an MDE setting's impacts,
  the Software Manufacture Model language is introduced. This is a
  process modeling language that allows to reason about how relations
  between (modeling) artifacts (e.g. models or code files) change during
  application of manual or automated development activities. On that
  basis, risk analysis techniques are provided. These techniques allow
  identifying changeability risks and assessing the manifestations
  of the MDE traits (and with it an MDE setting's impact on software
  development processes). To address the range of validity, MDE settings
  from practice and their evolution histories were capture in context
  of this thesis. First, this data is used to show that MDE settings
  cover the whole spectrum concerning their impact on changeability
  or interrelation to software development processes. Neither it is
  seldom that MDE settings are neutral for processes nor is it seldom
  that MDE settings have impact on processes. Similarly, the impact on
  changeability differs relevantly. Second, a taxonomy of evolution of
  MDE settings is introduced. In that context it is discussed to what
  extent different types of changes on an MDE setting can influence
  this MDE setting's impact on changeability and the interrelation to
  processes. The category of structural evolution, which can change
  these characteristics of an MDE setting, is identified. The captured
  MDE settings from practice are used to show that structural evolution
  exists and is common. In addition, some examples of structural
  evolution steps are collected that actually led to a change in the
  characteristics of the respective MDE settings. Two implications are:
  First, the assessed diversity of MDE settings evaluates the need for
  the analysis techniques that shall be presented in this thesis. Second,
  evolution is one explanation for the diversity of MDE settings in
  practice. To summarize, this thesis studies the nature and evolution
  of MDE settings in practice. As a result support for the adoption of
  MDE settings is provided in form of techniques for the identification
  of risks relating to productivity impacts.}
}
Powered by bibtexbrowser