Exploring Model-to-Model Transformations for RIA Architectures by means of a Systematic Mapping Study

This study focuses on model-to-model – M2M – transformations, as part of the Model-Driven Development – MDD – approach, for Rich Internet Applications – RIA. The main aim of this study is to identify ﬁelds that require further contributions, and/or research opportunities in the previously mentioned context. We applied mapping studies techniques, since these techniques use the same basic methodology as reviews but are more general and aimed at discovering what the research trends are, allowing to identify gaps in the literature. From an initial set of 132 papers, we selected 30 papers ﬁrst. Then, thanks to experts’ suggestion, we added 3 additional papers. Therefore, we considered 33 research papers. The performed analysis led to various considerations. Among the important ones, we can mention: there are many newly proposed methods, the scarcity of rigorous and formal validation of such methods, the problem of the portability of Platform Independent Models – PIM, and the low number of tools available for MDD.


Introduction and Motivation
Model-Driven Software Development -MDD -is an software engineering discipline that has lately gained lots of attention and has been greatly improved, and it is currently considered as "a paradigm in software development" [1]. Imitating high-level programming languages and inspired in their success, the MDD approach proposes the use of a higher level of abstraction in the specification of both, the problem and the solution, with regard to other traditional methods of software development. The main goal is to obtain code, setting as a starting point the models generated in the design stage [1].
The Model Driven Architecture -MDA, proposed by the Object Management Group -OMG, is currently the most extended proposal for MDD [1]. In MDA, the functionalities of the system are defined first, as Platform Independent Models -PIM. These are translated, by means of M2M transformations, to one or more Platform Specific Models -PSM. Finally, the PSMs are translated into code by means of model-to-text -M2T -transformation techniques [1] [2].
In the past few years, methods have been proposed adding a further level in the process defined by MDA. This new level of abstraction is the Architectural Specific Model -ASM [3], which is an intermediate model between PIM and PSM, and whose final goal is to encapsulate information referred to the system architecture [4]. The motivation for defining this new level of abstraction might be understood by analyzing one of the most popular web architectures: the one related to Rich Internet Applications -RIA.
Nowadays, most of the existing MDD methods have adopted the RIA architecture either by marking their PIM, or by defining new elements in their PIM notations, and in some cases, even by adding new

Research Method
Although a SMS use the same basic methodology as a SLR [13] [14], it is designed to give an overview of a research area through identifying the quantity and type of research and results available within it [15] [16], allowing to identify gaps in the literature. The main difference between SMSs and SLRs is in scope and in the analysis procedures. The scope is often broader in a SMS than in a SLR, and a deeper synthesis is not expected in a SMS [17]. Thus, we performed this SMS by considering the guidelines provided in [8,15,16]. Our study was performed in two stages: planning and conducting. The activities concerning these stages are described in the following sub-sections.

Planning Stage
In this stage, we performed the following activities in order to establish a mapping protocol: (1) establishment of research questions; (2) definition of the search strategy; (3) establishment of selection criteria; (4) definition of the selection procedure; (5) definition of the data extraction strategy; and (6) selection of synthesis methods. Each of them is explained in detail in the following subsections.

Research questions
As already pointed out in the introduction, the reason why we make this SMS is that we need to obtain an overview of the MDD and MDA research areas, especially in regard to proposals and research works in which M2M transformations are performed targeting to RIA architectures. We are interested in the identification of neglected areas of study, unfinished work, and more generally, any chance of research that could eventually be required.
Having this goal in mind, we have raised the research questions that we present in the Table 1. Identify which is the most significant research area and which areas has been briefly studied, exploring basic concepts, gathering knowledge from current practices, advancing the practice through the Design Science.
RQ2: What type of methods were used in the research related to MDD and M2M transformations?
Determine if the proposals in this field of research are practical or basic research, as well as to identify real opportunities for future research.

RQ3:
What is the scope of the proposals in the selected works?
Determine the type of results in each of the works analyzed, for example new proposals, used tools, etc.
RQ4: Which modeling phases are contemplated?
Identify which MDA phases are adopted by each of the analyzed proposals, since some of them comply more strictly with MDA phases, whereas others less strictly, and some even propose new phases.

RQ5:
Does the proposal follow the MDA standard or not?
To determine the level of adoption of the MDA standard vs the level of adoption of the MDD principles.

RQ6:
Does the proposals have tool support? Which is the development stage of these tools?
To identify if the proposals became more than just that, to mean, if there was a tool to test it.

RQ7:
What is the IDE pointed out for the use of the tool proposed?
It is aimed to identify the IDE the proposed tool was developed for.
Questions related to M2M transformations RQ8: What is the level of automation of M2M transformations?
Identify the level of automation of M2M transformations.

RQ9
: Do source and target models belong to the same level of abstraction? Identify and analyze the abstraction level from source and target models of M2M transformations.

RQ10:
What is the modeling language used for source and target models?
Distinguish if the source and target models are written in different modeling languages or not.

RQ11:
What is the relation between the source and target models?
Identify if the target model is a new model or was obtained through a modification of the source model.

RQ12:
What is the relation between the number of source and target models?
Identify if multiple source models and/or multiple target models are allowed.

RQ13:
What is the language used for M2M transformations in the proposals being studied?
Identify the languages used for M2M transformations.

