
© Copyright IBM Corp. 2004. All rights reserved. iii
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix
The team that wrote this redbook. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ix
Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Part 1. EMF and GEF introduced . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1. Introduction to EMF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 What is the Eclipse Modeling Framework? . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Positioning of the framework. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.3 Where to find documents and resources . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Framework basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Product installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 Getting help in Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Building a simple model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1 Different ways of making the model . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2 The EclipseUML plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.3 Initial project setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.4 Modeling using the EclipseUML plug-in . . . . . . . . . . . . . . . . . . . . . . 12
1.3.5 Modeling using Java interface annotation. . . . . . . . . . . . . . . . . . . . . 22
1.3.6 EMF features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.3.7 EMF model creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3.8 Code generation facility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3.9 Compiling the code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Chapter 2. EMF examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.1 EMF modeling techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.1 Creating new models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.1.2 Migrating existing models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.2 EMF.Edit-based editors and code generation . . . . . . . . . . . . . . . . . . . . . . 45
2.2.1 The generated plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.2.2 Customizing code generation through GenModel properties . . . . . . 47
2.2.3 Modifying the generated code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
评论1