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?

3 comments
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 - https://www.youtube.com/watch?v=KDtxSYey-Eg

The "componentDependencies" sample project (bundled with MPS) illustrates the possibility to create graphical (i.e. diagrammatic) notations with MPS. The feature is described at https://confluence.jetbrains.com/display/MPSD20172/Diagramming+Editor

For learning MPS, I would recommend starting with the Fast Track at https://confluence.jetbrains.com/display/MPSD20172/Fast+Track+to+MPS

Vaclav

 

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?

1
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.

1

Please sign in to leave a comment.