Microsoft Automatic Graph Layout

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Microsoft Automatic Graph Layout (MSAGL)
Original authorsLev Nachmanson, Sergey Pupyrev, Tim Dwyer, Ted Hart, Roman Prutkin
DeveloperMicrosoft Research
Initial releaseFebruary 26, 2015; 11 years ago (2015-02-26)
Stable release
v1.1 / January 28, 2022; 4 years ago (2022-01-28)
Repositorygithub.com/Microsoft/automatic-graph-layout
Written inC#
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    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

    [edit | edit source]

    The MSAGL software supplies four 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

    [edit | edit source]

    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). 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 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

    [edit | edit source]

    MSAGL is distributed under MIT License as open source at GitHub.[5]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]