Domain-Specific Languages (DSLs)--languages geared to specific vertical or horizontal areas of interest--are generating growing excitement from software engineers and architects. DSLs bring new agility to the creation and evolution of software, allowing selected design aspects to be expressed in terms much closer to the system requirements than standard program code, significantly reducing development costs in large-scale projects and product lines. In this breakthrough book, four leading experts reveal exactly how DSLs work, and how you can make the most of them in your environment.
With Domain-Specific Development with Visual Studio DSL Tools, you'll begin by mastering DSL concepts and techniques that apply to all platforms. Next, you'll discover how to create and use DSLs with the powerful new Microsoft DSL Tools--a toolset designed by this book's authors. Learn how the DSL Tools integrate into Visual Studio--and how to define DSLs and generate Visual Designers using Visual Studio's built-in modeling technology.
In-depth coverage includes
- Determining whether DSLs will work for you
- Comparing DSLs with other approaches to model-driven development
- Defining, tuning, and evolving DSLs: models, presentation, creation, updates, serialization, constraints, validation, and more
- Creating Visual Designers for new DSLs with little or no coding
- Multiplying productivity by generating application code from your models with easy-to-use text templates
- Automatically generating configuration files, resources, and other artifacts
- Deploying Visual Designers across the organization, quickly and easily
- Customizing Visual Designers for specialized process needs
List of Figures
List of Tables
Foreword
Preface About the Authors Chapter 1 Domain-Specific Development
Chapter 2 Creating and Using DSLs
Chapter 3 Domain Model Definition
Chapter 4 Presentation
Chapter 5 Creation, Deletion, and Update Behavior
Chapter 6 Serialization
Chapter 7 Constraints and Validation
Chapter 8 Generating Artifacts
Chapter 9 Deploying a DSL
Chapter 10 Advanced DSL Customization
Chapter 11 Designing a DSL
Index