DiaMeta includes a quite powerful layout framework. 

  1. S. Maier. A Pattern-based Approach for the Combination of Different Layout Algorithms in Diagram Editors. Universitaet der Bundeswehr Muenchen, 2012. [Link]

The layout framework is based on a pattern-based layout approach for the specification of layout behavior. The approach is based on meta-models and enables the combination of all commonly used approaches for the definition of layout behavior:

  • a newly developed rule-based approach
  • graph drawing algorithms, constraint-based approaches, ...

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.

Detailed information about this layout framework can be found here: [Page of Sonja Maier]