Auto Layout Tool

Version 2.3 (3.26 MB) by McSCert
The Auto Layout Tool is used to automatically improve the layout of Simulink models.
2.5K Downloads
Updated 22 Jul 2020

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
Created with R2019a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Modeling in Help Center and MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
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.
– This tool does not currently support SimScape blocks. This is now mentioned 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.
– Added new "DepthBased" approach.
– Updated user guide.
– Added new command line options.

2.1

Fixed several bugs and improved line routing.

2.0.0.0

The Auto Layout Tool was tested with R2011b, R2016b, and R2017b.
– The tool can now use Matlab’s built-in layout engine
– Minor improvements have been made to resize blocks
– Annotations are now moved to a consistent location in the resulting model

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
Updating formatting of description.

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.
- Updated the LineToGoto/From tool to the most recent version ("Line to Goto/From Tool" v1.0 on File Exchange)
- Removed unneeded command line output from Flatten Subsystem

1.3.0.0

Updating cover image. Removed a "Required Product" from the list.
Added transformations from a From/Goto connection to a signal line connection (and back), as well as a transformation that replaces a virtual subsystem with its content (subsystem flattening).

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,
– Inputs and outputs are now moved to the left and right of a diagram, respectively, unless this increases the number of line crossings.

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

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.