Calculation and Propagation of Model Changes Based on User-level Edit Operations
Timo Kehrer
Research assistant at the Software Engineering and Database Systems Group at the University of Siegen, Germany
DEIB - Conference Room
July 20th, 2015
11.00 am
Contact:
Carlo Ghezzi
Research Line:
Advanced software architectures and methodologies
Research assistant at the Software Engineering and Database Systems Group at the University of Siegen, Germany
DEIB - Conference Room
July 20th, 2015
11.00 am
Contact:
Carlo Ghezzi
Research Line:
Advanced software architectures and methodologies
Sommario
Model-driven engineering (MDE) has become a widespread approach for developing software in many application domains. Models are primary development documents in MDE and subject to continuous evolution. Thus, the specification and recognition of changes in models is a key to understand and manage the evolution of a model-based system.
However, currently available model differencing tools operate on low-level, sometimes tool-specific model representations which can be considered as an implementation of the abstract syntax graph (ASG) of a model. Moreover, primitive graph edit operations are used to specify model changes. This leads to several serious problems for several classical model versioning scenarios: the resulting model differences are hard to understand, they can violate essential consistency constraints when being applied as patches, etc.
In his talk, Timo Kehrer will report about recent advances in systematically lifting model versioning concepts, algorithms and tools to a higher level of abstraction. The central idea is to formally specify the available edit operations for a given type of models as transformation rules using the model transformation language Henshin which is based on graph transformation concepts.
These formal specifications are automatically transformed into recognition rules being used by a lifting algorithm which recognizes edit operations in a low-level difference of two model versions.
However, currently available model differencing tools operate on low-level, sometimes tool-specific model representations which can be considered as an implementation of the abstract syntax graph (ASG) of a model. Moreover, primitive graph edit operations are used to specify model changes. This leads to several serious problems for several classical model versioning scenarios: the resulting model differences are hard to understand, they can violate essential consistency constraints when being applied as patches, etc.
In his talk, Timo Kehrer will report about recent advances in systematically lifting model versioning concepts, algorithms and tools to a higher level of abstraction. The central idea is to formally specify the available edit operations for a given type of models as transformation rules using the model transformation language Henshin which is based on graph transformation concepts.
These formal specifications are automatically transformed into recognition rules being used by a lifting algorithm which recognizes edit operations in a low-level difference of two model versions.
Biografia
Timo Kehrer is a research assistant at the Software Engineering and Database Systems Group at the University of Siegen, Germany.
Currently, his main fields of research are model-based software and system development, version and variant management as well as model evolution.
He has been involved in a number of research projects on model-driven software development, most recently working in a German priority program on managed software evolution.
His PhD thesis, which he has submitted recently, aims to serve as a foundation for version and variant management in MDE; it is on the calculation and propagation of model changes based on user-level edit operations. He has published parts of his thesis at international conferences - especially ASE, MoDELS, and ICSME - and software engineering journals.
Before working as a research assistant at the University of Siegen, Kehrer studied computer science and computer engineering at Stuttgart Media University and University of Siegen. He received his first diploma (Master of Computer Engineering) from Stuttgart Media University in 2007, and his second diploma (Master of Computer Science) from University of Siegen in 2011.
Currently, his main fields of research are model-based software and system development, version and variant management as well as model evolution.
He has been involved in a number of research projects on model-driven software development, most recently working in a German priority program on managed software evolution.
His PhD thesis, which he has submitted recently, aims to serve as a foundation for version and variant management in MDE; it is on the calculation and propagation of model changes based on user-level edit operations. He has published parts of his thesis at international conferences - especially ASE, MoDELS, and ICSME - and software engineering journals.
Before working as a research assistant at the University of Siegen, Kehrer studied computer science and computer engineering at Stuttgart Media University and University of Siegen. He received his first diploma (Master of Computer Engineering) from Stuttgart Media University in 2007, and his second diploma (Master of Computer Science) from University of Siegen in 2011.