Kurzbeschreibung
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
Synopsis
The first end-to-end guide to Domain-Specific Language (DSL) and Model-Driven Development (MDD) with Eclipse - Shows software developers how to leverage the Eclipse open source platform to gain the state-of-the-art productivity and quality benefits of DSLs and MDD - Thoroughly covers the Eclipse Modeling Framework (EMF), as well as Eclipse projects covered in no other book, including GMF and QVT - Includes comprehensive examples and code readers can learn from -- and apply in their own projects Summary 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, for the first time, there's a pragmatic, start-to-finish guide to creating DSLs and using MDD techniques with Eclipse. In Eclipse Modeling Project, Richard 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 co-leader of Eclipse's Modeling project, and project lead for Eclipse's Graphical Modeling Framework (GMF), 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, including Eclipse Modeling Framework (EMF), Model-to-Text Transformation (M2T), and many more. In particular, he presents new best practices for using the Graphical Modeling Framework (GMF), and neverbefore- published techniques for Model-to-Model Transformation (M2M) utilizing the Eclipse Query/View/Transformation component. Throughout, Gronback introduces key concepts and technologies in the context of a start-to-finish worked example. The result is a book that any software practitioner can use to explore the remarkable potential of DSLs and MDD - and to start using these approaches in real-world projects.
Über den Autor
Richard Gronback is the chief scientist for modeling products at Borland Software Corporation, where he manages both open source and commercial product development. Richard represents Borland on the Eclipse Board of Directors and Planning and Architecture Councils, co-leads the Modeling project Project Management Committee (PMC), and leads the GMF and Amalgam projects. Richard holds a Bachelor of Software Engineering degree in computer science and engineering from the University of Connecticut. He was a reactor operator in the U.S. Navy before entering his current career in software.
Prolog. Abdruck erfolgt mit freundlicher Genehmigung der Rechteinhaber. Alle Rechte vorbehalten.
Eclipse Modeling ProjectPreface
About This Book
This book covers a relatively new collection of technologies that focus on developing domain-specific languages (DSLs) using the Eclipse Modeling Project, offering a first look at a range of Eclipse projects that have not yet been covered in detail within this context. Although the core of these technologies has been available for several years in the Eclipse Modeling Framework (EMF), the diagrams and model transformations are emerging technologies at Eclipse. These, along with the upcoming textual syntax development frameworks, likely will be covered in subsequent editions of this book.
This book delivers a pragmatic introduction to developing a product line using a collection of domain-specific languages. A model-based, largely generative approach is designed to accommodate future adjustments to the source models, templates, and model transformation definitions, to provide customized solutions within the context of the product line. To illustrate this approach, this book presents a set of sample projects used to define a requirements product line.
Audience
This book targets developers and architects who want to learn about developing domain-specific languages using Eclipse Modeling Project technologies. It assumes a basic understanding of the Java programming language, Eclipse plug-in development, and familiarity with the Eclipse Modeling Framework (EMF). This book’s target audience are those interested in learning about the Eclipse Graphical Modeling Framework (GMF), Model-to-Model Transformation (M2M) Query/View/Transformation Operational Mapping Language (QVT OML), and Model-to-Text Transformation (M2T) Xpand project components.
The book is divided into introductory, hands on, and reference sections. Readers who want an overview of the Eclipse Modeling Project and development of DSLs in the context of an Eclipse-based product line should read Part I, “Introduction.” Readers who want to follow along in a tutorial fashion to learn how to use the projects listed earlier should read Part II, “Developing Domain-Specific Languages.” Readers also can reference the sample project solutions in this section to get an overview of the techniques. Part III, “Reference,” serves as a resource for readers who want a deeper understanding of GEF, GMF, Xpand, and QVT OML while they are completing Part II or developing their own DSL-based projects.
Readers who want to experience the benefits of a commercial version of the technologies presented here can download the Borland Together product. There they will find enhanced domain modeling, refactoring, diagram development, transformation authoring and debugging, workflow, and generation capabilities in a well-integrated DSL Toolkit.
Sample Code
The Modeling Amalgamation Project (Amalgam) at Eclipse holds the sample code from this book and is available as sample projects in the DSL Toolkit download. This package also includes all the prerequisites required for developing the sample applications.
Visit the Amalgam project Web site for more information on obtaining the DSL Toolkit: http://www.eclipse.org/modeling/amalgam.
Feedback
The examples in this book are maintained within the Modeling Amalgamation Project at Eclipse. Feedback on their contentand, therefore, this book’s contentmdis welcome on the project newsgroup, http://news.eclipse.modeling.amalgam. Alternatively, feel free to contact the author directly at richard.gronback@gmail.com.
© Copyright Pearson Education. All rights reserved.