LEADER 04236nam 22004815 450 001 9910488720403321 005 20250626164337.0 010 $a3-030-73758-6 024 7 $a10.1007/978-3-030-73758-0 035 $a(CKB)5590000000516493 035 $a(MiAaPQ)EBC6676284 035 $a(Au-PeEL)EBL6676284 035 $a(OCoLC)1260345082 035 $a(PPN)258307501 035 $a(DE-He213)978-3-030-73758-0 035 $a(EXLCZ)995590000000516493 100 $a20210624d2021 u| 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aDomain-Specific Languages in Practice $ewith JetBrains MPS /$fedited by Antonio Bucchiarone, Antonio Cicchetti, Federico Ciccozzi, Alfonso Pierantonio 205 $a1st ed. 2021. 210 1$aCham :$cSpringer International Publishing :$cImprint: Springer,$d2021. 215 $a1 online resource (342 pages) 311 08$a3-030-73757-8 320 $aIncludes bibliographical references. 327 $aJetBrains MPS: Why Modern Language Workbenches Matter -- Part I: JetBrains MPS in Industrial Applications -- Use MPS to Unleash the Creativity of Domain Experts: Language Engineering Is a Key Enabler for Bringing Innovation in Industry -- JetBrains MPS as Core DSL Technology for Developing Professional Digital Printers -- A Domain-Specific Language for Payroll Calculations: An Experience Report from DATEV -- FASTEN: An Extensible Platform to Experiment with Rigorous Modeling of Safety-Critical Systems -- Migrating Insurance Calculation Rule Descriptions from Word to MPS -- Part II: JetBrains MPS in Research Projects -- Projecting Textual Languages -- Engineering Gameful Applications with MPS -- Learning Data Analysis with MetaR -- Part III: Teaching and Learning with JetBrains MPS -- Teaching MPS: Experiences from Industry and Academia -- Teaching Language Engineering Using MPS. 330 $aThis 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. 606 $aSoftware engineering 606 $aSoftware Engineering 615 0$aSoftware engineering. 615 14$aSoftware Engineering. 676 $a005.11 702 $aBucchiarone$b Antonio 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 906 $aBOOK 912 $a9910488720403321 996 $aDomain-specific languages in practice$92814490 997 $aUNINA