1
|
- Performance and scalability
|
2
|
- Code generation from Rose models
- Test definition code generation from JET Templates
- EMF Reflection API and Metadata definition
- UI implementation
- Generic methods to save and delete object instances.
- Customizations on default implementations
- Use of model aspects and aggregated models
- Load/Unload/Save/Delete mechanisms
- Extendable event loading and object lookup services
- Large resource support and virtual base object (HierarchyEObject)
|
3
|
|
4
|
- Root packages implemented in their own source folder (originally in
separate plugins)
- Allows flexible composition of models
- Requires special cross package association
- Use of proxy objects (for UI) for each heavy objects
- Avoids unnecessary large resources’ loading
- Model aspects and aggregated data
- Allows better model handling
- Used especially for large model instances (cbe, trace packages)
|
5
|
- XMI Resource customization
- Custom Load and Unload
- Custom Save and object/resource Delete
- Custom URIConvertor
- Custom lookup service
- Event loaders
- XML based event loading
- Flexible loaders’ composition
- Model based queries
- Common query model (not dependent on the data store type)
- Query engine for in memory objects
- SQL based query engine using the common query model
|
6
|
|
7
|
- Using proxies and partial model loading, use queries to retrieve the
relevant data only (this is not used yet)
- Use optimized traversal algorithms, use results set from query based
navigation
- Things you may want to avoid for big models (especially for generated
code)
- ECoreUtil.CrossReferencer and subclasses
- EObject.eContents() and related methods
- EMF adapters at each object level
- Default ID based lookup implementation
- The creation of lots of EMF proxy objects (cross resource associations)
|
8
|
- Improve event loader interactions and leverage better the model aspects
(using compressed event formats/structures), use of methods that
directly load the events in the resource (initial work done in Log area
with the CBEtoCSVOutputter)
- Enhance the query support at resource/resource set level
- Database backend for object/resource persistence
- Customize EObject, EList and EMap for better memory utilization (initial
work done in HierarchyEObject and large resource support paging list)
- Improve the scalability of UI in order to handle large model instances
(UI paging, extensive use of queries)
- Improve model versioning and migration support
|