UMLG is a UML to java code generator. From class diagrams, persistent java entities are generated. The
entities persist via an embedded
Blueprints graph database. The semantics of a
Property Graph Model is a
natural fit for implementing the rich semantics of UML class diagrams in java.

OCL

UMLG supports OCL (object constraint language).
Constraints, derived properties and
query operations can be fully specified in OCL. For each OCL expression in the model corresponding java
is generated directly
into the owning entity.

Rest Interface and UI

UMLG can optionally generate a rest interface to the application for performing remote crud and query
operations. Utilizing the rest interface a web based ui is provided. From the gui crud and query
operations can be performed. This makes it easy to visualize, use and maintain the application.

Entities

All interactions are fully transactional.

Java entities contain no interceptors or annotations.

Unit tests are easy to write.

Fast start up times regardless of the number of entities.

Short stack, no endless framework code.

Persistent entities that are a joy to work with.

Queries

Queries can be executed in OCL, Gremlin or the
underlying blueprint graph's native query language.

Blueprints

UMLG is based on the pure Blueprints api. As such any
Blueprints enabled graph database will work. The Travis CI test suite currently executes successfully
on Bitsy,
Neo4j and
Titan.