Pub. Date:
Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit / Edition 1

Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit / Edition 1

by Richard C. Gronback
Current price is , Original price is $54.99. You

Temporarily Out of Stock Online

Please check back later for updated availability.

Product Details

ISBN-13: 9780321534071
Publisher: Addison-Wesley
Publication date: 03/20/2009
Series: Eclipse Series
Edition description: New Edition
Pages: 736
Product dimensions: 7.00(w) x 9.20(h) x 3.60(d)

About the Author

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.

Table of Contents

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


Eclipse Modeling ProjectPrefaceAbout 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.


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) Xpandproject 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:


The examples in this book are maintained within the Modeling Amalgamation Project at Eclipse. Feedback on their content—and, therefore, this book’s contentmdis welcome on the project newsgroup, http://news.eclipse.modeling.amalgam. Alternatively, feel free to contact the author directly at

© Copyright Pearson Education. All rights reserved.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews

Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit 4.9 out of 5 based on 0 ratings. 3 reviews.
Anonymous More than 1 year ago
We keep squil in here. Im still sky
Anonymous More than 1 year ago
Boudville More than 1 year ago
If you use Eclipse, you probably know it as a neat Integrated Development Environment for java, where perhaps you manually write all the java code. This book shows a different take on Eclipse; a much higher level of sophistication. Basically, it shows how to go from a diagram of a set of related classes to autogenerated java code. Developers have put a massive amount of effort into fleshing out this ability; something well documented by the book. The starting diagram is a domain model. It models a scenario that you are interested in. You might think that an alternative approach is to use Backus Naur Formalism to define the same information. But the book deprecates BNF. Decades-long experience with BNF suggests that it lacks expressive power, and that perhaps the pure text nature of a BNF instantiation is too hard to grasp relationships between objects. Instead, the expression of a domain model in terms of what is roughly [or exactly] a UML diagram gives visuals that people can far more easily absorb. What the book has is a set of very detailed tutorials. Each walks through a given example model. Fleshing out how to use Eclipse to make the model. Initially, the book's narrative is at a very abstract level, which may hard for some to follow. But the tutorials help give this substance. Each tutorial is non-trivial, and shows how Eclipse has extensive abilities to help you. In terms of autogeneration, it's not just java code. The book gives examples of autogenerated XML, and in general we see the use of Model to Text transformation templates that spit out text files. One common feature of all of these is the sheer verbosity of the the textual output. Autogeneration saves you labour and reduces the occurrence of simple bugs. Thus Eclipse lets you work as much as possible at a diagrammatic level, which can be more productive.