Auto Layout Tool
Modeling operations often perturb a model's layout. Layout readjustment is usually needed, and represents a tedious activity if performed manually. Although achieving a proper layout of a Simulink model is deemed very important, there does not exist a comprehensive commercial automatic layout tool for Simulink models. The Auto Layout Tool resizes models' blocks based on number of inputs and outputs, and organizes the signal lines such that the number of crossings is minimized. Auto Layout Tool can leverage three different layout approaches: 1) "Graphviz", a third-party open source tool for drawing graphs; 2) Matlab’s built-in "GraphPlot" layout capability; 3) an in-house "DepthBased" method. Approaches 1) and 3) can be utilized on any version of Matlab/Simulink, while approach 2) only works on R2015b+.
• For installation instructions and instructions on how to use the tool, see Auto-Layout/doc/AutoLayout_UserGuide.pdf.
• This tool relies on our Simulink Utility. Please download it here: https://github.com/McSCert/Simulink-Utility.
For more about the capabilities of the tool and how it can be used in model-based development with Simulink, see the following two papers:
[1] Vera Pantelic, Steven Postma, Mark Lawford, Alexandre Korobkine, Bennett Mackenzie, Jeff Ong, Marc Bender, "A Toolset for Simulink: Improving Software Engineering Practices in Development with Simulink," In Proceedings of 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2015), SCITEPRESS, 2015, 50-61. DOI: https://doi.org/10.5220/0005236100500061 (Best Paper Award)
[2] Vera Pantelic, Steven Postma, Mark Lawford, Monika Jaskolka, Bennett Mackenzie, Alexandre Korobkine, Marc Bender, Jeff Ong, Gordon Marks, Alan Wassyng, “Software engineering practices and Simulink: bridging the gap,” International Journal on Software Tools for Technology Transfer (STTT), 2017, 95–117. DOI: https://doi.org/10.1007/s10009-017-0450-9
Cite As
McSCert (2024). Auto Layout Tool (https://github.com/McSCert/Auto-Layout/releases/tag/v2.3), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
src
src/ColumnBasedLayout
src/GeneralPurpose
src/GraphPlot_Portion
src/Graphviz_Portion
src/Lines
example
imgs
Version | Published | Release Notes | |
---|---|---|---|
2.3 | See release notes for this release on GitHub: https://github.com/McSCert/Auto-Layout/releases/tag/v2.3 |
||
2.2.2 | – Minor edits to the Installation instructions in the User Guide.
|
|
|
2.2.1 | – Corrected user guide path in tool description. |
|
|
2.2 | – Fixed various bugs that caused errors or resulted in poorer layouts.
|
|
|
2.1 | Fixed several bugs and improved line routing. |
|
|
2.0.0.0 | The Auto Layout Tool was tested with R2011b, R2016b, and R2017b.
|
||
1.6.1.0 | Updated the "Other Requirements" text. |
||
1.6.0.0 | The tool uses Graphviz, which is a set of tools for drawing graphs (see the user guide for instructions on how to install/setup Graphviz). The Auto Layout Tool has been tested with R2011b, R2015a, R2015b, R2016a, and R2017a. |
||
1.5.1.0 | - Corrected the tool name
|
||
1.5.0.0 | - Fixed issue with the Context Menu |
||
1.4.0.0 | - Addressed issue raised by Ganesh Hegade regarding closing of GUI windows.
|
||
1.3.0.0 | Updating cover image. Removed a "Required Product" from the list.
|
||
1.2.1.0 | Added the function getAllLinePoints.m that was missing in the previous release to further improve upon the layout produced by the tool. |
||
1.2.0.0 | – Improved line routing, sizing of blocks, and spacing between blocks,
|
|
|
1.1.0.0 | Now working on Linux and Mac OS X. |
|
|
1.0.1.0 | Added the cover figure for the tool. |
||
1.0.0.0 |