Search strategy
The search strategy was defined considering the issues concerning to the terminology existing in the context of MDD. The terms often vary depending on different factors such as the standards used to define each of the elements involved in the process, legal aspects -patents on more common terms in use, etc.
As an example, the OMG keeps trade mark on MDA, as other terms alike including MDD [1]. Therefore, when the international scientific community refers to ideas related to modeling engineering without focusing exclusively on OMG standards, uses the MDE acronym, which means Model Driven Engineering, as this has not been patented by OMG [1]. Despite the fact that MDE is strictly more general than MDD and MDA, respectively, as depicted in [2], we use this acronym to refer to either of the two.
Other main stream within MDD -the Spaniard scientific community -mainly uses the acronym DSDM -Desarrollo de Software Dirigido por Modelos -instead of MDD, MDA or MDE -considering the last ones as synonyms of MDD. It is well known than an important Anglo stream uses MDSE -Model-Driven Software Engineering -as an alternative acronym for MDE.
Another particular situation is observed with the acronym of M2M transformations. In that sense, some papers directly mention the transformation language involved in the process, ATL -Atlas Transformation Language -or QVT -Query/View/Transformation -, without explicitly referring to M2M. Due to all the exposed, in this SMS we decided to use these three acronyms as synonyms in order to define our search strategy.
Search string. The choice made over the main terms, synonyms, alternative terms or terminology related to main terms is shown in Table 2, and it is based on the reasons exposed previously. The search string are presented in Figure 1. It was defined according to the terms in Table 2 by following the directions below: 1. Main terms join to alternative terms through the logical operator OR. 2. Main terms join to other main terms by using the logical operator AND.
("MDD" OR "DSDM" OR "MDSD" OR "MDE" OR "MDSE" OR "MDA" OR "Model-Driven" OR "Model Driven") AND ("M2M" OR "Model-to-Model" OR "ATL" OR "QVT") AND ("RIA" OR "Rich Internet Applications") Search sources. Continuing with the development of the search strategy, it is important to point out that the search period comprises works published between 2002 -the same year in March, the terminology RIA was first used in a Macromedia document [11] -and 2015. The year in which the terminology RIA was first seen, is considered as the inferior limit since this study takes MDD for the RIA architecture as a focus point.
The digital libraries to be used are five of the most relevant for the context of this study. They have been selected based on the experience reported by Dyba et al. [18] and Petercen et al. [8], and are listed below:

Scopus
The search string was applied in each of the search sources mentioned before, looking up -when the search engine of library allowed it -in tittles and abstracts, and when this was not possible or when this returned few results, considering the whole text.

Criteria for selecting primary studies
To choose the studies, several inclusion and exclusion criteria were taken into consideration -see Table 3. Exclusion criteria (based on full text) 1. Publications in which our search terms are mentioned but they do not constitute the main matter of study -e.g., papers which only mention our search terms as examples or in introductory sentences in the abstract without really addressing it any further. 2. Duplicate reports of the same study in different sources.

Procedure for selecting primary studies
The procedure for the selection of primary studies comprises three stages.
The first stage consists, basically, in the inclusion of all those papers that fulfill the inclusion criteria previously set and that are selected following the search strategy defined.
The second stage consists -considering all the papers obtained in the previous stage -in applying all the exclusion criteria defined for the title and abstract. Should any doubts arise -that is when the title and abstract may not allow a clear exclusion -the paper will not be excluded in this stage.
Same as the previous stage, the third stage takes into consideration the results obtained in the stage before. Here the criteria for exclusion will be applied on the full text of primary studies. After the complete reading of a study, no doubts should be exist about its inclusion or exclusion; however, if any doubts arise, the paper will not be excluded. This is because we consider that an incorrect exclusion will be more harmful than an incorrect inclusion.
The application of inclusion and exclusion criteria was carried out by one of the authors, whereas the others provided input to solve ambiguities during the process. Thus, each article was only reviewed by a single author, which poses a threat to the reliability of the SMS -see also the discussion of validity threats, Section 6. If a very large number of studies is obtained and many of them are clearly identifiable noise the process may be conducted individually [19].

Data extraction strategy
The form for data extraction consists of two parts. The first part aims to extract meta-data from each primary study: title, authors, type of publication, name of the conference/journal, year, etc. The second part aims to extract data about dimensions and categories that we have established in order to classify the selected primary studies and to be able to answer our research questions. This form is available at www.dei.uc.edu.py/proyectos/mddplus/documentos/exploring-m2m-ria-by-sms/.
The extraction and categorization process was carried out by one of the authors, whereas the others provided input to solve ambiguities during the process, and reviewed the extraction and categorization process by tracing back the information in the extraction form to the statements in some papers randomly selected, checking their correctness. Having another author checking the extraction is a common practice in systematic reviews for social science [19].
The scheme defined for work classification was established by taking into consideration each research question (see Table 1) as well as the relevant literature (see Table 4), in order to restrict possible answers to each research question.
In defining possible categories for each of the research questions we realized that some of them are not mutually excluding since, in some cases, the proposals under analysis can be classified in more than one category at the same time. A clear example of this is the levels of abstraction defined by MDA. It is very common, in fact is the norm, that the proposals contemplate more than one phase -do not forget that the definition and transformation of models with different level of abstraction is one of the main pillars of MDD, One to one, One to many, Many to one, Many to many. RQ13: M2M transformation language ATL, QVT or a combination of both, Other language for transformation. and therefore, MDA, the most extended proposal for MDD [1]. Another thing we have been notice is that sometimes the information provided in the papers is so scant that it does not allow to classify the proposal in any of the categories defined for a given research question.
In order to reflect this fact in extraction forms, and to facilitate their understanding, we have defined special categories that have the function of capturing intersections between categories, seeking in this way that categories established are as pure as possible. Thus, returning to the example of MDA phases, instead of just the categories CIM, PIM and PSM, we define the following: CIM; PIM; PSM; CIM and PIM simultaneously; PIM and PSM simultaneously; CIM, PIM and PSM at same time; others -in case that a new phase were proposed; and none, a category that allows us to group proposals that can't be grouped in any of the others -e.g., when information in papers does not allow to identify correctly the phases addressed.

