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 (2015-02-26)
Stable release
v1.1 / January 28, 2022 (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

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

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.