Microsoft Automatic Graph Layout

Microsoft Automatic Graph Layout (MSAGL) is a .NET library for automatic graph layout. It was created by Lev Nachmanson at Microsoft Research.[1]

Microsoft Automatic Graph Layout (MSAGL)
Original author(s)Lev Nachmanson, Sergey Pupyrev, Tim Dwyer, Ted Hart, Roman Prutkin
Developer(s)Microsoft Research
Initial releaseFebruary 26, 2015; 9 years ago (2015-02-26)
Stable release
v1.1 / January 28, 2022; 2 years ago (2022-01-28)
Repositorygithub.com/Microsoft/automatic-graph-layout
Written inC#
Operating systemMicrosoft Windows
Platform.NET Framework
TypeSoftware framework
LicenseMIT License
Websiteresearch.microsoft.com/en-us/projects/msagl/

Earlier versions carried the name GLEE (Graph Layout Execution Engine).[2]

Contents

edit

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

edit

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). A 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

edit

MSAGL is distributed under MIT License as open source at GitHub.[5]

See also

edit

References

edit
  1. ^ "Microsoft Automatic Graph Layout". Microsoft Research.
  2. ^ "Visualize Custom Graph with MS Graph Layout Engine". Syncfusion Blogs. 14 August 2018.
  3. ^ Nachmanson, Lev (June 2006). "Notes on an Implementation of Sugiyama's Scheme". Microsoft.
  4. ^ "Microsoft Automatic Graph Layout | Semantic Scholar". www.semanticscholar.org.
  5. ^ "Microsoft Automatic Graph Layout". GitHub. 17 October 2021.
edit