Software:Microsoft Automatic Graph Layout

From HandWiki
Revision as of 14:06, 9 February 2024 by BotanyGa (talk | contribs) (change)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Software library
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/

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

External links