Educational Resources


DSL Engineering – Designing, Implementing and Using Domain-Specific Languages

Markus Voelter

The book explains the fundamental principles of using DSLs as part of the modern development cycle, showcasing JetBrains MPS as one of the tools that aims to make DSL development approachable.

Get the book

The MPS Language Workbench: Volume I

Fabien Campagne

The first volume of the series is both a simple introduction to the JetBrains MPS language workbench and a complete reference manual.

Get the book

The MPS Language Workbench: Volume II

Fabien Campagne

The second volume of the series explains how to customize the MPS platform to better integrate it with the needs of your languages.

Get the book


Why mbeddr uses MPS

Mbeddr explores the benefits of language extension and formal methods for embedded software development.

Watch video tutorial

Additional MPS languages

Learn more

Contributing with MPS

Learn more

Conceptual Overview

  • Language Oriented Programming: The Next Programming Paradigm (Article, 2004)
  • Language Workbenches: The Killer-App for domain-specific Languages? (Article, 2005)
  • The complete guide to domain-specific Languages by Federico Tomassetti (Article, 2017)
  • DSL Adoption with JetBrains MPS (Article, 2009)
  • From Programming To Modeling — and back again (Article, 2010)
  • Relevant conference and journal papers (MPS publications page)

Introductory Tutorials

Advanced Topics

  • Developing Make Facets for MPS (Article)
  • Developing new Tools/Views for MPS (Article)
  • Developing Data Flow Analysis for MPS (Article)
  • Working with MPS and Git (Article)
  • Working with MPS and ant (Article)
  • Language Modularization and Composition with MPS (2011, Paper)

MPS Use Cases and Other Related Reading

  • JetBrains MPS as a Tool for Extending Java (Paper, 2013)
  • Generic Tools, Specific Languages (PhD thesis, 2014)
  • Polyglot software development (PhD thesis, 2014)
  • mbeddr: an Extensible Programming Language and IDE for Embedded Systems (Case study, 2012)
  • Embedded Software Development with Projectional Language Workbenches (Paper, 2010)
  • Composable languages for bioinformatics: the NYoSh experiment (Paper, 2013)
  • YouTrack use of MPS (Case study, 2012)
  • Product Line Engineering with Projectional Language Workbenches (Paper, 2010)
  • DSLs to fully generate business applications - Daniel Stieger (Case study, 2012)
  • mbeddr C documentation and tutorials (Documentation)

Still haven’t found what are looking for? Please contact JetBrains MPS support with your inquiries. We can help!