| Original author(s) | Lev Nachmanson, Sergey Pupyrev, Tim Dwyer, Ted Hart, Roman Prutkin | 
|---|---|
| Developer(s) | Microsoft Research | 
| Initial release | February 26, 2015 | 
| Stable release | v1.1
   / January 28, 2022  | 
| Repository | github | 
| Written in | C# | 
| Operating system | Microsoft Windows | 
| Platform | .NET Framework | 
| Type | Software framework | 
| License | MIT License | 
| Website | research | 
Microsoft Automatic Graph Layout (MSAGL) is a .NET library for automatic graph layout. It was created by Lev Nachmanson at Microsoft Research.[1]
Earlier versions carried the name GLEE (Graph Layout Execution Engine).[2]
Contents
The MSAGL software supplies three programming libraries:
- Microsoft.MSAGL.dll, a device-independent graph layout engine;
 - Microsoft.MSAGL.Drawing.dll, a device-independent implementation of graphs as graphical user interface objects, with all kinds of graphical attributes, and support for interface events such as mouse actions;
 - Microsoft.MSAGL.GraphViewerGDI.dll, a Windows.Forms-based graph viewer control.
 - Microsoft.MSAGL.WpfGraphControl.dll, a WPF (Windows Presentation Foundation) based graph viewer control.
 
A trivial application is supplied to demonstrate the viewer.
Features
MSAGL performs layout based on principles of the Sugiyama scheme;[3] it produces so called layered, or hierarchical, layouts (according to the MSAGL home page). Modified Coffman–Graham scheduling algorithm is then used to find a layout that would fit in a given space. More detailed description of the algorithm can be found in U.S. Patent 7,932,907.
At some time, it did not support a wide range of different layout algorithms, unlike, for instance, GraphViz or GUESS.
It does not appear to support incremental layout.[4]
Availability and licensing
MSAGL is distributed under MIT License as open source at GitHub.[5]
See also
- graph layout
 - Graph algorithms
 - Graphviz, an open-source graph drawing system from AT&T
 
References
- ↑ "Microsoft Automatic Graph Layout". Microsoft Research.
 - ↑ "Visualize Custom Graph with MS Graph Layout Engine". Syncfusion Blogs. 14 August 2018.
 - ↑ Nachmanson, Lev (June 2006). "Notes on an Implementation of Sugiyama's Scheme". Microsoft.
 - ↑ "Microsoft Automatic Graph Layout | Semantic Scholar". www.semanticscholar.org.
 - ↑ "Microsoft Automatic Graph Layout". GitHub. 17 October 2021.