Eclipse Framework Course Content
Overview
- Model Driven Architecture
- Meta Modeling
- Meta Object Facility (MOF)
- Eclipse
- EMF
Using Ecore
- The ecore editor
- A quick look at XMI & the XML foundations
- Limitations of ecore
TOPIC 1 : A First Case Study
Introduction to case study
- A music library
- The UML Model
- The goals for the application
The Model A First Look
- Creating a model using ecore
- Define the types
- Define the attributes
- Define the associations
Creating 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?
TOPIC 2 : Defining the EMF Models
Overview of EMF Models
- The role of the EMF models
- The language for EMF models
- Limitations of ecore
he EMF Meta model
- What is a meta model?
- Eclipse Meta Object Framework (emof)
Modeling with 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 Software Architect (RSA)
- Why Rational Software Architect?
- The stereotypes
- Creating ecore models from mdl files
Modeling using XML Schema
- XML Schema mappings
- Limitations in mapping
- Creating an XML schema
- From XSD to ecore
TOPIC 3: Running the Default Generator
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
Java Emitter Templates (JET)
- Purpose of JET
- A simple example
JET Concepts
- The JET model
- JET directives
- Scriptlets
- Expressions
JET Case Study - Extending the generated code
- Extending options
- Changing JET?
- Changing generated code?
- Heuristics
- Patterns
- Extending the model
- Extending the edit code
- Extending the editor
Advanced EMF
- Chaining meta models
- Using emof
- Chaining generators
EMF used to define domain specific language
- Graphical Modeling Framework
- EMFText
- XText