Complexity management in graphical models

Complexity management in graphical models

phdthesis
Graphische Repräsentationen spielen im Software Lebenszyklus eine zentrale Rolle dabei, immaterielle Software fassbarer und zugänglicher zu machen. Obwohl solche Grafiken oder Diagramme das sogenannte "computational offloading" beim Verstehen eines Systems fördern, führt die Komplexität heutiger Softwaresysteme oftmals zu sehr grossen und überladenen Modellen. Eine Möglichkeit um dieser Grösse und Komplexität Herr zu werden liegt in einer hierarchischen und aspekt-basierten Dekomposition des Modells in handhabbare und verständliche Teile. Eine solche Dekomposition ist die grundlegende Idee hinter Adora: Der Ansatz beruht auf einem integrierten, inhärent hierarchischen Modell zusammen mit einem Werkzeug, welches Abstraktionen in der Form von Diagrammen handhabbarer Grösse und Komplexität generiert. Der Mechanismus zur Handhabung der Komplexität kombiniert zwei Konzepte: a) eine sogenannte Fischaugen-Visualisierung, welche lokale Details zusammen mit dem umgebenden Kontext in einer einzigen Ansicht darstellt, und b) eine dynamische Generierung verschiedener Sichten durch das Ausblenden spezifischer Modellelemente. Die vorliegende Arbeit beschäftigt sich mit den technischen Grundlagen dieses Ansatzes des Umgangs mit Komplexität. Obwohl die Einfachheit des Konzepts einen grossen Teil dessen Attraktivität ausmacht, tauchen bei der Realisierung in einem rechnergestützten Werkzeug eine ganze Menge technischer Probleme und Zielkonflikte auf. Neben der Präsentation und Diskussion der dafür benötigen Datenstrukturen und Algorithmen, werden auch die Anforderungen, welche diese zu erfüllen haben, behandelt. Ein verbesserter Fischaugen Zoomalgorithmus, der auf dem Prinzip der Skalierung von Intervallen beruht und sowohl die Editierbarkeit des Layouts als auch dessen Stabilität bei mehreren Zoomoperationen garantiert, bildet die Basis für die dynamische Anpassung des Layouts. Dieser Algorithmus kann, mit kleinen Anpassungen, auch dazu verwendet werden, das Layout beim Generieren verschiedener Sichten durch das Ausblenden spezifischer Modellelemente anzupassen. Zusätzlich unterstützt er den Benutzer beim Editieren des Modells durch eine automatische Anpassung. Da diese automatischen Veränderungen des Layouts in dynamischen, sich ständig ändernden Diagrammen resultieren, müssen auch die Linien, welche die Modellelemente verbinden, angepasst werden. Als Lösung für dieses Problem wurde ein automatischer Linienführungsalgorithmus entwickelt, der in Echtzeit ästhetisch ansprechende Linien generiert. Die Datenstruktur dieses Algorithmus kann zusätzlich auch zur automatischen Platzierung von Linienbeschriftungen verwendet werden.
Tobias Reinhard
Harald C. Gall
Graphical or visual representations play a central role in the software life cycle as a means to make the immaterial software more tangible and accessible. While such drawings or diagrams facilitate a "computational offloading" when reasoning about a system, the complexity of today's software systems makes them often extremely big and cluttered. One way to cope with this size and complexity is to use hierarchical and aspectual decompositions to split the models into manageable and understandable parts. Such a decomposition mechanism is the basic idea behind the Adora approach: It uses an integrated, inherently hierarchical model together with a tool that generates abstractions in the form of diagrams of manageable complexity. The underlying complexity management mechanism combines two concepts: (i) a fisheye zoom visualization which shows local detail and its surrounding global context in one single view and (ii) a dynamic generation of different views by filtering specific model elements. The work at hand covers the technical foundations of this complexity management mechanism. While the simplicity of the basic concept contributes largely to its appeal, the actual realization in a computer-based tool has to cope with a lot of conceptual and technical problems and trade-offs. Besides the presentation and discussion of the actual data structures and algorithms, the detailed requirements they have to fulfill are covered as well. An improved fisheye zoom algorithm that employs the concept of interval scaling and solves the problem of having a user-editable layout which is stable under multiple zoom operations builds the basis for the dynamic adaption of a diagram. This algorithm can be extended to adapt the layout if model elements are filtered to generate different views on the model. Additionally, it can be used to support the model editing by adapting the layout automatically. Since these automatic layout adjustments result in a dynamic, constantly changing diagram, the links or lines connecting model elements have to be adapted, too. As a solution to that problem, an automatic line routing algorithm that produces an aesthetically appealing layout and routes in real time has been developed. The basic data structure of this algorithm can also be used to automatically place the labels accompanying the links.
Complexity management in graphical models
2010
University of Zurich, Department of Informatics
rerg