The MPS Language Workbench

The MPS Language Workbench
Author :
Publisher : Fabien Campagne
Total Pages : 344
Release :
ISBN-10 :
ISBN-13 :
Rating : 4/5 ( Downloads)

Synopsis The MPS Language Workbench by : Fabien Campagne

The MPS Language Workbench, Volume I (third edition). The first volume of the series is both a simple introduction to the JetBrains MPS language workbench and a complete reference manual. The Meta-Programming System (MPS) is a new kind of tool called a language workbench that simply stated makes it easier and more fun to write programs. With traditional programming, it is common to choose one programming language to solve a problem and being limited by this choice. When working with MPS you can use and combine different languages to solve a problem. You can also create simple languages (e.g., Domain Specific Languages) or extend existing ones when the languages available do not exactly meet the evolving needs of the problem at hand. The languages that you create with MPS will integrate nicely with languages developed by others. MPS is open-source and can be obtained from http://jetbrains.com/mps or http://github.com/JetBrains/MPS. This book explains the MPS programming paradigm and gradually introduces the reader to the many features of the MPS platform. This book may yet be the simplest way to discover the MPS language workbench and the powerful new approach to programming that this tool offers. The third edition of this book describes MPS 3.3.

Domain-Specific Languages in Practice

Domain-Specific Languages in Practice
Author :
Publisher : Springer Nature
Total Pages : 336
Release :
ISBN-10 : 9783030737580
ISBN-13 : 3030737586
Rating : 4/5 (80 Downloads)

Synopsis Domain-Specific Languages in Practice by : Antonio Bucchiarone

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.

The MPS Language Workbench

The MPS Language Workbench
Author :
Publisher : Fabien Campagne
Total Pages : 289
Release :
ISBN-10 :
ISBN-13 :
Rating : 4/5 ( Downloads)

Synopsis The MPS Language Workbench by : Fabien Campagne

The MPS Language Workbench, Volume II (first edition). The second volume of the series explains how to customize the JetBrains Meta-Programming System (MPS) platform to better integrate it with the needs of your languages. Volume II continues where Volume I ended and discusses more advanced features of the MPS platform. This book includes a detailed example to illustrate the design and implementation of a custom web aspect. This detailed example illustrates how the advanced features of the MPS platform make it possible to design languages suitable to generate complete applications. The Meta-Programming System (MPS) is a new kind of tool called a Language Workbench that makes it easier and more fun to write programs. With traditional programming, it is common to choose one programming language to solve a problem and being limited by this choice. When working with MPS you can use and combine different languages to solve a problem. You can also create simple languages (e.g., Domain Specific Languages) or extend existing ones when the languages available do not exactly meet the evolving needs of the problem at hand. The languages that you create with MPS will integrate nicely with languages developed by others. MPS is open-source and can be obtained from http://jetbrains.com/mps (or http://github.com/JetBrains/MPS/).

DSL Engineering

DSL Engineering
Author :
Publisher : Createspace Independent Pub
Total Pages : 558
Release :
ISBN-10 : 1481218581
ISBN-13 : 9781481218580
Rating : 4/5 (81 Downloads)

Synopsis DSL Engineering by : Markus Voelter

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

Generic Tools, Specific Languages

Generic Tools, Specific Languages
Author :
Publisher : Createspace Independent Pub
Total Pages : 292
Release :
ISBN-10 : 1500359432
ISBN-13 : 9781500359430
Rating : 4/5 (32 Downloads)

Synopsis Generic Tools, Specific Languages by : Markus Voelter

Generic Tools, Specific Languages (GTSL) is an approach for developing tools and applications in a way that supports easier and more meaningful adaptation to specific domains. To achieve this goal, GTSL generalizes programming language IDEs to domains traditionally not addressed by languages and IDEs. At its core, GTSL represents applications as documents/programs/models expressed with suitable languages. Application functionality is provided through an IDE that is aware of the languages and their semantics. The IDE provides editing support, and also directly integrates domain-specific analyses and execution services. Applications and their languages can be adapted to increasingly specific domains using language engineering; this includes developing incremental extensions to existing languages or creating additional, tightly integrated languages. Language workbenches act as the foundation on which such applications are built. mbeddr is an extensible set of integrated languages for embedded software development built using the Generic Tools, Specific Languages approach.

