EMF: Eclipse Modeling Framework (2nd Edition) and over one million other books are available for Amazon Kindle. Learn more


or
Sign in to turn on 1-Click ordering.
or
Amazon Prime Free Trial required. Sign up when you check out. Learn More
Sell Back Your Copy
For a $9.00 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
EMF: Eclipse Modeling Framework (2nd Edition)
 
 
Start reading EMF: Eclipse Modeling Framework (2nd Edition) on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

EMF: Eclipse Modeling Framework (2nd Edition) [Paperback]

Dave Steinberg (Author), Frank Budinsky (Author), Marcelo Paternostro (Author), Ed Merks (Author)
4.0 out of 5 stars  See all reviews (4 customer reviews)

List Price: $54.99
Price: $40.28 & this item ships for FREE with Super Saver Shipping. Details
You Save: $14.71 (27%)
  Special Offers Available
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it delivered Thursday, February 2? Choose One-Day Shipping at checkout. Details
Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $35.19  
Paperback $40.28  
Sell Back Your Copy for $9.00
Whether you buy it used on Amazon for $19.00 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $9.00.
Used Price$19.00
Trade-in Price$9.00
Price after
Trade-in
$10.00

Book Description

0321331885 978-0321331885 December 26, 2008 2nd Revised

EMF: Eclipse Modeling Framework

 

Dave Steinberg

Frank Budinsky

Marcelo Paternostro

Ed Merks

 

Series Editors: Erich Gamma • Lee Nackman • John Wiegand

 

The Authoritative Guide to EMF Modeling and Code Generation

The Eclipse Modeling Framework enables developers to rapidly construct robust applications based on surprisingly simple models. Now, in this thoroughly revised Second Edition, the project’s developers offer expert guidance, insight, and examples for solving real-world problems with EMF, accelerating development processes, and improving software quality.

 

This edition contains more than 40% new material, plus updates throughout to make it even more useful and practical. The authors illuminate the key concepts and techniques of EMF modeling, analyze EMF’s most important framework classes and generator patterns, guide you through choosing optimal designs, and introduce powerful framework customizations and programming techniques. Coverage includes

 

            •           Defining models with Java, UML, XML Schema, and Ecore

            •           NEW: Using extended Ecore modeling to fully unify XML with UML and Java

            •           Generating high-quality code to implement models and editors

            •           Understanding and customizing generated code

            •           Complete documentation of @model Javadoc tags, generator model properties, and resource save and load options

            •           NEW: Leveraging the latest EMF features, including extended metadata, feature maps, EStore, cross-reference adapters, copiers, and content types

            •           NEW: Chapters on change recording, validation, and utilizing EMF in stand-alone and Eclipse RCP applications

            •           NEW: Modeling generics with Ecore and generating Java 5 code

 

About the Authors

 

Dave Steinberg is a software developer in IBM Software Group. He has worked with Eclipse and modeling technologies since joining the company, and has been a committer on the EMF project since its debut in 2002.

 

Frank Budinsky, a senior architect in IBM Software Group, is an original coinventor of EMF and a founding member of the EMF project at Eclipse. He is currently cochair of the Service Data Objects (SDO) specification technical committee at OASIS and lead SDO architect for IBM.

 

Marcelo Paternostro is a software architect and engineer in IBM Software Group. He is an EMF committer and has been an active contributor to several other Eclipse projects. Before joining IBM, Marcelo managed, designed, and implemented numerous projects using Rational's tools and processes.

 

Ed Merks is the project lead of EMF and a colead of the top-level Modeling project at Eclipse. He holds a Ph.D. in Computing Science and has many years of in-depth experience in the design and implementation of languages, frameworks, and application development environments. Ed works as a software consultant in partnership with itemis AG.

 

 

 


Special Offers and Product Promotions

  • Buy $50 in qualifying physical textbooks, get $5 in Amazon MP3 Credit. Here's how (restrictions apply)

Frequently Bought Together

EMF: Eclipse Modeling Framework (2nd Edition) + Eclipse Plug-ins (3rd Edition) + Eclipse Rich Client Platform (2nd Edition)
Price For All Three: $116.43

Show availability and shipping details

Buy the selected items together
  • In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Eclipse Plug-ins (3rd Edition) $41.85

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Eclipse Rich Client Platform (2nd Edition) $34.30

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details



Editorial Reviews

About the Author