Synthesis methods
First of all, a quantitative synthesis has been performed, considering the number and/or percentage of papers in each dimension/category, using tables and/or figures to present them. The goal is to answer each research question through a one to one mapping between question and dimension. However, we do consider joining of dimensions when appropriate.
Finally, a narrative synthesis has been added. Which is framed in a qualitative synthesis. This narrative synthesis, as mentioned in [14], refers to the making of a narrative -instead of statistical -summary of the results obtained in the primary studies. It is a general framework of narrative descriptions and ordering of primary evidence with comments and interpretations.

Conducting Stage
The application of the revision protocol resulted in the preliminary results that can be observed in Table 5. Between 2002 and 2015, excluding the 3 papers recommended by experts, 132 papers were found applying the search strategy previously defined. The search was performed on titles and abstracts, but when the search sources did not allow such search, or when they returned few results, the search was performed on the full text. From these 132 papers, after verifying that they all fulfill the inclusion criteria, we kept all 132 papers and closed the first stage of the selection procedure of primary studies.
In the second stage, the selection consisted in taking the 132 previously obtained papers and applying, to each of them, the exclusion criteria defined for the title and abstract revision. When finished, 52 papers remained from the previous stage -always excluding the 3 papers suggested by experts.
In the third stage, we applied the exclusion criteria defined for the full text body to these 52 papers, leaving out 22 papers. Thus, by the end of the third stage, from the original list of 132 papers, there were only 30 remaining.
However, a particular situation occurred with 3 proposals that were not detected in the search that we performed, but later were added thanks to experts' suggestion: WebML4RIA [5], OOHDM-RIA [48] and RUX-Method [49]. It seems that none of the mentioned proposals appeared in the search because they do not propose any M2M transformation. However, since they are relevant updated proposals for MDD, we did consider important to include them anyway. After this last manual inclusion the number of papers grew to 33 -see Table 5.
Although the distribution of papers by search sources is striking and denotes a marked trend in favor of IEEE Xplore and Springer Link, similar distributions were observed in other works on related subjects, two examples are [50] and [51].

Results
The global results, based on the number of primary studies classified under each of the possible answerscategories -for the defined research questions, are shown in Table 6, and also, an analysis of the results obtained for each research question are presented in the following sub-sections.

RQ1: What are the research goals related to MDD and M2M transformations?
At the stage of the research topics definition the aim was to determine where lays the research interest about MDD oriented to RIA, and consequently, to find out what areas remain less investigated.
As it is shown in Table 6 and/or Figure 2, most of the research effort is focused in the creation of new proposals. This is even more evident, because 29 of 33 of the selected papers -88% -are categorized in one of next categories: "Propose (15)" and "Evaluate and propose (14)", and propose new methods, most  [5,37,41,45,47] of the time adapting the PIM notation of pre-existent MDD approaches. Only one of the proposals is multi-approach, since it proposes a solution that can be adopted for any MDD approach.
Among the four papers that show improvements -four by adding the two related categories "Improve (3)" and "Evaluate and improve (1)", two of them create tools that are aimed to facilitate and motivate the utilization of the referred proposals. However, the remaining paper proposes to bind two pre-existent MDD approaches in order to unify the best features of both of them.

Figure 2: Percentages for RQ1
It is also important to highlight the papers that focus on proposals evaluation. There are 15 of them by considering simultaneously the categories "Evaluate and improve (1)" and "Evaluate and propose (14)" and they have been categorized this way because they present case studies or experiments as evidence for validating their proposed ideas, and both methods -case studies and experiments -are considered valid for evaluation.

RQ2: What type of methods were used in the research related to MDD and M2M
transformations? Table 6 and Figure 3 present the results related to the validation of the proposals. These methods can be validated or not. The validated proposals correspond to 15 out of 33 papers, as long as the non validated represents 18 out of 33 papers, which means the 45.5% and 54.5% respectively. The validated category includes works that show some kind of experimental evidence about the contributions of their proposal such as, formal experiment, case studies, etc. As it is shown in Figure 3, the non validated example is commonly used, having 12 out of 18 non validated works in this case -we count 12 ex-  Figure 3 it is also possible to notice that 5 papers do not present any validation evidence supporting their contributions, as long as 1 paper shows students tests as validation evidence -proposed like class projects.
The validated category, however, shows validation evidence of the proposed approach -see Figure 3. In this case the most common experimental method in use was the case study, exposed in 14 out of 15 categorized papers. In only 1 of this 15 papers categorized as validated studies, an experiment is observed as a validation method.
As already pointed out in the introduction, by the time this study was made, there were no SMS or SLR detected in the literature. In some point, this fact reinforces the idea of the importance of the present work to be performed.

RQ3: What is the scope of the proposals in the selected works?
After verifying the facts in Table 6 and/or Figure 4, it is easy to conclude that the most common result is the combination of a method and a supporting tool.

3%
Method (9) Tool (4) Method and tool (19) No classification (1) New methods for MDD and RIA appear in 28 of 33 analyzed papers -categories "Method (9)" and "Method and tool (19)", this means the 85% of the total of studies. In 9 of them a new method can be found, in 19 a new method appears along a supporting tool. Finally, 4 papers show new tools only, and 1 could not be categorized from the information provided in the analyzed work. See Figure 4 for the percentage analysis.

