|  | <!DOCTYPE html> | 
|  | <html lang="en"> | 
|  | <head> | 
|  |  | 
|  | <meta charset="utf-8"> | 
|  | <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | 
|  | <link rel="icon" type="image/svg+xml" href="img/elk_fav.svg"> | 
|  |  | 
|  |  | 
|  | <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> | 
|  | <link rel="stylesheet" href="https://www.eclipse.org/elk/css/elk.css"> | 
|  | <link rel="stylesheet" href="https://www.eclipse.org/elk/css/prism.css"> | 
|  |  | 
|  | <title>Documentation (ELK)</title> | 
|  |  | 
|  |  | 
|  |  | 
|  | </head> | 
|  | <body> | 
|  |  | 
|  | <nav class="navbar navbar-expand-lg navbar-dark"> | 
|  | <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> | 
|  | <span class="navbar-toggler-icon"></span> | 
|  | </button> | 
|  | <a class="navbar-brand" href="https://www.eclipse.org/elk/"> | 
|  | <img src="img/elk_small_light.svg" height="30" class="d-inline-block align-top mr-1" alt=""> | 
|  | Eclipse Layout Kernel | 
|  | </a> | 
|  | <div class="collapse navbar-collapse" id="navbarCollapse"> | 
|  | <ul class="navbar-nav mr-auto"> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <li class="nav-item"> | 
|  | <a class="nav-link" href="./downloads.html">Downloads</a> | 
|  | </li> | 
|  |  | 
|  |  | 
|  | <li class="nav-item"> | 
|  | <a class="nav-link" href="./gettingstarted.html">Getting Started</a> | 
|  | </li> | 
|  |  | 
|  |  | 
|  | <li class="nav-item active"> | 
|  | <a class="nav-link" href="./documentation.html">Documentation <span class="sr-only">(current)</span></a> | 
|  | </li> | 
|  |  | 
|  |  | 
|  | <li class="nav-item"> | 
|  | <a class="nav-link" href="./reference.html">Reference</a> | 
|  | </li> | 
|  |  | 
|  |  | 
|  | <li class="nav-item"> | 
|  | <a class="nav-link" href="./support.html">Support</a> | 
|  | </li> | 
|  |  | 
|  |  | 
|  | <li class="nav-item"> | 
|  | <a class="nav-link" href="https://github.com/eclipse/elk">GitHub</a> | 
|  | </li> | 
|  |  | 
|  | </ul> | 
|  | </div> | 
|  | </nav> | 
|  |  | 
|  |  | 
|  | <div class="container px-3 py-5"> | 
|  |  | 
|  |  | 
|  | <div class="row"> | 
|  | <div class="col-sm-9"> | 
|  | <h1>Documentation</h1> | 
|  |  | 
|  | <p>The <em>Eclipse Layout Kernel (ELK)</em> implements an infrastructure to connect diagram editors or viewers to automatic layout algorithms.  It also implements a number of standard layout algorithms ready to be used out of the box.</p> | 
|  | <p> | 
|  | <img | 
|  | class="img-fluid" | 
|  |  | 
|  | src="./img/architecture.png" | 
|  |  | 
|  | alt="Eclipse Layout Kernel architecture." | 
|  | style = "max-height: 500px; display: block; | 
|  | margin-left: auto; | 
|  | margin-right: auto;" | 
|  | /> | 
|  | </p> | 
|  |  | 
|  | <h2 id="documentation-for">Documentation for…</h2> | 
|  | <ol> | 
|  | <li> | 
|  | <p>…<a href="./documentation/tooldevelopers.html">tool developers</a>.</p> | 
|  | <p>You want to add automatic layout capabilities to the editor / viewer you’re developing.</p> | 
|  | </li> | 
|  | <li> | 
|  | <p>…<a href="./documentation/algorithmdevelopers.html">algorithm developers</a>.</p> | 
|  | <p>You want to implement your own layout algorithms. Make sure you’re already familiar with the documentation for tool developers before starting to read this, especially with our graph data structure.</p> | 
|  | </li> | 
|  | <li> | 
|  | <p>…<a href="./documentation/contributors.html">ELK contributors</a>.</p> | 
|  | <p>You want to contribute to the ELK code.</p> | 
|  | </li> | 
|  | </ol> | 
|  | <h2 id="links-of-interest">Links of Interest</h2> | 
|  | <ul> | 
|  | <li><a href="https://www.eclipse.org/forums/index.php?t=thread&frm_id=321">Project forum / newsgroup</a></li> | 
|  | <li><a href="https://hudson.eclipse.org/elk/">Build server</a></li> | 
|  | <li><a href="https://projects.eclipse.org/projects/modeling.elk">Eclipse project metadata site</a></li> | 
|  | </ul> | 
|  |  | 
|  | </div> | 
|  |  | 
|  | <div class="secnav col-sm-3"> | 
|  | <ul> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers.html"> | 
|  | <li class="navlevel-1"> | 
|  | Tool Developers | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/graphdatastructure.html"> | 
|  | <li class="navlevel-2"> | 
|  | Graph Data Structure | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/graphdatastructure/coordinatesystem.html"> | 
|  | <li class="navlevel-3"> | 
|  | Coordinate System | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/graphdatastructure/layoutoptions.html"> | 
|  | <li class="navlevel-3"> | 
|  | Layout Options | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/graphdatastructure/jsonformat.html"> | 
|  | <li class="navlevel-3"> | 
|  | JSON Format | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/graphdatastructure/elktextformat.html"> | 
|  | <li class="navlevel-3"> | 
|  | ELK Text Format | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/usingalgorithmsdirectly.html"> | 
|  | <li class="navlevel-2"> | 
|  | Using Algorithms Directly | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/usingplainjavalayout.html"> | 
|  | <li class="navlevel-2"> | 
|  | Using Plain Java Layout | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/usingeclipselayout.html"> | 
|  | <li class="navlevel-2"> | 
|  | Using Eclipse Layout | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/usingeclipselayout/connectingtoelk.html"> | 
|  | <li class="navlevel-3"> | 
|  | Connecting to ELK | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/usingeclipselayout/advancedconfiguration.html"> | 
|  | <li class="navlevel-3"> | 
|  | Advanced Configuration | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/usingeclipselayout/layoutviewsupport.html"> | 
|  | <li class="navlevel-3"> | 
|  | Layout View Support | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/tooldevelopers/usingeclipselayout/dependencyinjection.html"> | 
|  | <li class="navlevel-3"> | 
|  | Dependency Injection | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers.html"> | 
|  | <li class="navlevel-1"> | 
|  | Algorithm Developers | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/gettingeclipseready.html"> | 
|  | <li class="navlevel-2"> | 
|  | Getting Eclipse Ready | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/creatinganewproject.html"> | 
|  | <li class="navlevel-2"> | 
|  | Creating a New Project | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/metadatalanguage.html"> | 
|  | <li class="navlevel-2"> | 
|  | ELK Metadata Language | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/metadatalanguage/automaticbuilds.html"> | 
|  | <li class="navlevel-3"> | 
|  | Automatic Builds | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/algorithmimplementation.html"> | 
|  | <li class="navlevel-2"> | 
|  | Algorithm Implementation | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/algorithmimplementation/algorithmstructure.html"> | 
|  | <li class="navlevel-3"> | 
|  | Structuring Algorithms | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/algorithmdebugging.html"> | 
|  | <li class="navlevel-2"> | 
|  | Algorithm Debugging | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/randomgraphs.html"> | 
|  | <li class="navlevel-2"> | 
|  | Random Graph Generation | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/algorithmdevelopers/unittesting.html"> | 
|  | <li class="navlevel-2"> | 
|  | Unit Tests | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/contributors.html"> | 
|  | <li class="navlevel-1"> | 
|  | ELK Contributors | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/contributors/developmentsetup.html"> | 
|  | <li class="navlevel-2"> | 
|  | Development Setup | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/contributors/developmentworkflow.html"> | 
|  | <li class="navlevel-2"> | 
|  | Development Workflow | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/contributors/developmentworkflow/installingwithoomph.html"> | 
|  | <li class="navlevel-3"> | 
|  | Installing With Oomph | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | <a href="./documentation/contributors/buildingelk.html"> | 
|  | <li class="navlevel-2"> | 
|  | Building ELK | 
|  | </li> | 
|  | </a> | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | </ul> | 
|  |  | 
|  | <div class="incubation-egg"> | 
|  | <a href="https://www.eclipse.org/projects/what-is-incubation.php"> | 
|  | <img src="https://www.eclipse.org/images/egg-incubation.png" alt="Incubation" /> | 
|  | </a> | 
|  | </div> | 
|  | </div> | 
|  |  | 
|  | </div> | 
|  |  | 
|  | </div> | 
|  | <footer role="contentinfo" class="footer"> | 
|  | <div class="container"> | 
|  | <div class="row"> | 
|  | <div class="col"> | 
|  | <span class="hidden-print"> | 
|  | <a href="https://www.eclipse.org"><img class="logo-eclipse-white img-responsive" alt="logo" src="./img/eclipse_foundation_logo.svg"/></a> | 
|  | </span> | 
|  | </div> | 
|  | <div class="col"> | 
|  |  | 
|  | </div> | 
|  | </div> | 
|  | <div class="row"> | 
|  | <div class="col hidden-print"> | 
|  | <a href="http://www.eclipse.org/">Eclipse Foundation</a><br/> | 
|  | <a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a><br/> | 
|  | <a href="http://www.eclipse.org/legal/termsofuse.php">Website Terms of Use</a><br/> | 
|  | <a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a><br/> | 
|  | <a href="http://www.eclipse.org/legal">Legal</a> | 
|  | </div> | 
|  | <div class="col"> | 
|  | <p class="copyright-text">Copyright © Eclipse Foundation, Inc. All Rights Reserved.</p> | 
|  | </div> | 
|  | </div> | 
|  | </div> | 
|  |  | 
|  | </footer> | 
|  |  | 
|  | <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script> | 
|  | <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script> | 
|  | <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> | 
|  | <script src="https://www.eclipse.org/elk/js/prism.js"></script> | 
|  |  | 
|  |  | 
|  | <script>$(function() { $('table').addClass('table'); })</script> | 
|  | </body> | 
|  | </html> |