version 2.0.2 (1000 KB) by per isakson
m2uml generates UML class diagrams from m-code


Updated 3 Oct 2020

View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

This version of m2uml is a complete rewrite and it has some new features.

1. m2uml uses a semi-automated method to generate a class diagram for a user-selected set of classes. Reverse engineering of the Matlab code generates the entire inheritance tree structure. The class diagram is displayed in the Matlab web browser.

2. Tooltips: The classes, properties and methods show their H1-lines as tooltip.

3. Hyperlinks: Clicking the name of a class, propety or method opens the file in the Matlab editor and moves the cursor to the specified item. These hyperlinks makes m2uml a navigation tool.

4. The class box has (optionally) an extra compartment for TODO/FIXME annotations. These annotations have tooltips and hyperlinks.

5. New: Nested packages, see image in upper left corner of this page.

6. New: Custom documentation that is integrated in the Help Browser of Matlab.

7. New: Extensive possibilities to customise the class diagram, e.g display input and output arguments of methods

8. New: m2uml comes in a MATLAB toolbox file (mltbx). See the Matlab documentation regarding installing and uninstalling.

m2uml is based on PlantUML and Graphviz. m2uml retrieves information from the Matlab-code and outputs PlantUML-code. PlantUML uses GraphViz and draws the class diagram. To make a local installation of PlantUML see http://plantuml.com/starting.

However, experiments with m2uml don't require installations of PlantUML and Graphviz. PlantUML-code may be created locally and converted to a diagram in the cloud, e.g. at https://www.planttext.com/.

Cite As

per isakson (2022). m2uml (https://www.mathworks.com/matlabcentral/fileexchange/59722-m2uml), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2018b
Compatible with R2017b and later releases
Platform Compatibility
Windows macOS Linux

Inspired by: youemel

Community Treasure Hunt

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

Start Hunting!