Graph Layout Support for Model-Driven Engineering
- Zugl.: Kiel, Univ., Diss. 2014
As shown previously by Fuhrmann [Fuh11], there are several concepts for increasing the productivity of model-driven engineering by improving the practical handling of models. The automatic layout of graph-based models is a key enabler in this context.
However, there is a striking contrast between the abundance of research results in the field of graph layout methods and
the current state of graphical modeling tools, where only a tiny fraction of these results are ever adopted. This thesis aims to bridge this gap on three separate levels:
specialized layout algorithms, configuration management,and software infrastructure. Regarding layout algorithms, here we focus on the layer-based approach.
We examine its extension to include ports and hyperedges, which are essential features of certain kinds of graphs, e. g. data flow models. The main contribution is the handling of constraints on the positioning of ports, which is done mainly in the crossing minimization and edge routing phases.
Hyperedges are represented with normal edges, simplifying their handling but introducing inaccuracies for counting crossings. A final extension discussed here is a sketch-driven approach for simple integration of user interactivity.
An abstract layout is the selection of a layout algorithm with a mapping of its parameters to specific values.
We discuss a new meta model allowing to specify the structure of a graph as well as its abstract layout and its concrete
layout, i. e. positioning data computed by the layout algorithm. This forms a basis for efficient management of layout configurations.
Furthermore, we investigate an evolutionary algorithm for searching the solution space of abstract layouts, taking readability criteria into account for evaluating solutions.
The software infrastructure developed here targets the connection of arbitrary diagram viewers (front-ends) with arbitrary graph layout algorithms (back-ends).
The main challenge is to find suitable abstractions that allow such generality and at the same time keep the complexity as low as possible. We discuss a possible realization based on the Eclipse platform, which is used by several modeling tools, e. g. the Graphical Modeling Framework (GMF).
A web-based survey has been conducted among users of the layout infrastructure in order to evaluate to what extent the stated goals have been met. The overall feedback collected from this survey is very positive.