Software Language Engineering: Creating Domain-Specific Languages Using Metamodels (Paperback)

Anneke Kleppe

  • 出版商: Addison Wesley
  • 出版日期: 2008-12-19
  • 售價: $1,400
  • 貴賓價: 9.5$1,330
  • 語言: 英文
  • 頁數: 240
  • 裝訂: Paperback
  • ISBN: 0321553454
  • ISBN-13: 9780321553454
  • 相關分類: 程式語言軟體工程
  • 立即出貨

買這商品的人也買了...

商品描述

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.

商品描述(中文翻譯)

軟體從業人員正迅速發現在明確定義的問題領域中,特定領域語言(DSLs)的巨大價值。開發人員正在應用DSLs來提高生產力和質量,涵蓋金融、戰鬥模擬、宏腳本、圖像生成等各個領域。然而,迄今為止,很少有實用的資源解釋DSLs的工作原理以及如何構建最佳使用的方法。

《軟體語言工程》填補了這一需求。這本由DSL專家Anneke Kleppe撰寫的綜合指南是成功設計DSL的第一本全面指南。Kleppe系統地介紹和解釋了有效語言規範的每個要素,包括概念的描述、概念的表示方式以及這些概念在問題領域中的意義。Kleppe精心闡述了良好的設計策略,展示如何最大程度地提高所創建語言的靈活性。她還展示了創建與通用語言良好協作並利用其功能的新DSL的強大技術。

這本書完全獨立於工具,可作為使用Microsoft DSL工具、Eclipse建模框架、openArchitectureWare或任何其他DSL工具集的讀者的主要資源。它包含多個示例、一個具體的案例研究以及從Kleppe作為DSL研究人員的前沿工作中獲得的見解和背景資訊。

具體涵蓋的主題包括:

- 發現DSL可以解決的問題類型,以及何時使用它們
- 將DSL與通用語言、框架、API和其他方法進行比較
- 理解語言使用者和工程師的角色和可用工具
- 創建DSL規範的每個組件
- 建模具體和抽象語法
- 理解並描述語言語義
- 基於面向對象的元模型和圖形轉換定義文本和視覺語言
- 使用元模型和相關工具生成語法
- 將面向對象建模與圖論集成
- 為新語言構建代碼生成器
- 支持多語言模型和程序

這本書為軟體工程師提供了創建能夠更快速解決實際問題並具有更高質量代碼的DSL所需的所有指導。