Microsoft Automatic Graph Layout
{{Short description|Software library}}
{{Infobox software
| name = Microsoft Automatic Graph Layout (MSAGL)
| author = Lev Nachmanson, Sergey Pupyrev, Tim Dwyer, Ted Hart, Roman Prutkin
| developer = Microsoft Research
| released = {{Start date and age|2015|02|26}}
| latest release version = v1.1
| latest release date = {{Start date and age|2022|01|28}}
| repo = {{URL|https://github.com/Microsoft/automatic-graph-layout}}
| programming language = C#
| operating system = Microsoft Windows
| platform = .NET Framework
| genre = Software framework
| license = MIT License
| website = {{URL|http://research.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.{{cite web |title=Microsoft Automatic Graph Layout |url=https://www.microsoft.com/en-us/research/project/microsoft-automatic-graph-layout/ |website=Microsoft Research}}
Earlier versions carried the name GLEE (Graph Layout Execution Engine).{{cite web |title=Visualize Custom Graph with MS Graph Layout Engine |url=https://www.syncfusion.com/blogs/post/visualize-custom-graph-ms-graph-layout-engine.aspx |website=Syncfusion Blogs |date=14 August 2018}}
Contents
The MSAGL software supplies four programming libraries:
- {{mono|Microsoft.MSAGL.dll}}, a device-independent graph layout engine;
- {{mono|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;
- {{mono|Microsoft.MSAGL.GraphViewerGDI.dll}}, a Windows.Forms-based graph viewer control.
- {{mono|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;{{cite web|url=https://www.microsoft.com/en-us/research/publication/notes-on-an-implementation-of-sugiyamas-scheme/|title = Notes on an Implementation of Sugiyama's Scheme|date = June 2006|last1 = Nachmanson|first1 = Lev| website=Microsoft }} 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 {{US Patent |7932907}}.
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.{{cite web |title=Microsoft Automatic Graph Layout {{!}} Semantic Scholar |url=https://www.semanticscholar.org/topic/Microsoft-Automatic-Graph-Layout/2926312 |website=www.semanticscholar.org |language=en}}
Availability and licensing
See also
{{Portal|Free and open-source software}}
- graph layout
- Graph algorithms
- Graphviz, an open-source graph drawing system from AT&T
References
{{Reflist}}
External links
- [http://research.microsoft.com/en-us/projects/msagl/ MSAGL home page]
- [http://rise4fun.com/agl/ MSAGL in a browser]
- [https://patents.google.com/patent/US7932907 US Patent 7932907]
{{Graph Analysis Software}}
{{Microsoft FOSS}}
{{Microsoft Research}}
Category:Graph drawing software
Category:Free and open-source software
Category:Programming tools for Windows