Course Objectives
- Expanding knowledge of EMF notions
- Studying Xpand generation
- Using API modeling
- Building these notions into an integrated development workshop
Target Audience
- Software architects
- Advanced developers
Pre-requisites
- Being familiar with EMF and Ecore
- Being able to generate an EMF editor
Course Plan
Introduction
- Generation objectives
- Current tools and solutions
Xpand
- Introduction
- Use cases
- Associated tools
- Project template
XPand Language
- Presentation / Use cases
- Language description
- Model manipulation
- Binding with the metamodel
- Polymorphism management
- Examples
Workflows
- Introduction
- Uses
- Key WorkflowComponents
Xtend
- Introduction
- Binding with Java
- Use in templates
Xpand Generation
- Integration into the Xpand project
- Launch methods (direct, ant, API)
Generation Using Aspect
- Oriented Programming
- Use case
- Description of aspects
- Implementation
- Aspects and polymorphism
Industrialization
- Integrating specific generation
- Project chaining
- Classpath management
- Calling OAW from Java or from ant
- Integrating a development studio