EMF: Eclipse Modeling Framework, Second Edition
by Dave Steinberg; Frank Budinsky; Marcelo Paternostro; Ed Merks
Eclipse Plug-ins, Third Edition
by Eric Clayberg; Dan Rubel
Equinox and OSGi: The Power Behind Eclipse
by Jeff McAffer; Paul VanderLei; Simon Archer
Eclipse Plug-ins, Third Edition
by Eric Clayberg; Dan Rubel
Eclipse IDE Pocket Guide
by Ed Burnette
EMF: Eclipse Modeling Framework, Second Edition
by Dave Steinberg; Frank Budinsky; Marcelo Paternostro; Ed Merks
Eclipse, 1st Edition
by Steve Holzner
Equinox and OSGi: The Power Behind Eclipse
by Jeff McAffer; Paul VanderLei; Simon Archer
This is the Safari online edition of the printed book.
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 co-leader 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 start-to-finish 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 to start using them in real-world projects.
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 solution based on Eclipse QVT
Efficiently packaging and deploying DSLs with Eclipse
Complete reference sections for the Graphical Editing Framework (GEF); GMF runtime and tooling; QVT Operational Mapping Language (OML); Xpand, and more
Foreword
Preface
Part I: Introduction
Chapter 1: Introduction
Chapter 2: Modeling Project as a DSL Toolkit
Part II: Developing Domain-Specific Languages
Chapter 3: Developing a DSL Abstract Syntax
Chapter 4: Developing a DSL Graphical Notation
Chapter 5: Developing a DSL Textual Syntax
Chapter 6: Developing Model-to-Model Transformations
Chapter 7: Developing Model-to-Text Transformations
Chapter 8: DSL Packaging and Deployment
Part III: Reference
Chapter 9: Graphical Editing Framework (GEF)
Chapter 10: GMF Runtime
Chapter 11: GMF Tooling
Chapter 12: GMF FAQs
Chapter 13: QVT Operational Mapping Language
Chapter 14: Xpand Language
Part IV: Appendices
Appendix A: GMF Key Bindings
Appendix B: Model-Driven Architecture at Eclipse
References
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 3 Ratings
from a diagram of a domain model to autogenerated code - 2009-03-29
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
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.
This book may not deliver what you want, but its out there - 2009-10-11
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I need to give a bit of balance to the previous reviews. I basically like the book, but it is a mixed bag and could be a lot better in certain areas. If you expect a start to finish tutorial, you will be disappointed because some background material is presented out of order and you really should read some of his cited references beforehand. For example he discusses the dynamic instance capability in EMF using a mindmap DSL, but doesn't introduce the mindmap DSL itself, until a little later. Also, it will help to have some familiarity with EMF as the coverage in chapter 3 can be followed but is a bit thin and EMF and ecore are purposefully not intended to duplicate the EMF book. The book's usefulness to you will depend upon where you are in MDD and how you want to use MDD and DSLs. The eclipse modeling project is and will undergo rapid change and this book appears somewhat rushed and rough in spots. His second edition when it comes out should be really better organizationally as the Eclipse Modeling projects mature. For example,Chapter 5 on Xtext and TCS is basically a mild description with no example content because that area was not mature at publication. The examples in Chapter 14 on the Xpand template language are in my view a bit skimpy and simplistic for folks wanting to do serious scripting. Similarly if you want to learn QVT, section 13.6 on library operations provides syntax but little to no examples, but the discussion in section 13.5.3 on the shorthand notation used in imperative iterate expressions is really helpful in understanding QVT syntax in the examples presented elsewhere in the book--like chapter 6. Therefore to get the most out of this book, you will be hopping around and be doing multiple reads and passes until it makes sense to you. Don't give up. Do buy the book if you're interested in MDD and DSLs. Gronback has done a nice job developing a mindmap and requirements DSLs that he uses in chapter 6 on model to model transformations. Although you'll need to get comfortable with the QVT and OCL, try running the examples yourself--typing them in to get used to the syntax. His view of MDA at Eclipse in Appendix B is spot on accurate, and I hope OMG takes his advice. If you are interested in graphical model development for your DSL, then Gronback offers strong support for that in Chapter 4 and Chapters 9 through 12. This is no surprise as Gronback is the project lead for GMF. However if you are interested in model to model transformations, QVT, and model to text, and OCL you will be disappointed if you are a beginner requiring step-by-step explanations of the QVT code. Also, don't give up when you reach section 3.2.4 on applying OCL. If you're new to OCL and ecore Eannotations, this will be a rough spot. Finally if you're put off by the price, I'd recommend taking a look at downloading all the OpenArchitectureware tutorials. They are a little stale wrt the later Eclipse Modeling releases, but still helpful and free!
A technical title recommended for any advanced computer collection - 2009-07-17
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
ECLIPSE MODELING PROJECT: ACHIEVE BREAKTHROUGH PRODUCTIVITY AND QUALITY WITH MDD AND ECLIPSE-BASED DSLS is for any Java programming library strong in domain-specific languages and software engineering guides. It covers the benefits of a model-based approach and surveys the Eclipse Modeling Project's ability to create new DSLs. An outstanding survey evolves in a technical title recommended for any advanced computer collection.
Top Level Categories:
Programming
Sub-Categories:
Programming > Java
Java > Eclipse
Some information on this page was provided using data from Amazon.com®. View at Amazon >