Dave Steinberg is a software developer in IBM Software Group. He has worked with Eclipse and modeling technologies since joining the company, and has been a committer on the EMF project since its debut in 2002.

 

Frank Budinsky, a senior architect in IBM Software Group, is an original coinventor of EMF and a founding member of the EMF project at Eclipse. He is currently cochair of the Service Data Objects (SDO) specification technical committee at OASIS and lead SDO architect for IBM.

 

Marcelo Paternostro is a software architect and engineer in IBM Software Group. He is an EMF committer and has been an active contributor to several other Eclipse projects. Before joining IBM, Marcelo managed, designed, and implemented numerous projects using Rational's tools and processes.

 

Ed Merks is the project lead of EMF and a colead of the top-level Modeling project at Eclipse. He holds a Ph.D. in Computing Science and has many years of in-depth experience in the design and implementation of languages, frameworks, and application development environments. Ed works as a software consultant in partnership with itemis AG.

 

Excerpt. © Reprinted by permission. All rights reserved.

Preface

Preface

This book is a comprehensive introduction and developer’s guide to the Eclipse Modeling Framework (EMF). EMF is a powerful framework and code generation facility for building Java applications based on simple model definitions. Designed to make modeling practical and useful to the mainstream Java programmer, EMF unifies three important technologies: Java, XML, and UML. Models can be defined using a UML modeling tool or an XML Schema, or even by specifying simple annotations on Java interfaces. In this last case, the developer writes just a subset of abstract interfaces that describe the model, and the rest of the code is generated automatically and merged back in.

By relating modeling concepts to the simple Java representations of those concepts, EMF has successfully bridged the gap between modelers and Java programmers. It serves as a gentle introduction to modeling for Java programmers and at the same time as a reinforcement of the modeler’s theory that a great deal of coding can be automated, given an appropriate tool. This book shows how EMF is such a tool. It also shows how using EMF lets you do more with your models that you might have thought possible.

EMF provides a runtime framework that allows any modeled data to be easily validated, persisted, and edited in a UI. Change notification and recording are supported automatically. Metadata is available to enable generic processing of any data using a uniform, reflective API. With all of these features and more, EMF is the foundation for data sharing and fine-grained interoperability among tools and applications in Eclipse, in much the same way that Eclipse is itself a platform for integration at the component and UI level. Numerous organizations are currently using Eclipse, EMF, and the growing number of EMF-based technologies in the Eclipse Modeling Project as the foundation for their own commercial and open source offerings.

This book assumes the reader is familiar with object-oriented programming concepts and specifically with the Java programming language. Previous exposure to modeling technologies such as UML, although helpful, is not required. Part I (Chapters 1 to 4) provides a basic overview of the most important concepts in EMF and modeling. This part teaches someone with basic Java programming skills everything needed to start using EMF to model and build an application. Part II (Chapters 5 to 9) presents a thorough overview of EMF’s metamodel, Ecore, followed by details of the mappings between Ecore and the other supported model-definition forms: UML, annotated Java, and XML Schema. Part III (Chapters 10 to 13) includes detailed analyses of EMF’s code generator patterns and tools, followed by an end-to-end example of a non-trivial EMF application. Finally, Part IV (Chapters 14 to 21) takes a close look at EMF’s runtime framework and discusses important EMF programming techniques.

The bulk of this book is based on EMF 2.2, the last version to support the venerable Java 1.4 language. In version 2.3, EMF adopted key language features of Java 5.0, making it incompatible with previous Java runtimes. EMF 2.2, which was current while much of this book was written, is therefore still popular and an excellent base for learning about the framework. The code in Chapters 1 to 20 is based on that version, but due to EMF’s backward compatibility, all examples run without change on version 2.4, the latest at the time of this book’s release. Chapter 21 focuses specifically on changes in EMF 2.3 and 2.4 and, as such, uses 2.4 as the basis for its examples.

Conventions Used in This Book

The following formatting conventions are used throughout this book:

  • Bold—Used for the names of model elements, such as packages, classes, attributes, and references; and of user-interface elements, including menus, buttons, tabs, and text boxes.
  • Italic—Used for filenames and URIs, as well as for placeholder text that is meant to be replaced by a particular name. New terms are often italicized for emphasis. Also, in Chapter 9’s example mappings, items shown purely to provide context appear in italics.
  • Courier—Used for all code samples and for in-text references to code elements, including the names of Java packages, classes, interfaces, methods, fields, variables, and keywords. Plug-in names, command lines, and elements of non-Java files, including XML, also appear in this font.
  • Courier Bold—Used to emphasize portions of code samples, usually new insertions or changes.
  • Courier Strikethrough—Used in code samples to indicate that text should be deleted.

