main page

getting started








RWTH Aachen

Fachgruppe Informatik

The MontiCore Language Workbench

The new MontiCore Unit, JSON, and Sequence Diagram Languages are now available.
The languages feature parser, symbol table, context condition, and further tool implementations.
Visit to check them out.

We're happy to announce that MontiCore 6 is released!
Most important new features:
  • Modularization of basic grammars including configurable type check
  • Generated, adaptable symbol table infrastructure including visitors

[HR17] Katrin Hölldobler, Bernhard Rumpe:
MontiCore 5 Language Workbench. Edition 2017.
Shaker, 2017.

MontiCore is a full-fledged language workbench for the design and realization of textual domain-specific languages (DSL). It enables the research of model-based software development methods employing a variety of DSLs and modeling languages. On top of this, MontiCore and its DSL products are successfully in use in academic and industrial research projects in various domains such as automotive software modeling, cloud architecture and security modeling, model-based robotics, smart energy management, neural network modeling. The design rationale of MontiCore is to provide a powerful and efficient workbench for the agile creation of DSLs along with their accompanying infrastructure such as analyses, transformations, and code generators. MontiCore features a functional and highly extensible architecture which allows to even further customize the DSL development process itself. A couple of noteworthy features of MontiCore are listed below:

  • MontiCore features:
    • Combined specification of concrete and abstract syntax in a context-free grammar
    • Customizable generation of parser and abstract syntax tree
    • Generation of analysis infrastructure including visitors
    • Adaptable grammar processing via interpreted Groovy scripts
    • Configurable logging and process reporting
    • Freemarker Template Engine for easy code generation
  • DSLs created with MontiCore:
    • Unified Modeling Language for Programming (UML/P)
    • MontiArc Architecture Description Language (ADL)
    • clArc - Cloud ADL Family
    • MontiArcAutomaton - ADL with automaton behavior specification
    • Airspace Constraint Specification Language - DSL for the specification of significant air traffic scenarios
    • MontiSecArc - ADL with security constraints
    • Java
    • and many more