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.
Kelly
Please sign in to leave a 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 https://www.jetbrains.com/help/mps/fast-track-to-mps.html and https://info.jetbrains.com/MPS-Introductory-Course.html 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.
Best,
Vaclav
MPS (MathWorks Parallel Server) can be a powerful tool for educational purposes, particularly in STEM fields. It allows students and educators to perform complex computations and simulations by distributing tasks across multiple processors. This is especially useful for subjects like mathematics, physics, engineering, and computer science, where large data sets and computational tasks are common. Along with the students are also able to apply for NSFAS Status Check