Online Examples

The Web site for this book is located at http://www.informit.com/title/9780321331885. All of the example models and code used throughout this book can be downloaded from there. The site will also provide an errata list, and other news related to the book.

Eclipse and EMF are required to use the examples. You can download one of several Eclipse packages (we recommend Eclipse Classic) at http://www.eclipse.org/downloads/ and the all-in-one EMF SDK at http://www.eclipse.org/modeling/emf/downloads/.


© Copyright Pearson Education. All rights reserved.


Product Details

  • Paperback: 744 pages
  • Publisher: Addison-Wesley Professional; 2nd Revised edition (December 26, 2008)
  • Language: English
  • ISBN-10: 0321331885
  • ISBN-13: 978-0321331885
  • Product Dimensions: 9.2 x 7 x 1.5 inches
  • Shipping Weight: 2.5 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (4 customer reviews)
  • Amazon Best Sellers Rank: #699,188 in Books (See Top 100 in Books)

 

Customer Reviews

4 Reviews
5 star:
 (1)
4 star:
 (2)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.0 out of 5 stars (4 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

4.0 out of 5 stars Great introduction to EMF, hard to sue as a reference, December 7, 2011
Amazon Verified Purchase(What's this?)
This review is from: EMF: Eclipse Modeling Framework (2nd Edition) (Paperback)
This is an excellent introduction to the Eclipse Modeling framework. The book as good examples and is easy to follow. However, as a reference it is hard to find specific passages. Overall a very good book. Most of the content can be found online if you know where to look.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3.0 out of 5 stars Ok, not much else out there for EMF, too much theory though in this book., December 5, 2011
By 
Zozobra (Santa Fe, NM USA) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: EMF: Eclipse Modeling Framework (2nd Edition) (Paperback)
I have re-read this book a few times and each time I keep coming back to the realization that I wish it was way more practical and less theory and long-winded explanations of why the design of EMF was chosen -- versus "here is how you use it". The book sort of, kind of, just barely, follows one example (a Purchase Order model). A key thing though missing in the book is how to create an EMF model using the simple ecore editor that comes with EMF. Instead the book focuses on annotating existing Java models, XML Schema, and Rose models. Personally, I find the direct editing of an ecore model using the EMF "Sample Ecore Model Editor" much faster and sensible for creating a model from scratch. If you want to really learn the hands on practical way to learn EMF I suggest you *also* look Lars Vogella's online tutorials, and other tutorials you might find online. You will still mostly likely need this book, since there is unfortunately not many other EMF books out there. EMF is an awesome technology and the authors of this book are really the worlds experts on EMF.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 7 people found the following review helpful:
5.0 out of 5 stars A fine survey of how to define models and solve real-world problems using EMF and software quality improvement, April 14, 2009
This review is from: EMF: Eclipse Modeling Framework (2nd Edition) (Paperback)
Libraries catering to Java and Eclipse programmers will find this second updated edition of "EMF: Eclipse Modeling Framework" a fine survey of how to define models and solve real-world problems using EMF and software quality improvement. From understanding and customizing code to using the latest EMF features and understanding the validation process, EMF is a key guide users will find accessible and enlightening, with project developers offering expertise and insights.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews


Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
generator patterns, element declarations, compliance level, edit set, multiple packages, attribute declarations, boolean flags field, containment proxies, feature delegation, purchase order model, extended metadata annotations, unsettable attributes, object creation actions, single details entry, item provider interfaces, generated implementation classes, adapter factory, package registry, item providers, bar contributor, boolean resolve, parser pool, document root class, model importer, element declaration specifies
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Rational Rose, Maple Street, Customizing Views, Running the Generators, String Figure, Generator Model Properties, Outside of the Eclipse, Ecore Modeling Concepts, Exploiting Metadata, Eclipse Modeling Framework, Client Programming Toolbox, Selection Parent List Tree Table Tree, The Validation Framework, Date Figure, Java Source Code, Help Figure, Eclipse Platform, Persistence Enhancements, Editing Multiple Resources Concurrently, Simple Overview, Browse Workspace, The Runtime Framework, Splitting the Model, Rich Client Platform, Cancel Figure
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:

What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject