Domain-Specific Development with Visual Studio DSL Tools

Author:   Steve Cook ,  Gareth Jones ,  Stuart Kent ,  Alan Wills
Publisher:   Pearson Education (US)
ISBN:  

9780321398208


Pages:   576
Publication Date:   14 June 2007
Format:   Paperback
Availability:   In Print   Availability explained
This item will be ordered in for you from one of our suppliers. Upon receipt, we will promptly dispatch it out to you. For in store availability, please contact us.

Our Price $145.17 Quantity:  
Add to Cart

Share |

Domain-Specific Development with Visual Studio DSL Tools


Add your own review!

Overview

Full Product Details

Author:   Steve Cook ,  Gareth Jones ,  Stuart Kent ,  Alan Wills
Publisher:   Pearson Education (US)
Imprint:   Addison-Wesley Educational Publishers Inc
Dimensions:   Width: 17.60cm , Height: 3.60cm , Length: 23.20cm
Weight:   1.060kg
ISBN:  

9780321398208


ISBN 10:   0321398203
Pages:   576
Publication Date:   14 June 2007
Audience:   College/higher education ,  Tertiary & Higher Education
Format:   Paperback
Publisher's Status:   Active
Availability:   In Print   Availability explained
This item will be ordered in for you from one of our suppliers. Upon receipt, we will promptly dispatch it out to you. For in store availability, please contact us.

Table of Contents

List of Figures xvii List of Tables xxv Foreword xxvii Preface xxix About the Authors xxxv Chapter 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

Reviews

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.

Tab Content 6

Author Website:  

Customer Reviews

Recent Reviews

No review item found!

Add your own review!

Countries Available

All regions
Latest Reading Guide

MRG2025CC

 

Shopping Cart
Your cart is empty
Shopping cart
Mailing List