RQ4: Which modeling phases are contemplated?
The MDA standard claims the usage -for a proposal -of the CIM, PIM and PSM phases, even though, as it will be observed, this is not usual.
Analyzing the information obtained and shown in Table 6 and Figure 5, it is easy to see that the phases most commonly used are PIM and PSM -28 and 27 appearances respectively, by adding all categories related to some of them. However, if it is taken in consideration in how many papers are both phases used -a mainly important factor considering the implementation of M2M transformations, according to our pretensionsthe number of uses decreases to 24 of 33, then a 73% only.  (2) PIM and PSM (17) CIM PIM and PSM (7) Other (0) None (2) Figure 5: Percentages for RQ4 On the other hand, only 9 out of 33 proposals use the CIM phase -again, by adding all categories related to the CIM. In 2 proposals, CIM and PIM phases are used together, and in 7 more -only the 21.20% -the CIM, PIM and PSM phases are used together. This evidences the lack of proposals that strictly follow the MDA standards. Furthermore, 2 of the analyzed proposals do not consider any of MDA phases, something particularly odd and unexpected to observe.

RQ5: Does the proposal follow the MDA standard or not?
As can see in Table 6 and Figure 6, 15 out of 33 analyzed proposals -45% -can be classified in the pure MDA category. Although in principle this seems a low percentage, the truth is that it constitutes a very good percentage considering that it is a single MDD proposal. In addition, proposals classified as pure MDA are those that explicitly mention they follow this standard. However, given the characteristics of many of the proposals that did not mention follow the MDA standard -18 of 33, we can conclude that, probably, the adoption rate of MDA is much higher, simply not all proposals make an explicit mention of this fact.

RQ6: Does the proposals have tool support? Which is the development stage of these tools?
After analyzing the MDD tools available, and considering that 24.20% of the primary studies do not even mention the development of a tool that supports the proposal, the view is not very optimistic -see Table  6 and/or Figure 7. It can be found that 12.10% presents only a theoretical definition of a tool and a same percentage that shows a partial implementations of a tool, with the strictly necessary to prove the proposed solution. Even though, it is important to point out that these two last cases promise the development of tools in future works.

24.20%
12.10% 12.10% Finally, only 3 out of 33 proposals -that is a 9% -have tools that can be accessed, this is to say, tools that can easily be downloaded and used. Within these last 3, 1 does not have any tutorials, direction guides or any other instructive material -see Table 6. But then, the other 2 have tools that can be used without problems to experience the great power of MDD, and they have enough guides and resources for anyone to use them. These are: WebRatio -made for the "WebML4RIA" approach [5], and MagicUWE -made for the "UWE for RIA" approach [6].

RQ7: What is the IDE pointed out for the use of the tool proposed?
This particular question tries to find out what is the most used IDE in the MDD world. It is important to remind that the definition of powerful tools that support the entire development process is one of the pillars of MDD and one fundamental aspect for its adoption in the industry.
Taking in consideration all the information presented in Table 6, it is evident that most of the tools are developed starting from the Eclipse IDE. Specifically, 18 out of the 24 proposals that provide details about the IDE that is used as a base for the development of tools, use the Eclipse IDE -see Figure 8.

27.30%
Eclipse EMF (18) MagicDraw (2) Other (4) No classification (9) Among the other 6 proposals, 2 adopted the IDE known as MagicDraw as a starting point for the development of their tools, and 4 used other IDEs or developed one from scratch. Besides all of this, 9 proposals remained without classification due to the lack of information regarding IDEs.
In order to facilitate the comprehension about the situation mentioned above, see Figure 8, in which a percentage analysis is presented.

RQ8: What is the level of automation of M2M transformations?
In order to analyze the information referring to the state of automation of the transformations of the selected proposals -data presented in Table 6, only 8 out of 33 proposals presume of having full automation, which means a 24.30% -see Figure 9.

12.10%
Automatic (8) Semi automatic (17) Manual (1) Auto and semi (2) Semi and manual (1) No classification (4) Figure 9: Percentages for RQ8 The other primary studies are classified as follows: 51.60% of them -that is 17 out of 33 -contemplate exclusively semi-automatic M2M transformations; 3% of them -1 out of 33 -use manual M2M transformations; and also 3% -1 out of 33 -combines manual and semi-automatic M2M transformations; in 6% -2 out of 33 -there are a combination between semi-automatic and automatic M2M transformations; and finally, 12.10% -4 out of 33 -could not be categorized from the information provided in the works.

RQ9: Do source and target models belong to the same level of abstraction?
According to the taxonomy proposed in [52], M2M transformations can be classified according to the abstraction level of the source and target models, as vertical or horizontal. A M2M transformation is considered horizontal when the source and target models reside at the same level of abstraction. It will be considered vertical when the source and target models reside at different levels of abstraction.
Following this classification, 5 proposals could be classified as horizontal M2M transformations, meanwhile other 25 were classified as vertical M2M transformations, also taking in consideration in both cases the proposals that fit in both classifications. Figure 10 shows the classification. As it is shown in Figure 10, the combination of the mentioned categories does not match a total of 33 proposals, as some of them -18.20% to be precise -do not allow to identify the type of M2M transformation addressed from the information provided in the respective papers.
The main point to define this research question was to get to know the type of transformations used in each proposal. As can be seen in the Figure 10, most of the proposals analyzed addresses vertical transformations.

RQ10: What is the modeling language used for source and target models?
In [52], a classification of M2M transformations according to the modeling language in which source and target models are expressed, is presented. M2M transformations in which source and target models are expressed in the same modeling languages are known as endogenous, and the M2M transformations in which source and target models are expressed with different modeling languages are known as exogenous.
In Table 6 and Figure 11, following this classification, it is possible to find that 24 proposals use endogenous transformations and only 3 use exogenous ones, none of them was vertical.

18.20%
Endogenous (24) Exogenous (3) No classification (6) Figure 11: Percentages for RQ10 In this particular case, the sum of both classifications is not the total amount of analyzed proposals, that is 33. This is simply because it was not possible to figure out this information in the paper.

RQ11: What is the relation between the source and target models?
According to [53], it is feasible to classify M2M transformations according to the relationship between the source and target models. Basically, these transformations can belong to two types, depending on how the target models are obtained. One option is that the target model can be completely new, and the other is that the target model is creating starting from the source model, by modifying it.
As in Table 6 and Figure 12 can be observed, 24 of the proposals result in completely new target models, and only 3 get target models through a combination of both techniques. It is also possible to observe in both -the table and figure -that 6 proposals could not been classified due to a lack of information regarding this particular question.

RQ12: What is the relation between the number of source and target models?
Another possible classification for M2M transformations, also defined in [52], allows to classify them according to the number of source and target models involved. In this case, there are 4 classifying options; 1 to 1, 1 to *, * to 1, * to *.
After analyzing all the information obtained and exhibited in Table 6, it is easy to notice that most of the proposals adopt M2M transformations where several source and target models are actually involved. Out of 25 proposals, 13 adopt * to * transformations; 3 adopt * to 1 transformations; 5 adopt 1 to * transformations; and 4 adopt 1 to 1 transformations. The percentages can be observed in Figure 13. The reason why all the 33 analyzed proposals were not categorized, is that the information obtained from some papers was not enough to derive clear answers to this question.

RQ13: What is the language used for M2M transformations in the proposals being studied?
If we focus the point of analysis on the M2M transformation languages used in each proposal, it becomes evident the predominance of two M2M transformation languages, which are ATL and QVT. The data shows that ATL and QVT were adopted simultaneously only in 1 proposal and that when they were separately used, ATL was adopted in 12 proposals and QVT in 13 proposals. Only 2 proposals used neither ATL nor QVT to define their M2M transformations -see Table 6. In both cases the XSLT -XSL Transformation) -language was employed, which is a standard of the World Wide Web Consortium -W3C -and it is mostly used to transform XML documents.
In this case, as well as in the precedent question, only 28 proposals could be classified -see Figure  14. That is why -same like before -to facilitate the data reading, the category "No classification" was used for grouping all proposals that could not been classified because of the poor information regarding the transformation languages they used.

Interpretation of Results
Once the quantitative synthesis was performed, we proceeded to interpret it in order to explain in full details the results obtained. Results regarding each research question are interpreted next.

RQ1: What are the research goals related to MDD and M2M transformations?
The results showed a clear tendency in the scientific community towards creating new proposals instead of evaluating or improving old ones.
Even though the huge diversity existing among proposals denotes the importance of MDD for the scientific community, there are also negative aspects caused by this division of efforts. Among these negative aspects: • First, the existence of a great number of uncompleted proposals, some of them with highly innovative ideas and big chances of getting used, but due to the lack of followup from the community, they are not fully developed and can not make their way to the industry.
• Second, the constant setback in this field is mostly due to the division of the scientific community, which makes it difficult to make even the easiest decisions.

RQ2: What type of methods were used in the research related to MDD and M2M transformations?
It was very interesting to find out that only 45. It is common to find papers extracted from conferences and workshops, where the problem to be solved is presented along with a proposed solution, but a formal validation is left as future work, probably because there's limited length. However, there is no real evidence that this is the reason for the scarce existence of this type of evaluation.
What is certain is that we do evident this situation and, therefore, the formal validation of MDD proposals for RIA architectures represent a clear opportunity for future research.

RQ3: What is the scope of the proposals in the selected works?
There is relevant information on this matter, which is the fact that 85% of the papers propose new methodologies, showing that there is no method that can cover all the MDD needs. Also the great number of different methods proposed, confirm the breach in research when analyzing the latter question.
Thus, it would be of great value if we could use one of the existing uncompleted or not fully-validated methodologies, to complete it or to make it a usable application, then providing formal validations.

RQ4: Which modeling phases are contemplated?
The results show that 51.70% of the proposals consider the PIM and PSM phases simultaneously, and only a 21.20% of them consider all the phases pointed by the MDA standard, which are CIM, PIM and PSM.
Even though the percentage of adoption of the three phases suggested by the MDA standard is very low, the fact that the phases PIM and PSM are considered at the same time, is positive, even though it is not as positive as the application of the phases CIM, PIM and PSM simultaneously.
Although little more than half of the proposals analyzed consider both the PIM phase and the PSM phase, which leads one to think that M2M transformations are addressed by the same amount of proposals, this is not the case, the percentage of proposals that really address M2M transformations is very low. After a deep analysis we have reached the conclusion that this situation occurs because some proposals are in an early stage of his development and they do not deal with M2M transformations yet. Some, for example, propose a meta-model adapted to RIA and expose situations where these ideas would be useful, but fail to continue beyond this step, and sometimes, they choose to omit the previously planned M2M transformations by using instead M2T transformations directly, and leaving the M2M transformations as future work.
Another influential factor in this result are the papers included through the experts' suggestion. It happens that these papers do not contemplate M2M transformations, they consider only M2T or T2T transformations. Nevertheless, they were included for being of the most currently extended, for being of the more completed or for having commercial tools.

