Domain-Specific Languages in Practice

Domain-Specific Languages in Practice PDF

Author: Antonio Bucchiarone

Publisher: Springer Nature

Published: 2021-06-24

Total Pages: 336

ISBN-13: 3030737586

DOWNLOAD EBOOK →

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.

Domain-Specific Languages

Domain-Specific Languages PDF

Author: Andrzej Wąsowski

Publisher: Springer Nature

Published: 2023-03-05

Total Pages: 494

ISBN-13: 3031236696

DOWNLOAD EBOOK →

This textbook describes the theory and the pragmatics of using and engineering high-level software languages – also known as modeling or domain-specific languages (DSLs) – for creating quality software. This includes methods, design patterns, guidelines, and testing practices for defining the syntax and the semantics of languages. While remaining close to technology, the book covers multiple paradigms and solutions, avoiding a particular technological silo. It unifies the modeling, the object-oriented, and the functional-programming perspectives on DSLs. The book has 13 chapters. Chapters 1 and 2 introduce and motivate DSLs. Chapter 3 kicks off the DSL engineering lifecycle, describing how to systematically develop abstract syntax by analyzing a domain. Chapter 4 addresses the concrete syntax, including the systematic engineering of context-free grammars. Chapters 5 and 6 cover the static semantics – with basic constraints as a starting point and type systems for advanced DSLs. Chapters 7 (Transformation), 8 (Interpretation), and 9 (Generation) describe different paradigms for designing and implementing the dynamic semantics, while covering testing and other kinds of quality assurance. Chapter 10 is devoted to internal DSLs. Chapters 11 to 13 show the application of DSLs and engage with simpler alternatives to DSLs in a highly distinguished domain: software variability. These chapters introduce the underlying notions of software product lines and feature modeling. The book has been developed based on courses on model-driven software engineering (MDSE) and DSLs held by the authors. It aims at senior undergraduate and junior graduate students in computer science or software engineering. Since it includes examples and lessons from industrial and open-source projects, as well as from industrial research, practitioners will also find it a useful reference. The numerous examples include code in Scala 3, ATL, Alloy, C#, F#, Groovy, Java, JavaScript, Kotlin, OCL, Python, QVT, Ruby, and Xtend. The book contains as many as 277 exercises. The associated code repository facilitates learning and using the examples in a course.

SOFSEM 2017: Theory and Practice of Computer Science

SOFSEM 2017: Theory and Practice of Computer Science PDF

Author: Bernhard Steffen

Publisher: Springer

Published: 2017-01-09

Total Pages: 526

ISBN-13: 3319519638

DOWNLOAD EBOOK →

This book constitutes the refereed proceedings of the 43rd International Conference on Current Trends in Theory and Practice of Computer Science, SOFSEM 2017, held in Limerick, Ireland, in January 2017. The 34 papers presented in this volume were carefully reviewed and selected from 41 submissions. They were organized in topical sections named: foundations in computer science; semantics, specification and compositionality; theory of mobile and distributed systems; verification and automated system analysis; petri nets, games and relaxed data structures; graph theory and scheduling algorithms; quantum and matrix algorithms; planar and molecular graphs; coloring and vertex covers; algorithms for strings and formal languages; data, information and knowledge engineering; and software engineering: methods, tools, applications.

Human-Computer Interaction. User Interface Design, Development and Multimodality

Human-Computer Interaction. User Interface Design, Development and Multimodality PDF

Author: Masaaki Kurosu

Publisher: Springer

Published: 2017-06-28

Total Pages: 734

ISBN-13: 331958071X

DOWNLOAD EBOOK →

The two-volume set LNCS 10271 and 10272 constitutes the refereed proceedings of the 19th International Conference on Human-Computer Interaction, HCII 2017, held in Vancouver, BC, Canada, in July 2017. The total of 1228 papers presented at the 15 colocated HCII 2017 conferences was carefully reviewed and selected from 4340 submissions. The papers address the latest research and development efforts and highlight the human aspects of design and use of computing systems. They cover the entire field of Human-Computer Interaction, addressing major advances in knowledge and effective use of computers in a variety of application areas. The papers included in this volume cover the following topics: HCI theory and education; HCI, innovation and technology acceptance; interaction design and evaluation methods; user interface development; methods, tools, and architectures; multimodal interaction; and emotions in HCI.

Domain-Specific Conceptual Modeling

Domain-Specific Conceptual Modeling PDF

Author: Dimitris Karagiannis

Publisher: Springer Nature

Published: 2022-03-10

Total Pages: 643

ISBN-13: 3030935477

DOWNLOAD EBOOK →

This book demonstrates the significance of domain-specific conceptual modeling through new research and development approaches that are manifested in each of the chapters. They include novel modelling methods and tools that emphasize the recent results accomplished and their adequacy to assess specific aspects of a domain. Each chapter offers detailed instructions on how to build models in a particular domain, such as product-service engineering, enterprise engineering, digital business ecosystems, and enterprise modelling and capability management. All chapters are enriched with case studies, related information, and tool implementations. The tools are based on the ADOxx metamodelling platform and are provided free of charge via OMiLAB. Furthermore, the book emphasizes possible future developments and potential research directions. The collection of works presented here will benefit experts and practitioners from academia and industry alike, including members of the conceptual modeling community as well as lecturers and students.

