E-Book Overview
Achieve Breakthrough Productivity and Quality with MDD and Eclipse-Based DSLs Domain-specific languages (DSLs) and model-driven development (MDD) offer software engineers powerful new ways to improve productivity, enhance quality, and insulate systems from rapid technological change. Now, there’s a pragmatic, start-to-finish guide to creating DSLs and using MDD techniques with the powerful open source Eclipse platform. In Eclipse Modeling Project, Richard C. Gronback illuminates both the principles and techniques software professionals need to master, offering insights that will be invaluable to developers working with any tool or platform. As coleader of the Eclipse Modeling Project, Gronback is singularly well-positioned to demonstrate DSLs and MDD at work in Eclipse. Gronback systematically introduces each of the Eclipse technologies that can be used in DSL and MDD development. Throughout, he introduces key concepts and technologies in the context of a complete worked example and presents new best practices and never-before published techniques. He also covers Eclipse projects discussed in no other book, including Query/View/Transformation (QVT) and the Graphical Modeling Framework (GMF)–a project the author personally leads. Eclipse Modeling Project gives software practitioners all the knowledge they need to explore the remarkable potential of DSLs and MDD–and includes coverage of Why a model-based approach enables the rapid customization of high-quality solutions within the product line paradigm How the Eclipse Modeling Project’s capabilities can be used to efficiently create new DSLs Powerful techniques for developing DSL abstract syntax, graphical notation, and textual syntax How to build Model-to-Model (M2M) and Model-to-Text (M2T) transformations–including a powerful new M2M implementation of the Object Management Group’s QVT Operational Mapping Language (OML) Efficiently packaging and deploying DSLs with Eclipse Complete reference sections for the Graphical Editing Framework (GEF), GMF runtime and tooling, QVT OML, Xpand, and more Foreword xix Preface xxi Acknowledgments xxiii About the Author xxv Part I: Introduction 1 Chapter 1: Introduction 3 Chapter 2: Modeling Project as a DSL Toolkit 17 Part II: Developing Domain-Specific Languages 27 Chapter 3: Developing a DSL Abstract Syntax 29 Chapter 4: Developing a DSL Graphical Notation 55 Chapter 5: Developing a DSL Textual Syntax 227 Chapter 6: Developing Model-to-Model Transformations 231 Chapter 7: Developing Model-to-Text Transformations 277 Chapter 8: DSL Packaging and Deployment 303 Part III: Reference 315 Chapter 9: Graphical Editing Framework 317 Chapter 10: Graphical Modeling Framework Runtime 353 Chapter 11: Graphical Modeling Framework Tooling 503 Chapter 12: Graphical Modeling Framework FAQs 545 Chapter 13: Query/View/Transformation Operational Mapping Language 549 Chapter 14: Xpand Template Language 605 Part IV: Appendixes 651 Appendix A: Graphical Modeling Framework Key Bindings 653 Appendix B: Model-Driven Architecture at Eclipse 661 References 671
E-Book Content
ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard C. Gronback Upper Saddle River, NJ • Boston • Indianapolis • San Francisco New York • Toronto • Montreal • London • Munich • Paris • Madrid Cape Town • Sydney • Tokyo • Singapore • Mexico City From the Library of Neil Preston Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. Associate Publisher Mark Taub The author and publisher h