RQ5: Does the proposal follow the MDA standard or not?
The percentage of proposals that explicitly mention follow the MDA standard is 45% -15 out of 33, which is a very good result for a single MDD proposal.
Additionally, by crossing this data with others research questions -e.g., RQ4: Which modeling phases are contemplated?, RQ9: Do source and target models belong to the same level of abstraction?, RQ10: What is the modeling language used for source and target models? -we come to the conclusion that the really adoption of the MDA standard is greater tan 45%. What is happening is simply that some proposals do not explicitly mention their adoption of the MDA standard, and therefore, many of the proposals that we classify as MDD approaches adopt really the MDA standard.

RQ6: Does the proposals have tool support? Which is the development stage of these tools?
These questions were aimed to figure out the development state of each of the analyzed proposals. Wrapping up, and by considering all the obtained information, we conclude that, in general, all the MDD proposals for RIA are in an early stage of development, except for very few exceptions -e.g., OOH4RIA [7], WebML4RIA [5] and UWE for RIA [6].
The scarce availability of tools could be caused by the fact that the analyzed work was published in a very early stage of the development of the proposal. This is a coherent assumption, since many similar proposals that do have usable tools, also have a similar life cycle -the first publications do not mention anything relevant about the tool, although they appear in later publications.
As many of the proposals has been published for long years ago, we considered that the main reason for the scarce existence of tools is simply due to the lack of a continuous contribution from the scientific community, which shows that it is common practice to develop ad-hoc tools to cover the different analysis considered in studies without worrying about the distribution of the tool in the industry, which would, we believe, greatly improve the chances of adopting MDD. This opens up a large research gap that enables future work towards improving and completing methodologies which are not fully developed yet.

RQ7: What is the IDE pointed out for the use of the tool proposed?
About this, most of the analysed proposals have developed tools by creating plugins for Eclipse, or modifying and redistributing this IDE as a different one. We consider that this is a widespread practice mainly due to the type of license adopted by Eclipse, which makes it more suitable for adaptation and modification. Also, it is worth mentioning that Eclipse is the IDE that most supports the MDD approach.
In the second place with regard to the number of the proposals that use it, MagicDraw is found. Magic-Draw is a powerful IDE but only available in paid versions. Furthermore, it is not an open source project.
However, there are proposals that develop tools from scratch. This is a rather surprising fact considering the hard work and the complexity of making this choice.

RQ8: What is the level of automation of M2M transformations?
Even though only 24.30% of the proposals claim to provide fully automated M2M transformations, this is actually a pretty good result. In fact, it is very reasonable, considering that the full automation of transformations and the development process in general, is a very complex task.
Probably, the complexity of making all of the M2M transformations an automatic process, is the reason for having such a large number of studies leaving this task as a future work, focusing mostly on automation of specific aspects that will help validate the most relevant characteristics of the proposed solution.
There is a particular result which considers manual transformations that got our attention. It is feasible that some works, because of a strict schedule or space limitations, demonstrate the contributions of a proposal through proper examples and manual transformations.

RQ9: Do source and target models belong to the same level of abstraction?
The answer to this question allows to identify if the transformations made change or not the level of abstraction of target models. This information is relevant because when the source and target models of the M2M transformation resides at the same level of abstraction, namely, when the M2M transformation is horizontal, and the proposal under analysis propose only this type of transformations, it is possible to conclude that this proposal certainly don't follow the MDA standard.
Even though, the presence of vertical transformations -transformations that progressively decrease the level of abstraction of the models -cannot be used to predict the adoption of MDA. As MDA suggests vertical transformations across layers of abstraction and horizontal transformations inside a single layer of abstraction [54], the fact that most of the proposals have adopted this kind of transformations, aggregated to the results obtained in RQ4 about the adopted phases of MDA and in RQ5 about the percentage of proposals that follow the MDA standard, allows to conclude that MDA principles have been taken into consideration by the scientific community, at least partially, allowing us to foresee a promising future for MDA.

RQ10: What is the modeling language used for source and target models?
There are only two possible answers. M2M transformations can be either endogenous or exogenous. By analyzing the obtained data, we can observe that the scientific community highly prefers endogenous M2M transformations, that is, those in which source and target models are both expressed in the same language.
This result reinforces the hypothesis of a promising future for MDA standards, because, even though the adoption of this type of transformations is not mandatory for the adoption of MDA, analysis of results obtained in this study allow to conjecture that it contributes to its adoption, since proposals using exogenous M2M transformations tend to stay away from what MDA stipulates. For example, all three transformations that use exogenous M2M transformations, apply horizontal M2M transformations as well, in addition to many modelling languages that are not derived from OMG proposals for MDA.

RQ11: What is the relation between the source and target models?
In general, getting completely new target models is easier than modifying the source model to adjust it to the specifications of the defined transformations, and according to the information obtained by the present study, this is the most frequent type of transformation.
Unlike previous questions, this does not contribute in estimating the degree of adoption of MDA, however, it is an important criteria when it comes to analyzing the most frequent type of transformations M2M applied in MDD for RIA.
Among other things, this question allows to lay the foundations for future analysis about M2M transformations for RIA. Obtained data will be of great value to those works which pretend to, as an example, evaluate the evolution of these transformations.

