Domain-Specific Development with Visual Studio DSL Tools

Domain-Specific Development with Visual Studio DSL Tools

2.6 (5 ratings by Goodreads)
By (author)  , By (author)  , By (author)  , By (author) 

Free delivery worldwide

Available. Dispatched from the UK in 4 business days
When will my order arrive?

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 needsList 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
show more

Product details

  • Paperback | 576 pages
  • 175.26 x 220.98 x 38.1mm | 1,065.94g
  • Pearson Education (US)
  • Addison-Wesley Educational Publishers Inc
  • New Jersey, United States
  • English
  • w. figs.
  • 0321398203
  • 9780321398208
  • 1,247,007

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 "
show more

About Steve Cook

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.
show more

Table of contents

List of Figures xviiList of Tables xxvForeword xxviiPreface xxixAbout the Authors xxxvChapter 1 Domain-Specific Development 1 Introduction 1Domain-Specific Development 2Examples 4Benefits 10Languages 11Textual DSLs 15Graphical DSLs 20Aspects 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 41Process: Incremental Development of DSLs 41Creating 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 87The Domain Model Designer 88The In-Memory Store 89Domain Classes 92Domain Relationships 98Generating 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 133Graphical Notation--Overview 134Diagram and Editor 137Shapes 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 197Element Creation 197Connection 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 251Versioning and Migration 254The XML Schema 257Customization 258Generated Serialization Code 264 Summary 273 Chapter 7 Constraints and Validation 275 Introduction 275Choosing Hard or Soft Constraints? 277Soft 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 309Artifact Generation Styles 311Complex 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 397Tools for Customization 397Responding to Changes 402 DSL Shell Architecture 426How to Add a Menu Command 429Building the DSL Diagram into Another Interface 435 Implementing Copy and Paste 437 Shape Containers 442 Summary 453 Chapter 11 Designing a DSL 455 Introduction 455Identifying Variability 456Developing 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
show more

Rating details

5 ratings
2.6 out of 5 stars
5 0% (0)
4 20% (1)
3 40% (2)
2 20% (1)
1 20% (1)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X