Marktplatzangebote
2 Angebote ab € 17,50 €
  • Broschiertes Buch

The Eclpise Modeling Framework (EMF) is a framework and code generation facility that lets you define a model in any of these forms--Java interfaces, UML diagram, or XML Schema. EMF doesn't require a completely different methodology or any sophisticated modeling tools. All you need to get started with EMF are the Eclipse Java Development Tools. EMF relates modeling concepts directly to their implementations, thereby bringing to Eclipse-and Java developers in general-the benefits of modeling with a low cost of entry. Unlike most tools of this type, EMF is truly integrated with and tuned for…mehr

Produktbeschreibung
The Eclpise Modeling Framework (EMF) is a framework and code generation facility that lets you define a model in any of these forms--Java interfaces, UML diagram, or XML Schema. EMF doesn't require a completely different methodology or any sophisticated modeling tools. All you need to get started with EMF are the Eclipse Java Development Tools. EMF relates modeling concepts directly to their implementations, thereby bringing to Eclipse-and Java developers in general-the benefits of modeling with a low cost of entry. Unlike most tools of this type, EMF is truly integrated with and tuned for efficient programming. It answers the often-asked question, "Should I model or should I program?" with a resounding, "Both." This book, written by the lead architects of EMF, provides both an introduction and tutorial to how to leverage and work with this powerful framework. In addition to the new coverage (see overflow page) this book provides:

· A basic overview of the most important concepts in EMF and modeling.

· Analysis of the most important framework classes and generator patterns including insightful discussions of various design alternatives.

· Examples of many common framework customizations and programming techniques.

Product Description
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.

Backcover
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.

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 39

2.6.3 XML Metadata Interchange 40

2.6.4 Model Driven Architecture 40

Chapter 3 Model Editing with EMF.Edit 41

3.1 Displaying and Editing EMF Models 42

3.1.1 Eclipse UI Basics 43

3.1.2 EMF.Edit Support 45

3.2 Item Providers 46

3.2.1 Content and Label Item Providers 47

3.2.2 Item Property Source 49

3.2.3 Command Factory 50

3.2.4 Change Notification 51

3.2.5 Item Provider Implementation Classes 53

3.3 Command Framework 54

3.3.1 Common Command Framework 55

3.3.2 EMF.Edit Commands 59

3.3.3 EditingDomain 61

3.4 Generating EMF.Edit Code 65

3.4.1 Edit Generation 66

3.4.2 Editor Generation 67

3.4.3 Regenerating EMF.Edit Plug-Ins 68

Chapter 4 Using EMF-A Simple Overview 69

4.1 Example Model: The Primer Purchase Order 70

4.2 Creating EMF Models and Projects 71

4.2.1 Creating an EMF Model from Annotated Java 72

4.2.2 Creating an EMF Project from a Rational Rose Class Model 80

4.2.3 Creating an EMF Project from an XML Schema 86

4.2.4 Creating a Generator Model for an Ecore Model 89

4.2.5 Other Formats 92

4.3 Generating Code 93

4.4 Running the Application 95

4.5 Continuing Development 98

Part II Defining EMF Models 101

Chapter 5 Ecore Modeling Concepts 103

5.1 Ecore Model Uses 104

5.2 The Ecore Kernel 105

5.3 Structural Features 106

5.3.1 Attributes 110

5.3.2 References 111

5.4 Behavioral Features 112

5.5 Classifiers 113

5.5.1 Classes 114

5.5.2 Data Types 116

5.6 Packages and Factories 118

5.7 Annotations 119

5.7.1 Annotations in EMF 121

5.8 Modeled Data Types 123

5.9 Ecore and User Models 125

Chapter 6 UML 127

6.1 UML Packages 128

6.2 UML Specification for Classifiers 128

6.2.1 Classes 129

6.2.2 Enumerated Types 130

6.2.3 Data Types 131

6.3 UML Specification for Attributes 132

6.3.1 Single-Valued Attributes 132

6.3.2 Multi-Valued Attributes 133

6.3.3 Attributes with a Default Value 133

6.4 UML Specification for References 134

6.4.1 Bidirectional, Non-Containment References 135

6.4.2 Containment References 136

6.4.3 Map References 136

6.5 UML Specification for Operations 138

6.6 Documentation  
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.