[Back]


Diploma and Master Theses (authored and supervised):

P. Gniesser:
"Refactoring Support for ATL-based Model Transformations";
Supervisor: G. Kappel, M. Wimmer; E188 Institut für Softwaretechnik und Interaktive Systeme, 2012; final examination: 02-03-2012.



English abstract:
The ATLAS Transformation Language (ATL) is a Language to describe rule-based mode-to-model transformations. The more complex, different and interwoven the source and target model are, the more comprehensive the rules get. This results in detoriorated readability, maintainability and reusability and longer execution times of the transformations. At the moment transformations can only be modified by applying atomic operations. Combined operations have not yet been developed that would allow to improve transformations by restructuring.
The context of this thesis is the development of restructurings for ATL, so called refactorings, on the basis of existing work. These enable to transform ATL-transformations in a way that non-functional requirements and software quality attributes are improved.
A catalogue of refactorings was developed which separates into renaming, restructuring and optimizations for runtime speedup. There is a possibility to add domain-specific refactorings.
At the beginning existing transformations were analyzed and common ībad smellsī were derived by metrics and quality attributes like readability, maintainability and reusability. From this derivation the definition of the refactoring catalogue was created, which provides measures to eliminate bad smells. The catalogue is implemented using the ATL Refining Mode and is compared to an implementation in EMF Modeling Operations. The transformations of the ATLimplementation are metrically analyzed before and after each refactoring. Additionally the runtime of the transformations before and after the refactoring is timed and the number of executed bytecode statements is rated. The refactorings were evaluated regarding the application to other transformation languages (e.g. QVT-Relations).

German abstract:
Die ATLAS Transformation Language (ATL) ist eine Sprache mit der regelbasierte Modell-zu-Modell Transformationen beschrieben werden. Je komplexer, unterschiedlicher und verwobener Quell- und Zielmodell sind, desto umfangreicher werden die Regeln. Dies schlägt sich einerseits in verschlechterter Lesbarkeit, Wartbarkeit und Wiederverwendbarkeit nieder, und andererseits führt es zu langsamerer Ausführung der Transformationen. Zur Zeit können Transformationen nur durch Anwendung von atomaren Editieroperationen modifiziert werden. Es fehlen aber zusammengesetzte Operationen, die es erlauben die Transformationen selbst durch Restrukturierungen zu verbessern.
Mit dieser Arbeit werden auf Basis bestehender Arbeiten Restrukturierungsregeln, sogenannte Refactorings für ATL entwickelt, die es erlauben, ATL-Transformationen so zu transformieren, dass nichtfunktionale Anforderungen und interne Softwarequalitätsattribute verbessert werden.
Als Basis ist ein Katalog von Refactorings entwickelt worden, u.a. für Namensänderungen, Restrukturierungen und Optimierungen zur Laufzeitverbesserung. Zusätzlich gibt es eine Erweiterungsmöglichkeit, um domänenspezifische Refactorings zu erstellen.
Zu Beginn wurden existierende Transformationen analysiert und häufige "Bad Smells" durch Metriken und Qualitätsattribute, wie Lesbarkeit, Wartbarkeit und Wiederverwendbarkeit, abgeleitet. Aus dieser Ableitung entstand die Definition eines Refactoring-Katalogs, der Maßnahmen für die Eliminierung von "Bad Smells" bereitstellt. Der Katalog wird mit ATL im Refining Mode implementiert und wird mit einer Implementierung mittels EMF Modeling Operations verglichen. Die Transformationen der ATL-Implementierung wurden vor und nach dem Refactoring mittels Metriken analysiert. Zusätzlich wurde die Laufzeit der Transformationen vor und nach dem Refactoring durch Laufzeitmessungen und die Anzahl der exekutierten Bytecode-Statements bewertet. Die Refactorings wurden mit anderen Transformationssprachen (beispielsweise QVT-Relations) auf Anwendbarkeit hin überprüft.


Electronic version of the publication:
http://publik.tuwien.ac.at/files/PubDat_207245.pdf