RQ12: What is the relation between the number of source and target models?
This question provides a classification criterion of the M2M transformations that allows to anticipate the degree of complexity that will have the M2M transformations to be defined for the adoption of each of the analyzed proposals.
The M2M transformations that consider only one source model to get a single target model, this is 1 to 1 transformations, are the easier ones to define and understand, which could indicate a more smooth learning curve.
However, this criteria can only be applied to the complexity of the transformations themselves, since it is very likely that 1 to 1 transformations achieve this simplicity based on models with weak separation of concepts, by defining less but more complex models, translating the complexity of M2M transformations into models themselves, which would negatively impact the maintainability of models.
Based on the facts presented earlier and the obtained results, we could conclude that in general, the scientific community tends to decrease the complexity in models instead of the complexity of M2M transformations, since most of the proposals use * to 1 or * to * transformations which sounds more reasonable if we consider that an important MDD motivation is to improve the documentation of systems.

RQ13: What is the language used for M2M transformations in the proposals being studied?
This question was formulated to identify the most frequently used language to define M2M transformations today.
The results show that the QVT language, proposed by OMG and official standard for the definition of M2M transformations, is in a privileged position. Basically, 39.40% of the proposals use QVT, and 36.40% ATL, considering only those proposals that describe the language applied for M2M transformations, that is, 28 out of 33 analyzed proposals. On one hand, this exposes two important facts: the great acceptance of ATL as a transformation language for M2M transformations and the great number of authors that consider ATL as the de facto standard for M2M transformations. On the other hand, this shows there is a big effort made by the scientific community to increase the application of QVT.

Discussion
In this section we present a discussion based on the analysis made in this SMS, about the current state of MDD. We deeply study the PIM portability problem, to finally show, through practical examples, a comparison between PIM and ASM as containers of specific architecture elements.

Current state of MDD
After studying thoroughly each research question contained in this SMS, we noticed certain tendency from the scientific community towards leaving out some MDD aspects: M2M transformations, PIM portability, tool development -those that consider M2M transformations, formal validations and most important, other MDD approaches -as it is much more common to propose a new one from scratch than improving or adapting an existing approach.
If we focus on research questions 1 through 7, it can be observed that many of the MDD works propose new approaches, putting most of the effort in proposing a new method and thus, leaving the definition of a tool to support this new method for future studies. It is also evidenced, that the M2M transformations have been excluded many times and only M2T transformations have been used.
Even though none of these aspects impose a threat on the proposals' validity, we do believe that, somehow, the absence of proposals including M2M transformations has benefited the PIM portability problem to arise. Problem that will be analyzed in the following section.
It happens that by reducing the amount of time invested in the development of tools, and especially, by not considering M2M transformations, it became less evident that to adapt the PIM notation with elements proper of an architecture is not the best solution for adopting RIA. The reason is that when adapting the PIM for an architecture, it becomes exclusive for this architecture, and therefore it loses portability regarding other architectures.

The PIM portability problem
One of the most valuable conclusions of this SMS is that, in general, all the proposals that consider preexistent MDD approaches, and those created from scratch to model specific architectures, proceed by adding elements from the target architecture to the PIM, hence, decreasing its portability.
We conclude that portability is affected, after noticing that the PIMs generated by each of the analyzed proposals, make every PIM, created with previous MDD methodologies, obsolete -when considering proposals based on adaptations of pre-existing approaches -or simply different ones -when considering proposals created from scratch.
In order to better understand the situation, let's imagine a fully developed system in which the RIA architecture was not taken into consideration -e.g., a static web system or a RESTful web service. The system has a PIM -because it has already fulfilled a whole development cycle through a MDD method. If at any point, it is needed that this system adopt RIA, the existing PIM -which was created following an approach that do not support the RIA architecture -could not be reused by an approach adapted for RIA, since this approach contains RIA specific notation, which was obviously not considered in the first approach applied.
This problem caught our attention since one of the most important aspects of MDD is the PIM portability itself. For this matter, we consider MoWebA [3,4,55], a MDD approach for to develop web applications that, among other things, propose the ASM phase considered in this study.
The ASM phase is very important as it contributes to solve the PIM portability problem. It is a new level of abstraction attached to those already defined by MDA, located between PIM and PSM, representing a new level of abstraction between the two. ASM would gather all relevant information about the architecture of the system to be developed, releasing PIM from containing it, and in theory, giving it back its so desired portability. Now, to clarify this last point, lets imagine again the situation mentioned before, a fully developed system with no previous consideration of RIA as its architecture; if we consider the adoption of RIA at this point, the PIM would still remain useful as all the information about the architecture will be encapsulated in the ASM.

PIM vs ASM
In order to observe the differences between PIM and ASM, we will consider a practical example, using the two available options to modify a pre-existent MDD methodology to include the modeling of systems with RIA architecture. For the first option, we would imagine the consequences of adapting the PIM for modeling RIA applications -an approach adopted by most of the MDD proposals for RIA -e.g., WebML RIA [5],

Theoretical validity
Theoretical validity is the ability to capture what it is intended to capture. Furthermore, confounding factors such as biases and selection of subjects play an important role.

Threat of Selection Bias
Selection bias refers to the distortion of an analysis owing to the criteria used to select publications. We attempted to alleviate this threat -at least to some extent -by defining our inclusion and exclusion criteria in order to gather the largest possible amount of papers that are related to M2M transformations for RIA architectures.

Threat of Missing Literature
Since in [15] it is mentioned that in some cases a simple string search could be as effective as a complex one, we opted to consider a simple string which include those terms more utilized, according to what we saw in the literature -according our experience. Selection of search terms and digital libraries can preclude some relevant studies from appearing in our search results. However, studies published in proceedings not indexed by the selected digital libraries may not appear in our analysis.

