Options
Effiziente Modellsynchronisation mit Triple-Graph-Grammatiken durch Wiederverwendung von Transformationsergebnissen
Date Issued
2007
Author(s)
Hildebrandt, Stephan
Abstract
Today, the development of large software systems is more and more based on models. Different types of models are needed to express different views on the system and to
describe its different properties. For example, class diagrams show the structure and sequence diagrams the behaviour of a software system. Along with the use of many
types of models goes the problem of keeping these models up-to-date. Typically, models change often during the development cycle of a software system. Changes of one model
have to be propagated to the other models. This is often done manually, which is time consuming and error prone. A solution to this problem are model transformations that
automatically convert one type of model into another. Some simple approaches discard the target model and completely rebuild it. This also discards any changes made to the
target model afterwards. Therefore, an algorithm is needed that only changes the target model so it is equivalent to the source model again.
Such a synchronisation algorithm was already developed based on Triple Graph Grammars (cp. [11]) but it still offers potential for improvement. In case of a modi cation the algorithm discards all affected elements in the target model and retransforms them. Furthermore, all elements depending on the discarded element are discarded and retransformed, too. In many cases, this procedure is not necessary, for example, if an element is moved in the source model. Such modi cations usually do not affect the depending elements. Therefore, these depending elements should be reused instead of retransforming them. This can save effort and speed up the synchronisation process. This is the aim of this thesis, to develop a new algorithm based on the old algorithm from [11] that reuses elements in the target model whenever possible. After such an algorithm is developed, the performance improvement compared to the old algorithm is to be measured using some synthetic models.
describe its different properties. For example, class diagrams show the structure and sequence diagrams the behaviour of a software system. Along with the use of many
types of models goes the problem of keeping these models up-to-date. Typically, models change often during the development cycle of a software system. Changes of one model
have to be propagated to the other models. This is often done manually, which is time consuming and error prone. A solution to this problem are model transformations that
automatically convert one type of model into another. Some simple approaches discard the target model and completely rebuild it. This also discards any changes made to the
target model afterwards. Therefore, an algorithm is needed that only changes the target model so it is equivalent to the source model again.
Such a synchronisation algorithm was already developed based on Triple Graph Grammars (cp. [11]) but it still offers potential for improvement. In case of a modi cation the algorithm discards all affected elements in the target model and retransforms them. Furthermore, all elements depending on the discarded element are discarded and retransformed, too. In many cases, this procedure is not necessary, for example, if an element is moved in the source model. Such modi cations usually do not affect the depending elements. Therefore, these depending elements should be reused instead of retransforming them. This can save effort and speed up the synchronisation process. This is the aim of this thesis, to develop a new algorithm based on the old algorithm from [11] that reuses elements in the target model whenever possible. After such an algorithm is developed, the performance improvement compared to the old algorithm is to be measured using some synthetic models.