DecisionToolkit / dsntk-rs

Decision Toolkit written in Rust
Apache License 2.0
15 stars 0 forks source link

Feature Request: DSL based approach to writing DMN #6

Open magick93 opened 7 months ago

magick93 commented 7 months ago

DMN models provide an excellent way to visual describe decision logic.

However, when it comes to the DX of writing and reviewing changes in common git based workflows, it is not as good as code based approach.

The DMN ecosystem is, in general, lacking a good code first approach to writing DMN models.

The only contender I've found is https://github.com/powerflows/powerflows-dmn. However this has not had any updates for a few years. And, lacks the deliciousness of rust.

I'd be interested in hearing yours, and others, thoughts on this.

dsntk commented 6 months ago

Hi @magick93!

This idea is simply great. I like the concept used in powerflows. Do you have already some vision in what language such a model would be built? Pure Rust? Some dedicated model file? Similar like powerflows in multiple formats? Let me know what you think :-)

dsntk commented 6 months ago

Postponed to near future...

magick93 commented 6 months ago

Glad to hear you like it!

I see DMN (and related standards like BPMN) as an incredibly powerful, well designed, but cumbersome due to the lack of text based authoring

Do you have already some vision in what language such a model would be built? Pure Rust? Some dedicated model file? Similar like powerflows in multiple formats?

To have the most general acceptance I would suggest a json based language. Perhaps this could be consumed (validated and integrated) via a rust based cli utility. This would allow it to be integrated into an IDE too. Perhaps use LSP.

dsntk commented 6 months ago

Ok. I am reopening this issue. Let us work on it.

Vision

The general idea is to create a DSL for text based authoring of DMN models. The output from "compiling/interpreting" such a language would be DMN compliant model, that will be serialized to XML as it states in the DMN specification. Preparing LSP will make IDE integration easier. This way everyone will be able to create/update/govern decision models using just the text editor and Git. There will be no need to use seprcialized XML editor or expensive visual tool for drawing boxes. As DSNTK (in some extent) already allows to export any DMN model to HTML (that can be later converted to PDF) then the visualisation of text-authored DMN model is already there.

@magick93 agreed? Am I missing anything?

magick93 commented 6 months ago

Agree! Sounds great!