Modellfusion: Interaktives Zusammenführen graph-basierter, visueller Modelle
Final Report Abstract
Unter Modellvereinigung (model merging) versteht man das Zusammenführen verschiedener Arten von Modellen (z.B. Integration verschiedener Sichten wie Klassen- und Sequenzdiagramme) oder verschiedener Versionen des gleichen Modells. Dabei können sich die Modelle teilweise überlappen und textuell, syntaktisch oder semantisch widersprüchlich sein, und es kann vorkommen, dass das Ergebnismodell mit in den Ausgangsmodellen nicht vorhandenen Elementen ergänzt werden muss, um ein syntaktisch korrektes Ergebnis sicherzustellen oder die Semantik beider Modelle möglichst gut zu erhalten. Sind die Unterschiede jedoch so groß, dass eine über die in den Varianten hinausgehende oder von diesen abweichende Lösung umgesetzt werden muss, dann sprechen wir von Modellfusion. Bei der Modellfusion entsteht das Ergebnismodell sowohl durch Vereinigen von Teilen der Modellvarianten als auch durch beliebige Modelländerungen. Das Ziel des Projekts bestand darin, besser zu verstehen, wie Entwickler graphbasierte, visuelle Modelle, insbesondere solche mit großen semantischen Unterschieden, zusammenführen und darauf aufbauend Werkzeuge zu entwickeln, die mit Hilfe geeigneter Visualisierungs- und Interaktionstechniken die Entwickler beim Vergleich und der Fusion von Modellen unterstützen. Zu diesem Zweck wurde qualitativ untersucht, wie Menschen von Hand Modelle zusammenführen. Die gewonnen Ergebnisse beinhalten sowohl eine Beschreibung als auch eine Kategorisierung des beobachteten Verhaltens und ermöglichen es, das Problem von einem werkzeugunabhängigen Standpunkt besser zu verstehen. Dieses Verständnis wurde dazu eingesetzt, eine Reihe von Werkzeugen für verschiedene Anwendungsszenarien zu entwickeln. Jedes dieser Werkzeuge unterstützt den Benutzer dabei, Ähnlichkeiten und Unterschiede zwischen Modellen zu finden und, je nach Anwendungsszenario, ein vereinigtes Modell zu erzeugen. In mehreren qualitativen Benutzerstudien wurde die Benutzbarkeit dieser Werkzeuge evaluiert und Einsichten über die Workflows und Strategien der Benutzer gewonnen.
Publications
- How Humans merge UML-Models. Proceedings of the 5th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), Banff, Alberta, Canada, September 22-23, 2011
Rainer Lutz, David Würfel and Stephan Diehl
- Human Aspects of Model Merging. Softwaretechnik-Trends, 32(4), 2012
Rainer Lutz and Stephan Diehl
- Asymmetric Visual Hierarchy Comparison with Nested Icicle Plots. Proceedings of the International Workshop on Graph Visualization in Practice (GraphViP) (co-located with DIAGRAMS and VL/HCC), Melbourne, Australia, August 1st, 2014
Fabian Beck, Franz-Josef Wiszniewsky, Michael Burch, Stephan Diehl and Daniel Weiskopf
- Get Your Directories Right: From Hierarchy Visualization to Hierarchy Manipulation. Proceedings of IE- EE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2014), Melbourne, Australia, July 28-Aug 1, 2014
Rainer Lutz, Daniel Rausch, Fabian Beck and Stephan Diehl
(See online at https://doi.org/10.1109/VLHCC.2014.6883017) - Using Visual Dataflow Programming for Interactive Model Comparison. Proceedings of 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014), Vasteras, Sweden, September 15- 19, 2014
Rainer Lutz and Stephan Diehl
(See online at https://doi.org/10.1145/2642937.2642984) - Grounded Requirements Engineering: An Approach to Use Case Driven Requirements Engineering. Journal of Systems and ¨ Software
David Würfel, Rainer Lutz, and Stephan Diehl
(See online at https://doi.org/10.1016/j.jss.2015.10.024)