Overview
- Model Driven Architecture
- Meta Modeling
- Meta Object Facility (MOF)
- Eclipse
- EMF
A first CASE study
Introduction to the case study
- A music library
- The UML Model
- The goals for the application
A first look at a model
- Creating a model using ecore
- Defining the types
- Defining the attributes
- Defining the associations
Creating an generator model
- Purpose of the generator model
- Creating the generator model
- Optimization of the generator model
Using the EMF generator
- Generating an application
- What is generated?
- The generated model implementation
- The generated EMF.edit implementation
- The generated EMF.editor implementation
Running the application
- How to run the application
- How to use the application
- What is missing?
Defining EMF Models
Overview
- The role of the EMF models
- The language for EMF models
- Limitations of ecore
The EMF Meta model
- What is a meta model?
- emof
Using Java Interfaces
- Defining a model based on java interfaces
- The @model attribute
- Extensions to the @model
- The @generated attribute
- Other java annotations
- Creating ecore models from annotated
java
Using Rational Rose
- Why Rational Rose?
- The stereotypes
- Creating ecore models from mdl files
Using XML Schema
- XML Schema mappings
- Limitations in mapping
- Creating an XML schema
- From XSD to ecore
|
|
Using
ecore
- The ecore editor
- A quick look at XMI and the XML foundations
- Limitations of ecore
Running the Default Generator
Overview
EMF model generator patterns
- Generating the model
- A class becomes...
- Generated code and inheritance
- An enumeration becomes...
- An attribute becomes...
- A reference becomes...
- An operation becomes...
- Factories
- Packages
- Switch classes
- Adapter factories
EMF edit generator patterns
- Commands
- Label providers
- Factories
EMF editor generator pattern
- Tree editor
- Table tree editor
- Table editor
- Action bar contributor
- Wizards
Java Emitter Templates
Overview
- Purpose of JET
- A simple example
JET Concepts
- The JET model
- JET directives
- Scriptlets
- Expressions
Case Study
Extending the Generated code
- Overview
- Extending options
- Changing JET?
- Changing the generated code?
- Heuristics
- Patterns
- Extending the model
- Extending the edit code
- Extending the editor
Advanced EMF
- Chaining meta models
- Using emof
- Chaining generators
|