Microsoft Automatic Graph Layout (MSAGL) is a
.NET library for automatic
graph layout.
It was created by Lev Nachmanson at
Microsoft Research
Microsoft Research (MSR) is the research subsidiary of Microsoft. It was created in 1991 by Richard Rashid, Bill Gates and Nathan Myhrvold with the intent to advance state-of-the-art computing and solve difficult world problems through technologi ...
.
Earlier versions carried the name ''GLEE'' (Graph Layout Execution Engine).
Contents
The MSAGL software supplies three programming libraries:
* , a device-independent
graph layout engine;
* , a device-independent implementation of graphs as
graphical user interface object
A graphical widget (also graphical control element or control) in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through di ...
s, with all kinds of graphical attributes, and support for interface events such as mouse actions;
* , a
Windows.Forms
Windows Forms (WinForms) is a free and open-source graphical (GUI) class library included as a part of Microsoft .NET, .NET Framework or Mono Framework, providing a platform to write client applications for desktop, laptop, and tablet PCs. Whi ...
-based graph viewer
control.
* , 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; 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 .
At some time, it did not support a wide range of different layout algorithms, unlike, for instance,
GraphViz or
GUESS
A guess (or an act of guessing) is a swift conclusion drawn from data directly at hand, and held as probable or tentative, while the person making the guess (the guesser) admittedly lacks material for a greater degree of certainty. A guess is als ...
.
It does not appear to support
incremental layout
Increment or incremental may refer to:
*Incrementalism, a theory (also used in politics as a synonym for gradualism)
*Increment and decrement operators, the operators ++ and -- in computer programming
*Incremental computing
*Incremental backup, wh ...
.
Availability and licensing
MSAGL is distributed under
MIT License as open source at
GitHub.
See also
*
graph layout
*
Graph algorithms
*
Graphviz, an open-source graph drawing system from
AT&T
References
External links
MSAGL home pageMSAGL in a browserUS Patent 7932907
{{Microsoft Research
Graph drawing software
Free and open-source software
Microsoft free software
Microsoft Research
Programming tools for Windows
Software using the MIT license
Windows-only free software