Umple is an open source model-oriented development technology for incorporating textual UML constructs in programming languages, code generation or pure UML modelling. It allows developers to embed modelling concepts (e.g. UML associations, state machines), patterns, generation templates, and other abstractions in traditional code, and vice versa. Umple can also be used to create UML class and state diagrams textually.
Umple generates high quality code for Java, C++ and PhP, as well as diagrams, metrics and many other artifacts.
“Umple” derives from “UML Programming Language”, “Simple” and “Ample”.
Umple is available as a Jar file so it can be run from the command line, and as an Eclipse plugin.
Key Features
- Create UML models textually – tools that allow you to edit the model textually (and see changes appear in a UML diagram) or to edit a UML diagram (and see changes appear in the textual code).
- Add UML modeling constructs directly into your programs, when you are programming in Java, PHP, C++ or Ruby.
- Generate high quality code from UML models.
- Incorporates various features not related to UML, such as the Singleton pattern, keys, immutability, mixins and aspect-oriented code injection.
- Fully supports Java, most aspects of PHP, many aspects for C++, and some aspects for Ruby.
- Output languages: Alloy, Cpp, Ecore, GvClassDiagram, GvClassTraitDiagram, GvEntityRelationshipDiagram, GvStateDiagram, Java, Json, NuSMV, Papyrus, Php, RTCpp, Ruby, Scxml, SimpleCpp, SimpleMetrics, Simulate, Sql, StructureDiagram, Test, TextUml, USE, Uigu2, Umlet, Umple, UmpleSelf, Violet, Xmi, Xtext, and Yuml.
- Cross-platform support – runs on Linux, Mac OS X and Windows. It’s a Java application.
Website: cruise.umple.org/umple
Support: Manual, FAQ, Wiki, Mailing List, GitHub
Developer: Cruise Group in the Department of Electrical Engineering and Computer Science, Led by Timothy Lethbridge at University of Ottawa
License: MIT License
Umple is continuously tested and built at the University of Ottawa using CruiseControl.

Umple is written in Java. Learn Java with our recommended free books and free tutorials.
Related Software
| Unified Modeling Language tools | |
|---|---|
| Eclipse Papyrus | Edit models based on UML and related languages |
| PlantUML | Draw UML diagrams from simple textual description |
| Mermaid | Generate diagrams from markdown-like text |
| Umple | Create UML models textually |
| Modelio | UML and BPMN modeling environment |
| Gaphor | Simple UML and SysML modeling tool |
| Umbrello | UML Modeller based on KDE technology |
| UMLet | Java-based UML tool |
| JetUML | Sketch software design ideas with a minimum of fuss |
| Violet | Designed for people who need to produce simple UML diagrams |
| Dia | GTK+ based diagram creation software |
| ArgoUML | UML modeling tool |
| crystal-facet-uml | Desktop UML and SysML modeling application |
| UML Designer | UML tool based on Sirius and Eclipse |
Read our verdict in the software roundup.
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |

