Domain Specific Languages In Practice

Download Domain Specific Languages In Practice PDF/ePub or read online books in Mobi eBooks. Click Download or Read Online button to get Domain Specific Languages In Practice book now. This website allows unlimited access to, at the time of writing, more than 1.5 million titles, including hundreds of thousands of titles in various foreign languages.
Domain-Specific Languages in Practice

Author: Antonio Bucchiarone
language: en
Publisher: Springer Nature
Release Date: 2021-06-24
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.
DSL Engineering

Author: Markus Voelter
language: en
Publisher: Createspace Independent Pub
Release Date: 2013
The definitive resource on domain-specific languages: based on years of real-world experience, relying on modern language workbenches and full of examples. Domain-Specific Languages are programming languages specialized for a particular application domain. By incorporating knowledge about that domain, DSLs can lead to more concise and more analyzable programs, better code quality and increased development speed. This book provides a thorough introduction to DSL, relying on today's state of the art language workbenches. The book has four parts: introduction, DSL design, DSL implementation as well as the role of DSLs in various aspects of software engineering. Part I Introduction: This part introduces DSLs in general and discusses their advantages and drawbacks. It also defines important terms and concepts and introduces the case studies used in the most of the remainder of the book. Part II DSL Design: This part discusses the design of DSLs - independent of implementation techniques. It reviews seven design dimensions, explains a number of reusable language paradigms and points out a number of process-related issues. Part III DSL Implementation: This part provides details about the implementation of DSLs with lots of code. It uses three state-of-the-art but quite different language workbenches: JetBrains MPS, Eclipse Xtext and TU Delft's Spoofax. Part IV DSLs and Software Engineering: This part discusses the use of DSLs for requirements, architecture, implementation and product line engineering, as well as their roles as a developer utility and for implementing business logic. The book is available as a printed version (the one your are looking at) and as a PDF. For details see the book's companion website at http: //dslbook.org
Software Language Engineering

Author: Anneke G. Kleppe
language: en
Publisher: Addison-Wesley Professional
Release Date: 2009
The definitive guide to Domain Specific Languages (DSLs): the newest breakthrough in software engineering productivity and quality. The first comprehensive, tool-independent guide to DSL design. Clearly explains all the complex concepts that DSL creators and users need to understand: syntax, semantics, and much more. For DSL developers in all environments, from advanced software engineering to vertical markets. By a leading expert who has created DSLs as a participant in both UML and OCL design. More and more software engineers are turning to Domain Specific Languages (DSLs) to solve specific types of problems, or to enhance software productivity and quality. This complete guide to DSL design will be invaluable to professionals interested in advanced techniques ranging from model-driven development to software factories - many of whom have no previous experience in creating new languages. Completely tool-independent, this book can serve as a primary resource for readers using Microsoft DSL tools, the Eclipse Modeling Framework, Open Architecture Ware, or any other toolset. Experienced DSL creator and researcher Anneke Kleppe introduces and explains every ingredient of an effective language specification, including its description of concepts, its description of how those concepts are denoted, and its description of the concepts' meaning and relationship to the specific domain. Kleppe carefully illuminates good design strategy, showing how to achieve maximum flexibility. Readers will also learn how to create new languages that cooperate well with other languages, and contain references to elements written in those languages. The book contains multiple examples, as well as a running case study, handy summaries, and references, as well as a glossary and abbreviation list. Sidebars, figures, and cartoons present insights and background knowledge designed to help software engineers create successful DSLs as rapidly as possible.