AgileUML
AgileUML is a free desktop tool for model-driven engineering that creates models from UML and OCL specifications and generates code from them.
What AgileUML is
AgileUML is a free desktop tool for model-driven engineering that creates models from UML and OCL specifications and generates code from them. It supports graphical or textual class diagrams, use cases, OCL or pseudocode behavior, simple state machines, interaction diagrams, and a subset of SysML requirements models. The maker says it can synthesize code in Java, C++, C, C#, Python, and Swift.
For mobile apps, AgileUML can generate Android code and iOS Swift 5 and SwiftUI views using MVC or MVVM architectures. Its tools also support verification, quality analysis, test-case and test-harness synthesis, and abstraction of Java, C, VB6, COBOL, Python, and JavaScript code into UML/OCL. Model transformations include QVT-R, ATL, and ETL. The maker provides a downloadable executable, language-specific OCL libraries, translation tools, and code generators. It runs from the command line with `java -jar umlrsds.jar`. Agile MDE offers support and training for practitioners and businesses adopting model-driven engineering.
Good
- Free plan
- Generates code in six listed languages
- Supports mobile MVC and MVVM architectures
- Can abstract existing code into UML/OCL
Watch out
- Supports subsets of UML, OCL, and SysML
- Runs from the command line
- Desktop deployment
Who it suits
AgileUML may suit software practitioners, businesses adopting model-driven engineering, and academic researchers. It is relevant to users working with supported UML/OCL models and code generation or reverse engineering.
Verdict
AgileUML brings modeling, code generation, analysis, and reverse engineering into a free desktop tool. Its supported model subsets and command-line runtime are important fit considerations.
The facts
Each one read from AgileUML's own pages, with the date it was checked.
What it does
- Analysis
- The toolset includes verification and quality analysis tools, and the Eclipse project description says specifications can be analysed for technical debt and other flaws.checked 8 Oct 2026
- Analysis and tests
- The tool supports verification and quality analysis and can synthesize test cases and test harnesses.checked 7 Oct 2026
- Audience
- The maker presents AgileUML for software practitioners and businesses adopting model-driven engineering.checked 7 Oct 2026
- Code abstraction
- AgileUML can abstract Java, C, VB6, COBOL, Python and JavaScript code to UML/OCL.checked 8 Oct 2026
- Code generation
- The toolset generates functional code in Java, C++, C, C#, Python and Swift.checked 8 Oct 2026
- Documentation and support
- The maker provides manuals, guides and tutorial videos, and invites software questions by email at [email protected].checked 8 Oct 2026
- Downloads
- The maker provides a downloadable toolset executable, code libraries, analysis and translation tools, and code generators.checked 8 Oct 2026
- Integration libraries
- For mobile app synthesis, the maker lists component libraries for authentication, cloud and local data stores, graphics, and file management.checked 7 Oct 2026
- Intended users
- The Eclipse project page says the tools can be used by academic researchers or industrial practitioners and have been used in education and industrial-scale applications.checked 8 Oct 2026
- License
- The Eclipse project page lists Eclipse Public License 2.0 and notes that some source code and binaries may use different terms specified in file headers or NOTICE files.checked 8 Oct 2026
- Limits
- The maker describes AgileUML as supporting subsets of UML, OCL, interaction diagrams, and SysML requirements models.checked 7 Oct 2026
- Modeling
- It supports graphical or textual UML class diagrams, use cases, OCL or pseudocode behavior, simple state machines, interaction diagrams, and some SysML requirements models.checked 7 Oct 2026
- Model transformations
- The toolset supports model transformations including QVT-R, ATL and ETL.checked 8 Oct 2026
- Purpose
- AgileUML provides modelling and code generation support for a subset of UML and OCL.checked 8 Oct 2026
- Reverse engineering
- AgileUML can abstract Java, C, VB6, COBOL, Python, and JavaScript code into UML/OCL.checked 7 Oct 2026
- Runtime
- The maker's instructions say to run AgileUML from the command line using `java -jar umlrsds.jar`.checked 8 Oct 2026
- Specifications
- It supports UML class diagrams, use cases, OCL or pseudocode behaviour specifications, simple state machines, interaction diagram notation and a subset of SysML requirements models.checked 8 Oct 2026
- Support
- Agile MDE offers support and training for AgileUML and directs software inquiries to [email protected].checked 7 Oct 2026
- Transformations
- It supports model transformation approaches including QVT-R, ATL, and ETL.checked 7 Oct 2026
Where it runs
- App architectures
- Its mobile app synthesis supports MVC and MVVM architectures and component libraries for authentication, cloud and local datastores, graphics and file management.checked 8 Oct 2026
- Mobile apps
- It can synthesize Android app XML UI and Java code, and Swift 5 code and SwiftUI views for iOS.checked 8 Oct 2026
Alternatives to AgileUML
- 1

Sparx Enterprise Architect
Free planWebAPILinuxmacOS7.9$245 one-time - 2
BESSER
Free planOpen sourceWebAPILinuxmacOS7.6Free plan - 3
Visual Paradigm
Free planWeb7.3From $4 a month - 4
UMLet
Free planWebExtensionLinuxmacOS6.9Free plan - 5
StarUML
ExtensionLinuxmacOSWindows6.7$129 one-time - 6
Horusec
Free planWebAPIExtensionLinux6.6Free plan
