Domain Specific Development with Visual Studio DSL Tools

Domain Specific Development with Visual Studio DSL Tools

Paperback Microsoft .net Development

By (author) Steve Cook, By (author) Gareth Jones, By (author) Stuart Kent, By (author) Alan Cameron Wills

$55.77
List price $57.78
You save $2.01 (3%)

Free delivery worldwide
Available
Dispatched in 3 business days
When will my order arrive?

  • Publisher: Addison-Wesley Educational Publishers Inc
  • Format: Paperback | 576 pages
  • Dimensions: 175mm x 221mm x 38mm | 1,066g
  • Publication date: 1 June 2007
  • Publication City/Country: New Jersey
  • ISBN 10: 0321398203
  • ISBN 13: 9780321398208
  • Sales rank: 908,742

Product description

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

Other books in this category

Showing items 1 to 11 of 11
Categories:

Author information

Steve Cook joined Microsoft in 2003 to work on the DSL Tools. Previously, he was a Distinguished Engineer at IBM, which he represented in the UML 2.0 specification process at the OMG. He has worked in the IT industry for 30 years, as architect, programmer, author, consultant, and teacher. He was one of the first people to introduce object-oriented programming into the UK, and has concentrated on languages, methods, and tools for modeling since the early 1990s. Gareth Jones is a lead developer in the DSL Tools team. He's been at Microsoft since 1997 doing various developer jobs such as building bespoke enterprise solutions, running the development of Microsoft UK's small business portal, and managing a consultancy team. Before joining Microsoft, he spent seven years leading development projects in the intelligence analysis, simulation, and aerospace industries. Stuart Kent joined Microsoft in 2003 to work on the DSL Tools. Previously, he was an academic and consultant, with a reputation in modeling and model-driven development. He has over 50 publications to his name and made significant contributions to the UML 2.0 and MOF 2.0 specifications. He is a member of the editorial board of the journal Software and Systems Modeling, and on the steering committee for the MoDELS series of conferences. He has a Ph.D. in computing from Imperial College, London. Alan Cameron Wills was a methodology consultant for almost a decade, and used to get very frustrated when people asked about good tools to support the methods. So he was very pleased to join Microsoft in 2003 to help in the DSL Tools project. He has a Ph.D. in computer science, and was joint creator of the Catalysis approach to component-based development. He gets excited about software factories, photography, sailing, and hills.

Back cover copy

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 "

Table of contents

List of Figures xviiList of Tables xxvForeword xxviiPreface xxixAbout the Authors xxxvChapter 1 Domain-Specific Development 1 Introduction 1 Domain-Specific Development 2 Examples 4 Benefits 10 Languages 11 Textual DSLs 15 Graphical DSLs 20 Aspects of Graphical DSLs 23 DSLs in Visual Studio 27 The Customization Pit 32 UML 34 Summary 40 Chapter 2 Creating and Using DSLs 41 Introduction 41 Process: Incremental Development of DSLs 41 Creating a DSL in Visual Studio 57 A Second DSL: The Project Definition DSL 77 Architecture of the DSL Tools 78 Summary 85 Chapter 3 Domain Model Definition 87 Introduction 87 The Domain Model Designer 88 The In-Memory Store 89 Domain Classes 92 Domain Relationships 98 Generating a Designer with No Shapes 108 The Generated Code 109 More about Domain Classes 115 More about Domain Properties 119 More on Domain Relationships and Roles 122 More about the Store 129 Summary 131 Chapter 4 Presentation 133 Introduction 133 Graphical Notation--Overview 134 Diagram and Editor 137 Shapes 146 Connectors 164 Decorators 167 Customizing the Graphical Notation in Code 173 Explorer 180 Properties Window 188 Summary 195 Chapter 5 Creation, Deletion, and Update Behavior 197 Introduction 197 Element Creation 197 Connection Builders 216 Element Deletion 229 Summary 234 Chapter 6 Serialization 237 Introduction 237 Saving and Loading Models and Diagrams 238 Model XML File Format 239 Elements and Properties 242 Relationships 243 Cross-Referencing 245 Diagram XML File Format 251 Versioning and Migration 254 The XML Schema 257 Customization 258 Generated Serialization Code 264 Summary 273 Chapter 7 Constraints and Validation 275 Introduction 275 Choosing Hard or Soft Constraints? 277 Soft Constraints in the DSL Tools 280 Hard Constraints in the DSL Tools 295 Rules 296 Putting Together Hard and Soft Constraints 299 Summary 307 Chapter 8 Generating Artifacts 309 Introduction 309 Artifact Generation Styles 311 Complex Relationships and Round-Tripping 321 The Templatization Process 325 Syntax of a Text Template 341 Problems of Large-Scale, Real-World Artifact Generation 349 Advanced Customizations 351 Summary 366 Chapter 9 Deploying a DSL 369 Introduction 369 Files Needed to Install a Designer 370 Getting Started--Creating a Setup Project 373 Setup Project Contents 376 Customizing Setup 377 The .dslsetup Format 378 Refreshing the Installation Files 387 Package Load Key 388 Deploying Text Templates for Code Generation 390 Summary 396 Chapter 10 Advanced DSL Customization 397 Introduction 397 Tools for Customization 397 Responding to Changes 402 DSL Shell Architecture 426 How to Add a Menu Command 429 Building the DSL Diagram into Another Interface 435 Implementing Copy and Paste 437 Shape Containers 442 Summary 453 Chapter 11 Designing a DSL 455 Introduction 455 Identifying Variability 456 Developing the Domain Model 460 Developing the Notation 468 Defining Validation Constraints 475 Developing and Evolving the Framework 479 Testing 484 Evolving a DSL 489 What Makes a Good DSL? 491 Summary 498 Conclusion 499 Index 503