Generative and Transformational Techniques in Software Engineering IV

Generative and Transformational Techniques in Software Engineering IV
Author :
Publisher : Springer
Total Pages : 458
Release :
ISBN-10 : 9783642359927
ISBN-13 : 3642359922
Rating : 4/5 (27 Downloads)

Synopsis Generative and Transformational Techniques in Software Engineering IV by : Ralf Lämmel

This tutorial volume includes revised and extended lecture notes of six long tutorials, five short tutorials, and one peer-reviewed participant contribution held at the 4th International Summer School on Generative and Transformational Techniques in Software Engineering, GTTSE 2011. The school presents the state of the art in software language engineering and generative and transformational techniques in software engineering with coverage of foundations, methods, tools, and case studies.

Domain-Specific Languages

Domain-Specific Languages
Author :
Publisher : Pearson Education
Total Pages : 796
Release :
ISBN-10 : 9780131392809
ISBN-13 : 0131392808
Rating : 4/5 (09 Downloads)

Synopsis Domain-Specific Languages by : Martin Fowler

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

Model-Driven Software Development

Model-Driven Software Development
Author :
Publisher : John Wiley & Sons
Total Pages : 414
Release :
ISBN-10 : 9781118725764
ISBN-13 : 111872576X
Rating : 4/5 (64 Downloads)

Synopsis Model-Driven Software Development by : Markus Völter

Model-Driven Software Development (MDSD) is currently a highly regarded development paradigm among developers and researchers. With the advent of OMG's MDA and Microsoft's Software Factories, the MDSD approach has moved to the centre of the programmer's attention, becoming the focus of conferences such as OOPSLA, JAOO and OOP. MDSD is about using domain-specific languages to create models that express application structure or behaviour in an efficient and domain-specific way. These models are subsequently transformed into executable code by a sequence of model transformations. This practical guide for software architects and developers is peppered with practical examples and extensive case studies. International experts deliver: * A comprehensive overview of MDSD and how it relates to industry standards such as MDA and Software Factories. * Technical details on meta modeling, DSL construction, model-to-model and model-to-code transformations, and software architecture. * Invaluable insight into the software development process, plus engineering issues such as versioning, testing and product line engineering. * Essential management knowledge covering economic and organizational topics, from a global perspective. Get started and benefit from some practical support along the way!

Software Language Engineering

Software Language Engineering
Author :
Publisher : Springer
Total Pages : 0
Release :
ISBN-10 : 3319112449
ISBN-13 : 9783319112442
Rating : 4/5 (49 Downloads)

Synopsis Software Language Engineering by : Benoit Combemale

This book constitutes the refereed proceedings of the 7th International Conference on Software Language Engineering, SLE 2014, held in Västerås, Sweden, in September 2014. The 19 revised full papers presented together with 1 invited paper were carefully reviewed and selected from 61 initial submissions. The papers observe software languages from different and yet complementary perspectives: programming languages, model driven engineering, domain specific languages, semantic web, and from different technological spaces: context-free grammars, object-oriented modeling frameworks, rich data, structured data, object-oriented programming, functional programming, logic programming, term-rewriting, attribute grammars, algebraic specification, etc.

Windows Assembly Language and Systems Programming

Windows Assembly Language and Systems Programming
Author :
Publisher : CRC Press
Total Pages : 434
Release :
ISBN-10 : 9781482275728
ISBN-13 : 1482275724
Rating : 4/5 (28 Downloads)

Synopsis Windows Assembly Language and Systems Programming by : Barry Kauler

-Access Real mode from Protected mode; Protected mode from Real mode Apply OOP concepts to assembly language programs Interface assembly language programs with high-level languages Achieve direct hardware manipulation and memory access Explore the archite