Is it possible to create a workflow-like DSL with MPS?

As far as I understand JetBrains MPS is a tool for creation of DSLs. The DSL created with this tool can be absolutely different: it may contain some 'new' operators to extend classic Java, for example, or even some new graphical symbol to account for such an extension.

What I want is to create a DSL to account for building workflow.

I have heard Jetbrains professionals have completed this task for YouTrack workflows. May be I can check that somewhere?

May be, there is a tutorial on creating 'visual' DSLs in MPS?

May be, there are some examples of this?

Comment actions Permalink
Official comment

Hi Dmitry,

yes, MPS is definitely capable of this. You may check out a video on the YouTrack workflow editor -

The "componentDependencies" sample project (bundled with MPS) illustrates the possibility to create graphical (i.e. diagrammatic) notations with MPS. The feature is described at

For learning MPS, I would recommend starting with the Fast Track at



Comment actions Permalink

Thank you Vaclav!

I have started the tutorial, now looking at Kaja Project :) 

Could you please clarify two points. 

1. as far as I understand MPS generates Java code from DSL code. Where can I look at the code generated? For example, I want to check Kaja robots code, I mean real Java code to be ran on my machine.

2. Is it possible with MPS generate some other language than Java? For example, I want to 'extend' BRMS Rules, or XML, or something else? What do I need for this?

Comment actions Permalink

Hi Dmitry,

1. Right-click in the editor and choose "Preview generated text"

2. Yes, you can generate code in any language that you have installed in MPS. Java and XML come bundled, C and JavaScript are available as open-source projects.


Please sign in to leave a comment.