What is M PLUS plug-in?

M PLUS plug-in supports Model Driven Development (MDD)*1 with the modeling tool Astah. The plug-in is free for personal and commercial use.


The plug-in offers four functions:

Code Generation

    • Generates C++ / C# / Crystal / Golang / Java / JavaScript / Kotlin / Python / Ruby / Scala / Swift / TypeScript / Alloy / VDM++ code from UML / SysML model elements. Note that the code generation from SysML model elements is in alpha testing stage.

    • Generates code from static structural elements (such as classes and relationships) in a model.

    • Generates one file from one class/block basically. In Alloy, the plug-in generates one file from one package.

    • Inserts User Code Area *2 into the generated code. The User Code Area is an area enclosed by "˅" and "˄". Handwritten code is allowed only in the User Code Area. The code in the User Code Area remains after re-generation.

    • Supports programming language-specific extensions (e.g., enumerations in Python and decorators in TypeScript) using stereotypes and tagged values.

    • Does not support round-trip engineering or executable UML method.

See the Usage and Tips sections.


Model Preview

See the Usage section.


Diagram Map Creation

    • Shows links between related model elements and diagrams across diagrams.

See the Usage section.


Relationship Matrix Creation

    • Shows relationships between structural elements in a matrix format.

See the Usage section.

*1: Model Driven Development (MDD) is a set of software development approaches based on Model Driven Architecture (MDA).*2: User Code Area is the same as what is called Protected Region or Protected Area.*3: M PLUS plug-in includes PlantUML under the MIT license.*4: If you are on Mac or Linux, you need to manually install Graphviz.