Threat of Publication Bias
Publication bias refers to the problem that positive results are more likely to be published than negative ones since negative results take longer to be published or are cited in other publications to a lesser extent [15]. Regarding this threat -at least to some extent, we acknowledge that we did not consider grey literaturei.e., industrial reports or PhD theses -or unpublished results. This may have affected the validity of our results to some extent.

Threat of Inaccuracy of Data Extraction and Classification
The extraction and categorization process was carried out by one of the authors, whereas the others provided input to solve ambiguities during the process, and randomly reviewed the extraction and categorization process. By doing so, we consider that the extraction and categorization process has been partially validated. Since partial validation has been performed by authors of this study, it can suffer from bias. Finally, also it is worth mentioning that we have not made an evaluation about the quality of the selected works. In Genero et al. [14], they explained that the inclusion of this point is not essential in a SMS.

Generalizability
We have performed the SMS in most common and suggested databases of the software engineering literature -see paragraph search sources in sub-section 2.1.2 for the complete list. They have been selected based on the experience reported by Dyba et al. [18] and Petercen et al. [8]. Additionally, as we focused on a broadband analysis accepting a large number of publications, we assume to have created a generalizable result set. Yet, this assumption needs to be confirmed by further studies.

Interpretive validity
Interpretive validity is achieved when the conclusions drawn are reasonable given the data, and hence maps to conclusion validity. A threat in interpreting the data is researcher bias.
Research bias is characterized by designing and implementing experiments that have the likelihood to produce a result that is favorable or otherwise more desirable to the researchers. Research bias happens in all phases of the process. Even if the design of the study is unbiased, the selection, data extraction, and the synthesis stages may distort the results [57].
To reduce the interpretive validity threats of this work, all the interpretations and conclusions reached was seriously validated by all the authors.

Repeatability
Repeatability is the possibility of achieving the same results by repeating the same processes. The repeatability requires detailed reporting of the research process, accordingly, we offer detailed reporting of the mapping process plus all the data to allow other researchers to repeat our study. In addition, all extraction forms will be available online at www.dei.uc.edu.py/proyectos/mddplus/documentos/exploring-m2m-ria-by-sms/. Repeatability was also aided by the use of existing guidelines.

Conclusion and further work
In this study, we performed a SMS in order to gather, classify and analyze all the research related to MDD approaches for RIA architectures made by the international scientific community, between years 2002 -the year when the term RIA first appeared [11], and 2015.
The main goals we intended to achieve with this SMS are the following: i) to provide a true general vision on the investigation field, ii) to identify well defined research topics, tendencies, unfinished investigation topics, research opportunities that might be addressed in the future.
Our study reveals many relevant facts: 1. Most of the research effort made by the scientific community is focused on creating new proposals instead of better studying existing ones.
2. Only 45.5% of the papers support their statements with rigorous and formal validations.
3. Even though most of the proposals present tools as well as methods, these tools are not easily accessible or are just mentioned as future work.
4. Most of the proposals use PIM and/or PSM phases, meantime none of them propose new phases to the already defined ones by MDA.
5. At least 45% of the proposals faithfully follow the MDA standard.
6. While it is true that many of the analyzed works propose tools, only few of them develop and publish them.
7. The IDE that is used the most to develop tools that support proposed methods is Eclipse, by creating new IDEs based on this one and creating plugins for the Eclipse Modeling Framework (EMF).
8. There are only a few tools able to completely automatize the development, semi-automatic processes are more common.
9. According to the taxonomy in [52], the M2M transformation that is most frequently used is the vertical M2M transformation.
10. According to the taxonomy in [52], the M2M transformation that is most frequently used is the endogenous M2M transformation.
11. According to the taxonomy in [53], the M2M transformation that is most frequently used is the one in which target models are created from scratch and not through modifications of source models.
12. According to the taxonomy in [52], the M2M transformation that is most frequently used is many to many.
13. Regarding the language for M2M transformations, the adoption level of ATL and QVT is practically the same.
Besides the quantitative analysis resulting from the systematic mapping, a qualitative analysis was also performed in order to obtain some conclusions from the interpretation of the information.
It is important to highlight that none of the proposals suggest new phases to the already defined by MDA. Also, none of these contemplates the ASM phase proposed by MoWebA [3] [4] [55].
Generally, the way in which the proposals adapt pre-existent MDD approaches to support RIA architectures, is adapting the PIM notation. This adaptation could be affecting negatively these models' portability, which is one of the principles of MDD.
Due to the scientific community still centers the efforts in defining new proposals MDD for RIA, the number of developed tools remains low. It is worth reminding that the creation of powerful tools that allow the automation of the development process is a relevant principle for MDD.
Based on this study, we identified several research opportunities. Among them, it is important to highlight two that we consider particularly relevant for MDD. First, the scarcity of formal validation efforts, experiments most of all, that allow to validate those proposals that have not yet been validated with this level of rigor. And second, to contribute with the development of tools that could support each and every existent proposal, giving to the community two main benefits: i) facilitate to carry out more validation works; and, ii) promoting the MDD usage in the industry.
In order to improve future research on the topic, the following actions are suggested: make an SLR that covers the same topics of this study, so as to exclude all non validated studies and obtain a more rigorous look over these; make experiment to validate existent proposals; make an SMS in order to detect and analyze all existing MDD tools and find out if they are capable to be adapted for RIA; interact with the industry in order to develop more and better tools for MDD and RIA or to increase the capability of existing tools; lastly, investigate the RIA modeling languages used in MDD proposals for RIA.