Detailseite
Strategien zur Konfliktvermeidung und proaktiven Konfliktlösung für Graphtransformation
Antragstellerinnen
Professorin Dr. Leen Lambers; Professorin Dr. Gabriele Taentzer
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung seit 2026
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 569677785
Konflikte sind ein grundlegendes Phänomen in der Softwareentwicklung. Wenn beispielsweise ein Softwaresystem im Team entwickelt wird, können Merge-Konflikte auftreten, die von den Entwickelnden gelöst werden müssen. Dies kann eine schwierige Aufgabe sein, insbesondere wenn es um Refactorings geht. Obwohl die Erkennung von Konflikten gut unterstützt wird, besteht nach wie vor die Notwendigkeit, Konflikte effektiv zu managen. Nach dem CMMI ist ein Prozess im Allgemeinen reifer, wenn er proaktiv und nicht reaktiv ist. Bislang wurden die Möglichkeiten der Konfliktvermeidung und der proaktiven Konfliktlösung, in der Vorlagen für Konfliktlösungen zur Entwurfszeit berechnet und zur Laufzeit angewendet werden, noch nicht systematisch erforscht. Im Gebiet der Graphtransformation tritt ein Konflikt auf, wenn zwei Transformationen auf einem gegebenen Graphen ausführbar sind, aber nachdem eine Transformation ausgeführt wurde, die andere Transformation so nicht mehr ausführbar ist. Graphtransformation hat sich als hilfreich für die Unterstützung der proaktiven Konflikterkennung in der Softwareentwicklung erwiesen. Die Unterstützung beruht auf den folgenden drei Prinzipien: Erstens werden Graphen häufig verwendet, um komplexe Strukturen, wie z. B. Berechnungszustände oder Systemstrukturen, darzustellen. Zweitens können Zustandsänderungen leicht durch Graphtransformationsregeln beschrieben werden. Drittens gibt es eine umfangreiche Theorie der Graphtransformation. Auf der Basis eines proaktiven Ansatzes zur Konflikterkennung werden wir Strategien zur Vermeidung und proaktiven Lösung von Konflikten zwischen Graphtransformationen unter Verwendung heuristischer und metaheuristischer Suche entwickeln. Wenn die Regeln eines gegebenen Graphtransformationssystems (GTS) zu unerwünschten Konflikten führen können, werden Strategien zur Verfügung stehen, um das GTS zur Entwurfszeit so zu modifizieren, dass alle unerwünschten Konflikte verhindert werden. Wenn Konflikte natürlicherweise auftreten und das GTS nicht geändert werden darf, wird es Strategien zur Lösung dieser Konflikte geben. Ein Konflikt zwischen zwei Graphtransformationen wird gelöst, indem diese in einen gemeinsamen Graphen oder zumindest in zwei ähnliche Graphen transformiert werden. Die Konflikte werden proaktiv gelöst, d.h. zur Entwurfszeit werden Lösungsvorlagen berechnet, die zur Laufzeit instanziiert werden. Für alle betrachteten Strategien werden wir die notwendige Theorie zur Richtigkeit und Vollständigkeit der gewünschten Ergebnismengen entwickeln. Die Strategien werden in einem Toolkit auf der Basis von Henshin, einer Modelltransformationsumgebung, die Graphtransformationskonzepte verwendet, implementiert und an typischen Beispielen der Softwaretechnik, wie der Spezifikation und Analyse von Anforderungen, der Implementierung von Modelltransformationen und der Zusammenarbeit bei Refactorings, evaluiert, um ihre Nützlichkeit in der Praxis zu untersuchen.
DFG-Verfahren
Sachbeihilfen
