Nowadays, visual languages are widely used. Examples of visual languages are graphs and class diagrams. The usage of meta-tools minimizes the effort that is needed for the creation of visual language editors. By the help of an abstract specification, a large amount of the functionality of an editor may be described. Unfortunately, in most commonly used meta-tools, the definition of the layout behavior is only insufficiently supported. In order to be able to develop a fully functional visual language editor, which lets the editor user draw comprehensible and visual appealing diagrams, this part is of great importance. In this thesis, a pattern-based layout approach for the specification of layout behavior is described. The approach is based on meta-models and enables the combination of all commonly used approaches for the definition of layout behavior. Amongst others, graph drawing algorithms and constraint-based approaches can be used. Furthermore, a newly developed rule-based approach can easily be integrated. Layout patterns are the main concept of the approach: Each layout pattern encapsulates certain layout behavior. Several layout patterns may be applied to a diagram simultaneously, even to diagram parts that overlap. A control algorithm that is included in the approach deals with such situations. One import characteristic of the approach is that the layout is continuously maintained during diagram modification, and that it is updated at runtime. The possibility to reuse layout patterns, and to integrate them in a huge variety of different visual language editors are two more characteristics. Based on the layout approach, several layout features were developed: User-controlled layout behavior allows the editor user to influence the layout at runtime by applying layout patterns to certain parts of the diagram. For instance, the editor user can align components horizontally by applying the horizontal alignment pattern. This layout behavior is preserved until the editor user explicitly removes it again. The editor is capable of suggesting layout patterns being applied to certain parts of the diagram. This feature is called layout suggestions. For instance, the editor suggests to apply the horizontal alignment pattern to components that are almost horizontally aligned. Furthermore, the editor can even automatically apply these suggestions. This feature is named ad-hoc layout. In this thesis, the practical relevance of the introduced approach is demonstrated: Several layout patterns are specified and used to define the layout behavior of four DiaMeta editors, namely a graph editor, a class diagram editor, a GUI forms editor, and a VEX diagram editor. Additionally, they are used to define the layout behavior of one GEF editor, namely a graph editor.
«Nowadays, visual languages are widely used. Examples of visual languages are graphs and class diagrams. The usage of meta-tools minimizes the effort that is needed for the creation of visual language editors. By the help of an abstract specification, a large amount of the functionality of an editor may be described. Unfortunately, in most commonly used meta-tools, the definition of the layout behavior is only insufficiently supported. In order to be able to develop a fully functional visual lang...
»