Home > Store

EMF: Eclipse Modeling Framework, Rough Cuts, 2nd Edition

Rough Cuts

  • Available to Safari Subscribers
  • About Rough Cuts
  • Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.

Not for Sale

Description

  • Copyright 2008
  • Dimensions: 7 X 9-1/4
  • Pages: 744
  • Edition: 2nd
  • Rough Cuts
  • ISBN-10: 0-321-53997-4
  • ISBN-13: 978-0-321-53997-7

This is a working draft of a pre-release book. It is available before the published date as part of the Rough Cuts service.

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

Sample Content

Table of Contents

Foreword by Richard C. Gronback    xix

Foreword by Mike Milinkovich    xxi

Preface    xxiii

Acknowledgments    xxvii

References    xxix

Part I    EMF Overview    1

Chapter 1    Eclipse    3

1.1    The Projects    4

1.1.1    The Eclipse Project    4

1.1.2    The Modeling Project    5

1.1.3    The Tools Project    5

1.1.4    The Technology Project    5

1.1.5    Other Projects    5

1.2    The Eclipse Platform    6

1.2.1    Plug-In Architecture    6

1.2.2    Workspace Resources    7

1.2.3    Platform UI    7

1.2.4    Rich Client Platform    9

1.3    More Information    9

Chapter 2    Introducing EMF    11

2.1    Unifying Java, XML, and UML    12

2.2    Modeling vs. Programming    15

2.3    Defining the Model    16

2.3.1    The Ecore (Meta) Model    17

2.3.2    Creating and Editing the Model    19

2.3.3    XMI Serialization    20

2.3.4    Java Annotations    21

2.3.5    The Ecore “Big Picture”    23

2.4    Generating Code    23

2.4.1    Generated Model Classes    24

2.4.2    Other Generated “Stuff”    26

2.4.3    Regeneration and Merge    27

2.4.4    The Generator Model    28

2.5    The Runtime Framework    29

2.5.1    Notification and Adapters    29

2.5.2    Object Persistence    31

2.5.3    The Reflective EObject API    35

2.5.4    Dynamic EMF    36

2.5.5    Foundation for Data Integration    38

2.6    EMF and Modeling Standards    39

2.6.1    Unified Modeling Language    39

2.6.2    Meta-Object Facility  

Updates

Submit Errata

More Information