© 2021

Domain-Specific Languages in Practice

with JetBrains MPS

  • Antonio Bucchiarone
  • Antonio Cicchetti
  • Federico Ciccozzi
  • Alfonso Pierantonio


  • Provides an overview of the domain of language workbenches and shows JetBrains MPS as a sample implementation

  • Details several examples for the use of JetBrains MPS in both industrial applications and research projects

  • Includes a section on teaching and learning with MPS that discusses the sensible organization of industrial and academic courses


Table of contents

  1. Front Matter
    Pages i-xii
  2. JetBrains MPS in Industrial Applications

    1. Front Matter
      Pages 23-23
    2. Eugen Schindler, Hristina Moneva, Joost van Pinxten, Louis van Gool, Bart van der Meulen, Niko Stotz et al.
      Pages 53-91
    3. Markus Voelter, Sergej Koščejev, Marcel Riedel, Anna Deitsch, Andreas Hinkelmann
      Pages 93-130
    4. Daniel Ratiu, Arne Nordmann, Peter Munk, Carmen Carlan, Markus Voelter
      Pages 131-164
  3. JetBrains MPS in Research Projects

    1. Front Matter
      Pages 195-195
    2. Mauricio Verano Merino, Jur Bartels, Mark van den Brand, Tijs van der Storm, Eugen Schindler
      Pages 197-225
    3. Antonio Bucchiarone, Antonio Cicchetti, Annapaola Marconi
      Pages 227-258
    4. Manuele Simi
      Pages 259-290
  4. Teaching and Learning with JetBrains MPS

    1. Front Matter
      Pages 291-291
    2. Mikhail Barash, Václav Pech
      Pages 293-313
    3. Andreas Prinz
      Pages 315-336

About this book


This book covers several topics related to domain-specific language (DSL) engineering in general and how they can be handled by means of the JetBrains Meta Programming System (MPS), an open source language workbench developed by JetBrains over the last 15 years.

The book begins with an overview of the domain of language workbenches, which provides perspectives and motivations underpinning the creation of MPS. Moreover, technical details of the language underneath MPS together with the definition of the tool’s main features are discussed. The remaining ten chapters are then organized in three parts, each dedicated to a specific aspect of the topic. Part I “MPS in Industrial Applications” deals with the challenges and inadequacies of general-purpose languages used in companies, as opposed to the reasons why DSLs are essential, together with their benefits and efficiency, and summarizes lessons learnt by using MPS. Part II about “MPS in Research Projects” covers the benefits of text-based languages, the design and development of gamification applications, and research fields with generally low expertise in language engineering. Eventually, Part III focuses on “Teaching and Learning with MPS” by discussing the organization of both commercial and academic courses on MPS.

MPS is used to implement languages for real-world use. Its distinguishing feature is projectional editing, which supports practically unlimited language extension and composition possibilities as well as a flexible mix of a wide range of textual, tabular, mathematical and graphical notations. The number and diversity of the presented use-cases demonstrate the strength and malleability of the DSLs defined using MPS. The selected contributions represent the current state of the art and practice in using JetBrains MPS to implement languages for real-world applications.


Software Engineering Domain Specific Languages (DSLs) Model-Driven Software Development JetBrains System Administration Teaching DSLs

Editors and affiliations

  1. 1.Fondazione Bruno Kessler (FBK) - MoDiSTrentoItaly
  2. 2.School of Innovation, Design and Engineering (IDT)Mälardalen UniversityVästeråsSweden
  3. 3.School of Innovation, Design and Engineering (IDT)Mälardalen UniversityVästeråsSweden
  4. 4.University of L’AquilaL’AquilaItaly

About the editors

Antonio Bucchiarone is a Senior Researcher in the Motivational Digital Systems (MoDiS) unit at Fondazione Bruno Kessler (FBK) in Trento, Italy. His main research interests include: Self-Adaptive (Collective) Systems, Domain Specific Languages for Socio-Technical Systems, Smart Mobility and Multi-Agent based modeling and simulation. He has been actively involved in various European research projects in the fields of Self-Adaptive Socio-Technical Systems, Smart Mobility and Service-Oriented Computing. He was the General Chair of the 12th IEEE International Conference on Self-Adaptive and Self Organizing Systems (SASO 2018) and he is an Associate Editor of the IEEE Transactions on Intelligent Transportation Systems (T-ITS) Journal, the IEEE Software Journal and the IEEE Technology and Society Magazine.

Antonio Cicchetti is Associate Professor at the IDT Department of Mälardalen University, Sweden. His research investigations cope with software engineering of complex/industrial systems, and in particular modelling languages engineering, model transformations, multi-view and multi-paradigm modelling approaches, and integration/co-evolution/synchronization problems. He has (co-)authored more than 100 publications for international journals, conferences, and workshops.

Federico Ciccozzi is Associate Professor at Mälardalen University, Sweden. His research focuses on the definition of meta-models, languages and model manipulation frameworks for the model-driven development of component-based embedded real-time systems. It also includes work in the areas of multi-paradigm and blended modelling, model versioning, (co)evolution and synchronization, and the application of model-driven and component-based techniques to complex CPS. He has (co-)authored more than 100 publications in journals and international conferences and workshops in these areas, he is associate editor of IET Software, as well as guest editor of SoSyM and JISA.

Alfonso Pierantonio is Professor at the Università degli Studi dell’Aquila (Italy). His interests are in software engineering, model-driven, and language engineering with special attention to co-evolution techniques, consistency management, and bi-directionality. He has published more than 140 articles in scientific journals and conferences and has been on the organizing committee of several international conferences, including MoDELS and STAF. Alfonso is Editor-in-Chief of the Journal of Object Technology and in the editorial and advisory board of Software and System Modeling, and Science of Computer Programming. He has been PC Chair of ECMFA 2018, General Chair of STAF 2015, and is a Steering Committee member of the ACM/IEEE MoDELS. He is a co-principal investigator of several research and industrial projects.

Bibliographic information

  • Book Title Domain-Specific Languages in Practice
  • Book Subtitle with JetBrains MPS
  • Editors Antonio Bucchiarone
    Antonio Cicchetti
    Federico Ciccozzi
    Alfonso Pierantonio
  • DOI
  • Copyright Information The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature Switzerland AG 2021
  • Publisher Name Springer, Cham
  • eBook Packages Computer Science Computer Science (R0)
  • Hardcover ISBN 978-3-030-73757-3
  • Softcover ISBN 978-3-030-73760-3
  • eBook ISBN 978-3-030-73758-0
  • Edition Number 1
  • Number of Pages XII, 336
  • Number of Illustrations 23 b/w illustrations, 135 illustrations in colour
  • Topics Software Engineering
  • Buy this book on publisher's site