Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit
by Richard C. Gronback
EMF: Eclipse Modeling Framework, Second Edition
by Dave Steinberg; Frank Budinsky; Marcelo Paternostro; Ed Merks
SOA Design Patterns
by Thomas Erl
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, Second Edition
by Krzysztof Cwalina; Brad Abrams
Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
by Krzysztof Cwalina; Brad Abrams
Fit for Developing Software: Framework for Integrated Tests
by Rick Mugridge; Ward Cunningham
This is the Safari online edition of the printed book.
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.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 2 Ratings
Reinventing the wheel. As a square. - 2009-06-11
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
The author's reinvent terms that are already known for decades in computer science. Instead of building on top of existing knowledge she tries to create her own concepts but fails. If you are looking for information on Domain-Specific Languages or in programming languages in general stay away from this book.
The first in-depth guide to DSL design, covering language specification, concepts, DSL components and modeling, and much more - 2009-05-16
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
SOFTWARE LANGUAGE ENGINEERING: CREATING DOMAIN-SPECIFIC LANGUAGES USING METAMODELS is written by a DSL consultant and is the first in-depth guide to DSL design, covering language specification, concepts, DSL components and modeling, and much more. A fine survey of DSL frameworks, APIs, and different approaches, this will reach any college-level, advanced library catering to IT programmers.
Top Level Categories:
Software Engineering
Sub-Categories:
Software Engineering > Software Framework
Some information on this page was provided using data from Amazon.com®. View at Amazon >