A TemplateBased Model Transformation Approach Using A Simplified Hierarchical Metamodel
Overview
ModelDriven Engineering(MDE) is a modelcentric software engineering approach which aims at improving the quality of and facilitating the development of software artifacts by focusing on the design models instead of code. Its vision is to build an abstract model of a system that we can then transform into more refined models and eventually transform into the system implementation. Although some variants of MDE, especially ModelDriven Architecture(MDA), are already quite advanced and serve as the conceptual foundation for commercial software products, there are many challenges to achieving true ModelDriven Engineering.
Two major challenges that researchers face when attempting to realize the MDE vision are 1)providing precise, analyzable, transformable, and executable models and 2) providing welldefined transformations that support rigorous model evolution, refinement, and code generation. Both of these challenges point to a mutual research topic: metamodeling. Metamodeling is the key technology that ensures precise, analyzable models, which is the basis for the transformation definition. Considering these challenges and their connection to metamodeling, we provide a solution that uses a simplified metamodel as the foundation for building a templatebased model transformation framework. This simplified metamodel is called the Hierarchical Relational Metamodel(HRM). The Hierarchical Relational Metamodel is built upon Zbased ObjectOriented Modeling notation (ZOOM). HRM maintains both a tree structure and the relationships among model elements. The model elements and the tree structure are constructs of the ZOOM modeling language comparable to constructs of a programming language. To capture more complicated modeling language constructs like association, we adopt a mathematical collection to depict the relationships among different constructs.
The design of the Hierarchical Relational Metamodel (HRM) provides us a simplified way to understand and make use of the abstract syntax and semantics of the source models. On top of the HRM, we design a templatebased model transformation framework. The transformation framework provides a simplified way of getting information from the metamodel, makes the template definition more readable, and allows different sets of templates to be provided for model transformation between different target technical platforms.
A transformation tool, the Hierarchical Relational Metamodel Transformation tool(HRMT) that implements this design is developed. Its major components are discussed in this thesis. To demonstrate the ability of this tool, a case study is presented to show how HRMT can transform ZOOM model specifications to applications running on multiplatforms and to show HRM’s support of nonfunctional requirements.
Our Model Transformation Approach: HRMT
Both of the challenges mentioned in Overview section point to a mutual research topic: metamodeling. Metamodeling is the key technology that ensures precise, analyzable models, and it is the very element of metamodeling that is the basis for transformation definition. Considering these challenges and their connection to metamodeling, we provide a solution that uses a simplified metamodel as the foundation for building a templatebased model transformation framework. This simplified metamodel is called the Hierarchical Relational Metamodel(HRM). The Hierarchical Relational Metamodel is built upon Zbased ObjectOriented Modeling notation (ZOOM). HRM maintains both a tree structure and the relationships among model elements. The model elements and the tree structure are constructs of the ZOOM modeling language comparable to constructs of a programming language. To capture more complicated modeling language constructs like association, we adopt a mathematical collection to depict the relationships among different constructs.

Figure 1 shows the basic structure of our Hierarchical Relational Metamodel Transformation(HRMT) framework, . A transformation engine takes the HRM defined source model as input, and use a template comprise of a set of transformation rules to produce output model in a format specified by the templates. In other words, the output from the transformation engine is a transformation of the input model. We regard a model as a set of model elements that are in correspondence with a metamodel element via the instantiation relationship. Metamodel based transformations use only the elements of the metamodels, thus the transformation description is expressed in terms of the two metamodels.
Document
Hongming Liu's Dissertation
Presentation
