CML Reference - Introduction

Within this section, we provide a documentation of all patterns and the according CML language features.

Semantic Model

On the Language Semantics page you find a diagram illustrating the domain model on which the CML language is based. It helps to understand the structure of the language and semantics. The page further describes all implemented semantic rules in a textual form.

Strategic DDD Patterns

The following strategic DDD patterns are supported by CML. For detailed descriptions of the patterns itself we refer to Evan’s book and his DDD reference.

The syntax and semantic rules of all the patterns are documented on their individual pages:

Tactic DDD Patterns

The tactic DDD part of the CML language, meaning all rules inside aggregates, are based on the Sculptor DSL. Thus, we refer to their documentation for details regarding the tactic DDD patterns.

However, the most important tactic DDD patterns we also use for our transformations (Service Cutter integration and plantUML generation) are the following:

  • Module
  • Aggregate (and Aggregate Root)
  • Entity
  • Value Object
  • Domain Event

The following patterns are supported as well, but currently not used in the transformations:

  • Service
  • Repository

Note: The aggregate pattern implementation has been changed and no longer corresponds to Sculptors implementation. Therefore it is documented here.