Microsoft Automatic Graph Layout: Difference between revisions

Content deleted Content added
added link to rise4fun.com
External links: dead link
 
(44 intermediate revisions by 26 users not shown)
Line 1:
{{Short description|Software library}}
; Related{{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 Sharp (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 Framework|.NET]] library for automatic [[graph layout]].
It was created by [[Lev Nachmanson]] at [[Microsoft Research]].<ref>{{cite [httpweb |title=Microsoft Automatic Graph Layout |url=https://rise4funwww.microsoft.com/aglen-us/research/project/microsoft-automatic-graph-layout/ Try|website=Microsoft itResearch}}</ref> in your browser!]
 
Earlier versions carried the name ''GLEE'' ('''Graph Layout Execution Engine''').<ref>{{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}}</ref>
 
== Contents ==
The MSAGL software supplies threefour reusable codeprogramming libraries:
 
* {{mono|Microsoft.MSAGL.dll}}, a device-independent [[graph layout]] engine;
The MSAGL software supplies three reusable code libraries:
* <tt>{{mono|Microsoft.MSAGL.Drawing.dll</tt>}}, a device-independent implementation of graphs as [[graphical user interface objectsobject]]s, with all kinds of graphical attributes, and support for interface events such as mouse actions;
 
* <tt>{{mono|Microsoft.MSAGL.GraphViewerGDI.dll</tt>}}, a device[[Windows.Forms]]-independentbased graph viewer [[graphGUI layoutwidget|control]] engine;.
* <tt>{{mono|Microsoft.MSAGL.GraphViewerGDIWpfGraphControl.dll</tt>}}, a WPF ([[Windows.Forms Presentation Foundation]]-) based graph viewer [[GUI widget|control]].
* <tt>Microsoft.MSAGL.Drawing.dll</tt>, 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;
* <tt>Microsoft.MSAGL.GraphViewerGDI.dll</tt>, a [[Windows.Forms]]-based graph viewer [[GUI widget|control]].
 
A trivial application is supplied to demonstrate the viewer.
 
== Features ==
MSAGL performs layout based on "principles of the [[Sugiyama scheme]];<ref>{{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]] }}</ref> it produces so called layered, or hierarchical, layouts" (according to the MSAGL home page). A modified [[Coffman–Graham algorithm|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}}.
 
MSAGL performs layout based on ''principles of the [[Sugiyama scheme]]; it produces so called layered, or hierarchical, layouts'' (according to the MSAGL home page).
 
At some time, it did not support a wide range of different layout algorithms, unlike, for instance, [[GraphViz]] or [[GUESS Graph Exploration System|GUESS]].
 
It does not appear to support [[incremental layout]].<ref>{{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}}</ref>
It does not appear to support [[incremental layout]].
 
== Availability and licensing ==
MSAGL is distributed under [[MIT License]] as open source at [[GitHub]].<ref>{{Cite web|url=https://github.com/Microsoft/automatic-graph-layout.git|title = Microsoft Automatic Graph Layout| website=[[GitHub]] |date = 17 October 2021}}</ref>
 
MSAGL is distributed in a binary form only. A [http://www.windowsmarketplace.com/details.aspx?view=info&itemid=6002737 commercial license] has to be bought.
 
== See also ==
{{Portal|Free and open-source software}}
 
* [[graph layout]]
* [[Graph algorithms]]
; Related software :
* [[Graphviz]], an open-source graph drawing system from [[AT&T]]
 
== References ==
{{Reflist}}
 
== External links ==
* [http://rise4funresearch.microsoft.com/aglen-us/projects/msagl/ try MSAGL in yourhome browserpage]
* [http://research.microsoftrise4fun.com/en-us/projects/msaglagl/ the MSAGL homein pagea browser] {{dead link|date=August 2025}}
* [https://patents.google.com/patent/US7932907 US Patent 7932907]
 
{{Graph Analysis Software}}
{{Microsoft FOSS}}
{{Microsoft Research}}
 
[[Category:WindowsGraph drawing software]]
[[Category:Free and open-source software]]
[[Category:Microsoft free software|Automatic Graph Layout]]
[[Category:Microsoft Research]]
[[Category:GraphProgramming drawingtools for Windows]]
[[Category:Software using the MIT license]]
[[Category:Windows-only free software]]