[Back]


Doctor's Theses (authored and supervised):

Z. Protić:
"Con guration management for models: Generic methods for model comparison and model co-evolution";
Supervisor, Reviewer: M. Van den Brand, T. Verhoeff, G. Kappel; Institut für Softwaretechnik und Interaktive Systeme, 2011; oral examination: 2010-07-01.



English abstract:
It is an undeniable fact that software plays an important role in our lives. We
use the software to play our music, to check our e-mail, or even to help us drive
our car. Thus, the quality of software directly influences the quality of our lives.
However, the traditional Software Engineering paradigm is not able to cope with
the increasing demands in quantity and quality of produced software. Thus, a
new paradigm of Model Driven Software Engineering (MDSE) is quickly gaining
ground.
MDSE promises to solve some of the problems of traditional Software Engineering
(SE) by raising the level of abstraction. Thus, MDSE proposes the use
of models and model transformations, instead of textual program files used in
traditional SE, as means of producing software. The models are usually graphbased,
and are built by using graphical notations - i.e. the models are represented
diagrammatically. The advantages of using graphical models over text files are
numerous, for example it is usually easier to deduce the relations between different
model elements in their diagrammatic form, thus reducing the possibility
of defects during the production of the software. Furthermore, formal model
transformations can be used to produce different kinds of artifacts from models
in all stages of software production. For example, artifacts that can be used as
input for model checkers or simulation tools can be produced. This enables the
checking or simulation of software products in the early phases of development,which further reduces the probability of defects in the final software product.
However, methods and techniques to support MDSE are still not mature enough.
In particular methods and techniques for model configuration management (MCM)
are still in development, and no generic MCM system exists. In this dissertation,
I describe my research which was focused on developing methods and techniques
to support generic model configuration management. In particular, during
my research, I focused on developing methods and techniques for supporting
model evolution and model co-evolution. Described methods and techniques
are generic and are suitable for a state-based approach to model configuration
management.
In order to support the model evolution, I developed methods for the representation,
calculation, and visualization of state-based model differences. Unlike
in previously published research, where these three aspects of model differences
are dealt with in separation, in my research all these three aspects are integrated.
Thus, the result of model differences calculation algorithm is in the format which
is described by my research on model differences representation. The same representation
format of model differences is used as a basis of my approach to
differences visualization. It is important to notice that the developed representation
format for model differences is metamodel independent, and thus is generic,
i.e., it can be used to represent differences between all graph-based models.
Model co-evolution is a term that describes the problem of adapting models when
their metamodels evolve. My solution to this problem has three steps. In the
first step a special metamodel MMfMM is introduced. Unlike in traditional approaches,
where metamodels are represented as instances of a metametamodel,
in my approach the metamodels are represented by models which are instances
of an MMfMM. In the second step, since metamodels are represented by models,
previously defined methods and techniques for model evolution are reused
to represent and calculate the metamodel differences. In the final step I define an
algorithm that uses the calculated metamodel differences to adapt models conforming
to the evolved metamodel. In order to validate my approaches to model
evolution and model co-evolution, I have developed a tool for model evolution,
and a tool for model co-evolution. These tools, together with small case-studies,
are also described in the dissertation.

German abstract:
It is an undeniable fact that software plays an important role in our lives. We
use the software to play our music, to check our e-mail, or even to help us drive
our car. Thus, the quality of software directly influences the quality of our lives.
However, the traditional Software Engineering paradigm is not able to cope with
the increasing demands in quantity and quality of produced software. Thus, a
new paradigm of Model Driven Software Engineering (MDSE) is quickly gaining
ground.
MDSE promises to solve some of the problems of traditional Software Engineering
(SE) by raising the level of abstraction. Thus, MDSE proposes the use
of models and model transformations, instead of textual program files used in
traditional SE, as means of producing software. The models are usually graphbased,
and are built by using graphical notations - i.e. the models are represented
diagrammatically. The advantages of using graphical models over text files are
numerous, for example it is usually easier to deduce the relations between different
model elements in their diagrammatic form, thus reducing the possibility
of defects during the production of the software. Furthermore, formal model
transformations can be used to produce different kinds of artifacts from models
in all stages of software production. For example, artifacts that can be used as
input for model checkers or simulation tools can be produced. This enables the
checking or simulation of software products in the early phases of development,which further reduces the probability of defects in the final software product.
However, methods and techniques to support MDSE are still not mature enough.
In particular methods and techniques for model configuration management (MCM)
are still in development, and no generic MCM system exists. In this dissertation,
I describe my research which was focused on developing methods and techniques
to support generic model configuration management. In particular, during
my research, I focused on developing methods and techniques for supporting
model evolution and model co-evolution. Described methods and techniques
are generic and are suitable for a state-based approach to model configuration
management.
In order to support the model evolution, I developed methods for the representation,
calculation, and visualization of state-based model differences. Unlike
in previously published research, where these three aspects of model differences
are dealt with in separation, in my research all these three aspects are integrated.
Thus, the result of model differences calculation algorithm is in the format which
is described by my research on model differences representation. The same representation
format of model differences is used as a basis of my approach to
differences visualization. It is important to notice that the developed representation
format for model differences is metamodel independent, and thus is generic,
i.e., it can be used to represent differences between all graph-based models.
Model co-evolution is a term that describes the problem of adapting models when
their metamodels evolve. My solution to this problem has three steps. In the
first step a special metamodel MMfMM is introduced. Unlike in traditional approaches,
where metamodels are represented as instances of a metametamodel,
in my approach the metamodels are represented by models which are instances
of an MMfMM. In the second step, since metamodels are represented by models,
previously defined methods and techniques for model evolution are reused
to represent and calculate the metamodel differences. In the final step I define an
algorithm that uses the calculated metamodel differences to adapt models conforming
to the evolved metamodel. In order to validate my approaches to model
evolution and model co-evolution, I have developed a tool for model evolution,
and a tool for model co-evolution. These tools, together with small case-studies,
are also described in the dissertation.

Keywords:
graphical models, artifacts, MMfMM

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