using MPS for educational purposes

Dear community members,

I teach domain-specific languages to master students.

So far, I have used Eclipse plugins such as EMF, Epsilon, Sirius, Xtext in my teaching activities.

However, my students struggle with Eclipse.

I heard about MPS at Models2019 conference. I'm evaluating if I switch to MPS.

I have checked some tutorials, however, the following questions remain:

1. Is there a book about MPS? I mean documentation going beyond the user guide.

2. It seems that the editor where the concrete syntax is defined works under the principle of auto-completion, is it possible to "copy&paste" expressions from a place to another?

3. The text generation language server to express model-to-text transformations. It seems that one has to cast every attribute to String in order to get the text serialized in the target, Am I right?

4. How can I trigger the constraints execution?

Thanks for your answers.




1 comment
Comment actions Permalink
Official comment

Dear Kelly,

good to hear about your idea to use MPS for teaching DSLs. There are several universities out there that have gone this route already.

To your questions:

1. No books, but the online tutorials like and explain the basics to a great level of detail.

2. Sure, nodes in projectional editor can be copied in the usual way, it is just that you have to select whole nodes, not just some arbitrary piece of text.

3. I'm not sure I fully understand. The TextGen language allows you to serialize nodes into a textual buffer using the "append" statement. It takes nodes as well as properties or string values as its parameters. No explicit cast to string should be needed.

4. The constraints are triggered by MPS whenever a node needs to be validated, so no explicit action is needed to trigger them.




Please sign in to leave a comment.