Domain-Specific Languages in Practice: With Jetbrains Mps

Bucchiarone, Antonio, Cicchetti, Antonio, Ciccozzi, Federico

  • 出版商: Springer
  • 出版日期: 2021-07-29
  • 售價: $5,610
  • 貴賓價: 9.5$5,330
  • 語言: 英文
  • 頁數: 336
  • 裝訂: Hardcover - also called cloth, retail trade, or trade
  • ISBN: 3030737578
  • ISBN-13: 9783030737573
  • 下單後立即進貨 (約1週~2週)



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.


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.