Model transformation is a never ending topic, as in this era we deal extensively with Model-Driven-Development. Doing highly performant transformations and meeting the demands of industry (flexibility and maintainability) in an optimized way is essential to avoid frequent changes in architecture of the tools.
In this talk we present the features industry needs for model transformation (m2m, m2t) and we will demonstrate how we have solved them by weaving various technologies (Xtend2, Google Guice, Eclipse extension point mechanisms) in an framework.
For the demo we have considered a real use case of model to model transformation of Eclipse APP4MC model (data model to represent performance aspects of heterogeneous Embedded Systems) to Inchron model (performance simulation model which is open source).
Based on the use case, below demands are presented and we will walk through the audiences w.r.t. how our framework has addressed these demands:
- Requirements for "performance of model transformation frameworks", and how to select the right one
- Support for modularization of the transformation modules
- Caching mechanism across various transformation modules
- How the platform transformation code can be extended based on individual customer demands (without disturbing the architecture of platform transformation modules)
- Challenges in mapping the meta model contents and understanding the semantics
As a "best practice" we would also like to present the "Graphical Visualization Tool - Meta model explorer" (part of eclipse app4mc.tools repo) which is helpful in learning of meta model semantics and visualizing the complex meta models with a minimal effort and navigating across different meta model contents.
Eclipse APP4MC : https://www.eclipse.org/app4mc/
Provides a meta model (AMALTHEA) to represent the contents of embedded multi- and many-core software systems.
Inchron model is used for real-time simulation, analysis and in-depth forecast of embedded software's dynamic performance.