Skip to content

ZenWave360/dsl-kotlin

Repository files navigation

Work in Progress: Migration to kotlin multiplatform from the original zdl-jvm repository.

ZenWave Domain Model Language

Maven Central build line coverage branch coverage GitHub

ZDL is a Domain Specific Language (DSL) for Event-Driven Architectures. With Domain Driven Design principles built-in, it can be used to map the discoveries of an EventStorming session.

  • Designed to be developer friendly, with a simple and compact syntax.
  • It retains the language of the business process discoveries found in Event-Storming sessions.
  • And because it's machine-friendly it can be parsed and converted into multiple software artifacts like:
    • documentation, drawings, API definitions like OpenAPI and AsyncAPI v2/v3 and multiple backend implementations and its tests.

EventStorming ZDL

Usage:

  • Java:
<dependency>
    <groupId>io.zenwave360.sdk</groupId>
    <artifactId>dsl-kotlin-jvm</artifactId>
    <version>${dsl-kotlin.version}</version>
</dependency>
String zdlContent = "...";
ZdlParser parser = new ZdlParser();
ZdlModel model = parser.parseModel(zdlContent);

NOTE: jvm version includes a working ZdlParser compiled from Kotlin ANTL4 target and also just the Parser/Lexer from the Java target for use by intellij-antlr-adapter.

  • JavaScript/TypeScript:
npm install @zenwave360/dsl
import { parseZdl } from '@zenwave360/dsl';

const zdlContent = "...";
const model = parseZdl(zdlContent);
  • Further reading:

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published