Refine
Has Fulltext
- yes (2) (remove)
Document Type
- Bachelor Thesis (1)
- Master's Thesis (1)
Institute
Is part of the Bibliography
- no (2)
This work analyzes and evaluates different approaches to translate UML state machines into C++ code. The first part of this thesis covers the ground of transforming information of a source language to a target language. It addresses the basics of language theory and different approaches of language transformation. The second part examines the properties and formalisms of state machines to value their characteristics for further reuse in the development cycle. The third part disassembles the programming language C++ with all its quirks and oddities. The last part puts all mentioned pieces together. Beyond this approach the thesis tries to point out several concepts of language engineering to ease the use of software languages for the language user as well as the language engineer. It scrutinizes diverging solutions with the resulting consequences.
Die vorliegende Bachelorthesis analysiert den Sachverhalt des Typemappings in der modellgetriebenen Softwareentwicklung näher. Das Typemapping befasst sich hierbei mit dem Abbilden von UML-Typen auf programmiersprachenspezifische Datentypen. In dem Transformationsprozess, welcher als Resultat den generierten Quelltext aufweist, wird bei der Modell-zu-Quelltext-Transformation das Typemapping aufgerufen. Dieser Mechanismus ist bereits im vorliegenden GeneSEZ Projekt implementiert, genügt aber den aktuellen Anforderungen nicht mehr. Das Typemapping basiert auf XML-Dateien, welche verarbeitet werden. Ziel ist es, weitestgehend die Struktur zu überarbeiten und unter Verwendung einer besseren XML-Verarbeitungs-API, die Mechanismen, wie das Einbinden beziehungsweise referenzieren weiterer Typemapping Dateien um einen Multi-Include Mechanismus zu erweitern und kleinere Änderungen am Verhalten der bis dato eingesetzten Lösung vorzunehmen. Des Weiteren ist es notwendig, eine Validierung der XML-Dateien zu implementieren, mit der Folge dass ebenfalls eine dagegen zu validierende Definitionsdatei entwickelt werden muss. Die Verwendung aktueller Technologien und Entwicklungsprozesse ist weitestgehend Bestandteil, um eine zukunftssichere, sowie verständliche und leicht erweiterbare Lösung zur Verfügung zu stellen. Mögliche Anforderungen, welche nach Abschluss der Thesis anfallen, können so zeitnah und mit geringem Aufwand umgesetzt werden.