Practical Aspects of Declarative Languages

Practical Aspects of Declarative Languages PDF

Author: James Cheney

Publisher: Springer Nature

Published: 2022-01-07

Total Pages: 225

ISBN-13: 3030944794

DOWNLOAD EBOOK →

This book constitutes the refereed proceedings of the 24th International Conference on Practical Aspects of Declarative Languages, PADL 2022, held in Philadelphia, PA, USA, during January 17-18, 2022. The 9 full papers and 4 short papers included in this book were carefully reviewed and selected from 22 submissions. They were organized in topical sections as follows: answer set programming; functional programming; languages, methods and tools; and declarative solutions.

Domain-Specific Languages

Domain-Specific Languages PDF

Author: Martin Fowler

Publisher: Pearson Education

Published: 2010-09-23

Total Pages: 796

ISBN-13: 0131392808

DOWNLOAD EBOOK →

When carefully selected and used, Domain-Specific Languages (DSLs) may simplify complex code, promote effective communication with customers, improve productivity, and unclog development bottlenecks. In Domain-Specific Languages, noted software development expert Martin Fowler first provides the information software professionals need to decide if and when to utilize DSLs. Then, where DSLs prove suitable, Fowler presents effective techniques for building them, and guides software engineers in choosing the right approaches for their applications. This book’s techniques may be utilized with most modern object-oriented languages; the author provides numerous examples in Java and C#, as well as selected examples in Ruby. Wherever possible, chapters are organized to be self-standing, and most reference topics are presented in a familiar patterns format. Armed with this wide-ranging book, developers will have the knowledge they need to make important decisions about DSLs—and, where appropriate, gain the significant technical and business benefits they offer. The topics covered include: How DSLs compare to frameworks and libraries, and when those alternatives are sufficient Using parsers and parser generators, and parsing external DSLs Understanding, comparing, and choosing DSL language constructs Determining whether to use code generation, and comparing code generation strategies Previewing new language workbench tools for creating DSLs

Software Language Engineering

Software Language Engineering PDF

Author: Anneke Kleppe

Publisher: Pearson Education

Published: 2008-12-09

Total Pages: 376

ISBN-13: 0321606469

DOWNLOAD EBOOK →

Software practitioners are rapidly discovering the immense value of Domain-Specific Languages (DSLs) in solving problems within clearly definable problem domains. Developers are applying DSLs to improve productivity and quality in a wide range of areas, such as finance, combat simulation, macro scripting, image generation, and more. But until now, there have been few practical resources that explain how DSLs work and how to construct them for optimal use. Software Language Engineering fills that need. Written by expert DSL consultant Anneke Kleppe, this is the first comprehensive guide to successful DSL design. Kleppe systematically introduces and explains every ingredient of an effective language specification, including its description of concepts, how those concepts are denoted, and what those concepts mean in relation to the problem domain. Kleppe carefully illuminates good design strategy, showing how to maximize the flexibility of the languages you create. She also demonstrates powerful techniques for creating new DSLs that cooperate well with general-purpose languages and leverage their power. Completely tool-independent, this book can serve as the primary resource for readers using Microsoft DSL tools, the Eclipse Modeling Framework, openArchitectureWare, or any other DSL toolset. It contains multiple examples, an illustrative running case study, and insights and background information drawn from Kleppe’s leading-edge work as a DSL researcher. Specific topics covered include Discovering the types of problems that DSLs can solve, and when to use them Comparing DSLs with general-purpose languages, frameworks, APIs, and other approaches Understanding the roles and tools available to language users and engineers Creating each component of a DSL specification Modeling both concrete and abstract syntax Understanding and describing language semantics Defining textual and visual languages based on object-oriented metamodeling and graph transformations Using metamodels and associated tools to generate grammars Integrating object-oriented modeling with graph theory Building code generators for new languages Supporting multilanguage models and programs This book provides software engineers with all the guidance they need to create DSLs that solve real problems more rapidly, and with higher-quality code.

Information System Development

Information System Development PDF

Author: María José Escalona

Publisher: Springer

Published: 2014-07-23

Total Pages: 536

ISBN-13: 3319072153

DOWNLOAD EBOOK →

Information System Development—Improving Enterprise Communication are the collected proceedings of the 22nd International Conference on Information Systems Development: Improving Enterprise Communication—ISD 2013 Conference, held in Seville, Spain. It follows in the tradition of previous conferences in the series in exploring the connections between industry, research and education. These proceedings represent ongoing reflections within the academic community on established information systems topics and emerging concepts, approaches and ideas. It is hoped that the papers herein contribute towards disseminating research and improving practice. The conference tracks highlighted at the 22nd International Conference on Information Systems Development (ISD 2013) were: Applications Data and Ontologies End Users Enterprise Evolution Industrial cases in ISD Intelligent Business Process Management Model Driven Engineering in ISD New Technologies Process Management Quality