Transaktionskonzepte für Inkrementelle Modellanalysen

Bachelorarbeit, Diplomarbeit, Masterarbeit, Studentische Abschlussarbeit

Themen-Schwerpunkt: Software-Architekturen und -Qualität, Software-Entwicklung
Studiengänge: Informatik, Informationswirtschaft, Wirtschaftsinformatik

Umfeld

In der Modellgetriebenen Softwareentwicklung sind Analysen der entstehenden Modelle notwendig, um Validierungen schon auf der Modellebene durchführen zu können um so kostenintensiveren Fehlern vorzubeugen und Kosten zu sparen. Allerdings sind die Modelle stetigen Änderungen unterworfen, die sich auch auf die Analyseergebnisse auswirken können, die man gerne stets aktuell hätte. Da die Modelle sehr groß werden können, sich aber immer nur kleine Teile dieser Modelle ändern, ist es sinnvoll diese Analysen inkrementell zu gestalten, also Zwischenergebnisse des letzten Analysedurchlaufs wiederzuverwenden. Ein Ansatz für solche inkrementellen Modellanalysen ist NMF Expressions, das im Hintergrund einen Abhängigkeitsgraphen der Analyse aufbaut und bei jeder atomaren Änderung des Modells aktualisiert.  In einigen Situationen führt dies allerdings zu unerwünschtem Verhalten, da das Modell in der Mitte einer Reihe von elementaren Änderungen einen ungültigen Zustand haben kann, der in der Analyse Fehler oder Mehraufwände verursacht.

Aufgaben

In dieser Arbeit untersuchen Sie, wie sich die dargestellten Probleme mit Hilfe der Einführung eines Transaktionskonzepts für elementare Modelländerungen beheben lässt. Dieses Transaktionskonzept soll später dazu genutzt werden, die einzelnen Änderungen parallel zu propagieren. Diese Konzepte sollen anschließend implementiert und in NMF Expressions integriert werden, sodass der Abhängigkeitsgraph nur bei Abschluss einer Modelltransaktion aktualisiert wird. Als Bachelorarbeit besteht die Arbeit im Wesentlichen aus der Implementierung, für eine Masterarbeit sind auch formale Betrachtungen notwendig.

Wir bieten

  • Arbeit mit topaktuellen und innovativen Technologien
  • Angenehme Arbeitsatmosphäre
  • Konstruktive Zusammenarbeit

Wir erwarten

  • Programmierkenntnisse in C# bzw. .NET
  • Grundkenntnisse in modellgetriebenen Techniken sind von Vorteil
  • Selbständiges Denken und Arbeiten sowie Teamfähigkeit
  • Sehr gute Deutsch- oder Englischkenntnisse
  • Motivation und Engagement

Ihre Bewerbung

Bitte legen Sie Ihrem Anschreiben folgende Unterlagen bei:

  • aktueller Notenauszug
  • tabellarischer Lebenslauf

Weitere Informationen

  • Start: ab sofort
  • Betreuendes Institut am KIT: SDQ | Prof. Dr.-Ing. Ralf Reussner