
In a previous article I discussed several markup languages, such as Pichr, Mermaid and PlantUML, which let you write diagrams as code, as plain text files.

A documentation how to call the generators can also be found here. The generators can be called from the context menus of the CML editors in VS Code or Eclipse. An example from one of our models ( Lakeside Mutual) If your model contains such state transitions, the generator will also create state diagrams for your aggregates or flows. Your CML models can define the lifecycle of Aggregates either in the Aggregate itself or inside application flow definitions. An example from the insurance scenario is: The generator also creates class diagrams for every bounded context and subdomain. For example, the component diagram for our insurance scenario (example model) looks like this:

The generator creates a component diagram for your Context Map, showing the Bounded Contexts and its relationships. In addition to that, it generates state diagrams to visualize your Aggregate’s lifecycles (in case you modelled the state transitions).

The component diagram illustrates all Bounded Contexts and their relationships, while the class diagrams show the domain models of the Bounded Contexts and Subdomains (if you used the Tactic DDD Syntax to specify them). We offer a transformation from our DSL into a graphical representation of the system this way. If the implemented Subdomains contain Entities, the generator produces class diagrams for these Subdomains as well.

You can generate UML component diagrams representing entire Context Maps, UML class diagrams for each Bounded Context in your model, and UML state diagrams to visualize an Aggregates lifecycle. The PlantUML tool lets you create UML diagrams quickly.
