Rebel for StarUML

from the belief that software development should be more about thinking and visualizing than about coding

What is Rebel?

Rebel is a Java code generation plugin for StarUML, the UML modeling tool.

While preserving developer's changes to the generated Java code, it also supports Java Persistence API, Spring and Spring Data.


Our ultimate goal is to put together UML modeling and modern Java ecosystem. To spare you from writing boilerplate code. To automate software development as much as possible. To bring together state of the art tools and practices along with modeling and thinking.

Our current focus is on supporting Spring and Spring Boot application development. Rebel transforms model classes into persistent JPA entities and value-types, or into serializable JSON or XML entities.

Java EE (Jakarta EE) will also be supported when the time comes.

We will aim towards automating both backend and frontend development, by generating React or Angular applications from the UML model.

For full list of features, please see Rebel Plus.

Rebel Features


Why UML?

Isn't it deprecated?

The UML is visual. While it is mapped naturally to object-oriented languages, it still makes it possible to think in an abstract way.

While the UML is quite wide specification, Rebel relies upon only a small part of it: the class diagrams. However, there is a plan to use state machine for modeling business processes, in the future.


The StarUML is ligthweight. What you design is very close to the code that you get.

It is versatile modeling tool. The overall user experience is great and it supports quick-edit: very handy way of editing model elements.

It is cross-platform. You can use it on any operating system.

It is extensible. It is built to support user extensions just like Rebel is.

Why StarUML?

Great work provides a great integrity.