Theses

Modellbasierte Darstellung von C++ Sourcecode

Bachelorarbeit in der Abteilung Softwaretechnik



Motivation

Um Quellcode maschinell analysieren und bearbeiten zu können - beispielsweise für Code-Refactoring - ist das direkte Arbeiten auf dem Quellcode unpraktisch. Daher wird der Code in der Regel zuvor in einen Abstrakten Syntaxgraphen (ASG) überführt; eine Datenstruktur, die den Code struktiert in Form eines Graphen darstellt und sich so leichter analysieren lässt. Diese Überführung geschieht durch einen Parser. Die so entstehenden Syntaxgraphen sind vom Parser definiert und folgen keinem einheitlichen Modell.


Aufgabenstellung

In dieser Arbeit wird ein Verfahren entwickelt, um einen solchen ASG mit dem Eclipse Modelling Framework kompatibel zu machen. Dazu muss ein Metamodell erstellt werden, welches den ASG eines Parsers beschreibt, sowie eine Möglichkeit, C++ Code in eine Instanz dieses Metamodells und wieder zurück zu überführen. Sowohl das Erstellen des Metamodells als auch die Übersetzung eines Programms soll dabei so automatisiert wie Möglich funktionieren.


Betreuer
Prof. Dr. Andreas Winter ()
M.Sc. Johannes Meier ()

Related Projects
Model Consistency ensured by Metamodel Integration (MoConseMI)

In multi-perspective software development, several perspectives exist presenting different views on the developed artefacts. Because some perspectives handle the same data and all the data have relationships between each other, there is a strong need for synchronization of the data between different perspectives. To solve this problem, this project aims at developing and validating a method for integrating the single metamodels of each perspective into one integrated single underlying metamodel (SUMM).

 
Metamodeling and Model Based Engineering
Modeling and Metamodeling allow the graph-based creation, analysis, and storage of information. Model Based Engineering summerizes these and further techniques which use models as first-order objects. This research area targets approaches, techniques, and tools to create, improve, analyze, and store models conform to metamodels among the whole software life cycle.
 


(Changed: 19 Jan 2024)  | 
Zum Seitananfang scrollen Scroll to the top of the page