The Classification Framework for Model Transformation

: Wide usage of model transformation in the Information Systems has resulted in a number of transformation approaches recently. In order to provide an insight into the existing transformation approaches, to draw out the practicability and analyze the strengths and weaknesses of these approaches a multidimensional classification is required. In this paper, a classification framework is proposed which provides a multidimensional, faceted and measure based viewpoint to give a clear and better insight into the existing model transformation approaches.


INTRODUCTION
Various situations are encountered requiring model transformation in the study of Information Systems (IS) evolution. Many a times in IS evolution schemata expressed in one model evolve to those in another model. Several instances of such evolution can be cited e.g. (i) Schema Integration [1][2][3] , (ii) Technology Migration [4] , (iii)moving from one stage in the system life cycle to another [5] , (iv) generation of intermediate models from a PIM to a PSM and (v)in method engineering for the construction of constructional compound methods and transformational atomic and compound methods.
As a result of its wide usage and Object Management Group (OMG)'s initiative for a Model Driven Architecture (MDA) [6] approach for Platform Independent Model (PIM) to PIM and PIM to Platform Specific Model (PSM) transformations, a number of transformation approaches have emerged recently. These model transformation approaches in the context of OMG's call for MDA have been classified by Czarnecki [7] and Sendall et al. [8] . Czarnecki The existing classifications are restrictive as they only consider the transformation approaches in the context of OMG's initiative for a MDA approach. Moreover, each of these classifications provides a one dimensional view of the existing approaches in a given direction only. The other dimensions of viewing the transformation approaches in terms of their application domain and genericity i.e. ability to transform any input model to any output model have not been considered. Further, the aspect of using model transformations in method engineering has also been ignored by the existing classifications. As such, we require a multi dimensional view and a more wholesome classification that integrates the different viewpoints to give a clearer and a better insight into the existing model transformation approaches. Therefore, we propose a new multidimensional classification framework for the model transformation approaches that caters to the requirements stated above.

THE FRAMEWORK OVERVIEW
The framework proposed by us considers the model transformation approaches along three different views or dimensions. Each view allows capturing a particular relevant aspect of each of the transformation approaches. The three view or dimensions are: The transformation technique view: It views the transformation approaches in terms of the technique used by them for the transformation of the input source model into the output target model viewpoints of Czarnecki et al. [7] and Sendall et al. [8] classification of transformation approaches. We have adopted a faceted classification method, similar to the one proposed by Prieto-Diaz et al. [9] and Rolland et al. for classifying reusable components and scenarios respectively [10] . Each dimension or view is multi faceted. Facets are viewpoints suitable for characterizing and classifying a transformation approach as per this view. For example the directionality facet in the transformation technique view is a facet which helps to classify the approaches according to the directionality of the transformation rule used for the transformation purpose.
A facet has a metric attached to it. Each facet is measured by a set of relevant attributes. An attribute may be composed of a single attribute or a group of attributes. For example the rule definition facet is measured by two attributes, namely the representation attribute and the logic attribute. The representation attribute defines the way a transformation rule is represented and the logic attribute defines the logic used for writing the transformation rule. Attribute values are defined within a domain. A domain may be an enumerated type (ENUM{x, y, and z}) or a structured type (SET or TUPLE). For example, the logic attribute is defined on the enumerated type {explicit, implicit} and the representation attribute is made up of a group of attributes variable and pattern where a variable may be defined on an enumerated type {untyped, syntactically typed, semantically typed}and pattern may be defined on a set type {form, syntax, typing}. Thus, a given transformation approach may be positioned within the rule definition facet with the following (attribute; value)or a (group of attribute: attribute, attribute) pairs. For example consider the attribute (Representation: variable, pattern) (Representation: variable ;{ syntactically typed}, pattern: form; {graph}, syntax; {concrete}, typing ;{ syntactically typed}) We will now use the framework for the classification of the following approaches. * Published in literature in context of OMG's initiative for MDA for transforming PIM to a PSM [11] . * Submitted in Response to OMG's QVT RFP [12][13][14] . * In literature other than those in context of OMG's MDA Common Data Model (CDM) [2] , Hyper graph Data Model (HDM) [1] .

THE PROPOSED CLASSIFICATION FRAMEWORK
The new classification for the model transformation approaches defined by us encompasses three viewpoints or dimensions. The three dimensions their facets and attributes are discussed in detail below.

Transformation Technique Dimension
The transformation technique view has grouped the model transformation approaches based on the technique used into sub categories, namely the graphical, relational, structure driven and the hybrid approach. The transformation approaches that are based on the theoretical work on graph transformations are grouped into the graphical approaches. The group of transformation approaches where the main concept is mathematical relations is categorized into relational approaches. The structure driven approaches are those that make use of a hierarchical structure for transformation and the hybrid approaches combine different techniques from the previous categories. The framework captures this variety on the basis of a number of facets. These are: Rule definition: The transformation rule consists of a left hand side (LHS) that accesses the source model and the right hand side(RHS) that accesses the target model. The RHS and the LHS are defined using a mixture of variables and patterns for representation and logic for computations.

Rule application strategy:
A rule needs to be applied to a specific location within its source scope. As there may be more than one match, an application strategy is required. This application strategy could be deterministic like the depth first traversal strategy or non-deterministic, where a rule is applied nondeterministically to a selected location or interactive. The representation facet: The representation provided by the approach depends on the notation used for representing, mapping and transforming the source to the target model. It may vary from textual, visual, graphical to a mix of all these. The value of this attribute is of set type (Notation; {text, visual, graphical}) The language type facet: The language may be of the declarative or imperative type. An imperative or a procedural language specifies explicit sequence of steps to be followed to produce a result whereas a declarative or a relational or functional language describes relationships between variables in terms of functions or rules and the compiler applies a fixed algorithm to these relations to produce a result. The value of the attribute may be either declarative, imperative or a mix of both. (Type; {declarative, imperative}) The language expression set facet: The ability to express transformation depends on the language construct set provided by it. A transformation language proposed by an approach may contain a small set of general language constructs to a large number of specialized language constructs. The attribute is of set type. (Construct Set; {small, large, general, specialized}).

The Generic Dimension
This view focuses on the area of application domain of a transformation approach on the basis of genericity. By genericity we mean the model transformation approaches that can take any source model as input and generate any target model as output. These approaches are grouped together as generic model transformation approaches. Model transformation approaches other than these are all categorized as specific model transformation approaches. The facets in this framework are: The representation facet: The representation of the source and target model is made up of two attributes namely the notation and the construct set attribute. The notation may be visual, text or graphical. Additionally the construct set for representing the source and the target model may be small or large and simple or

Cardinality of transformation:
The cardinality of transformation of the source and the target model sets may be 1:1, 1: n, n: 1, m:n. There are approaches in which multiple source models produce one target model having n: 1 cardinality. There are also approaches where one source model transforms into various target models i.e. the case of 1:n. Similarly, there are those approaches in which many source models are transformed into many target models these have an m: n cardinality. The case of 1:1 is where one source model is transformed into one target model. (Cardinality; ENUM {1:1, 1:n, n:1, m:n}).