I’m a senior researcher in language and systems engineering at the Chair of Software Engineering at RWTH Aachen University., where I develop methods to build, compose, and derive modelling languages. A major outcome of this is the MontiCore language workbench, which I leverage to engineer DSLs for a variety of domains (automotive, avionics, robotics, web systems, etc).
My focus on research is on textual, external DSLs with translational semantics realizations and I’m looking forward solving interesting challenges with you.
Hi Andreas, I would love to learn more about MontiCore and how it compares to other language workbenches such as Xtext. What would you think would be the best use case for using it?
Thanks for you interest in MontiCore. It is, indeed, very similar to Xtext in focusing on textual languages that are defined through context-free grammars and using antlr 4 as well. Where Xtext focuses on language tooling, MontiCore focuses on language modularity. To this end, it adds various kinds of language composition (extension, embedding, aggregation).
The best way to apporach it is playing around with it of course. There is a minimal example at http://www.monticore.de/gettingstarted/ and the 307-page reference manual at http://monticore.de/MontiCore_Reference-Manual.2017.pdf
If you’re at the Modellierung conference by any chance, I’ll give a short tutorial on MontiCore on this Thursday
Hi Andreas, unfortunately I will not be present at the conference, however the fact that MontiCore focuses on modularity seems very interesting! Nowadays I use mostly MPS, where I take modularity for granted, but having something similar for textual languages would be great. We desidered something like this while working on JavaParser to handle optional extensions to Java, different versions of Java and integration of Java in other languages, like Drools