%\vspace{-0.5cm}
\section{Conclusion and Future Work}\label{sec:conclusion}
%\vspace{-0.2cm}
%Bidirectional model transformation represent at the same time an intrinsically difficult problem and a crucial mechanism for keeping consistent and synchronized a number of related models. 

Bidirectional  transformations are a mechanism for establishing, and re-establishing, relationships among related models, in particular, when they are edited independently. In the last decades, bidirectionality has been acknowledged as a common denominator for a set of different applications as consistency management, synchronization, change propagation, and round-trip engineering. 

In this paper, we have identified a set of features which characterize the bidirectional transformation approaches and their implementations. Additionally, we have studied two of the existing approaches, namely TGGs and JTL, to validate the elicited features and to understand differences and similarities between them. 

From this analysis arise how each one of these languages is characterized by a set of specific properties pertaining to a particular application. 
In our opinion, the study of bidirectional transformations cannot neglect non-determinism
and its management.
There exist scenarios in which having multiple solutions to a model transformation problem is a desired outcome: in this respect, JTL is a promising approach for all the application involving change propagation where mappings can be non-injective and the transformation can be partial. Even though in our experience the time required to execute JTL model transformations is more than acceptable,  the generation of a number of models may cause efficiency problems due to the models management. For this reason, a bidirectional language may choose to force the mappings to be bijective through additional constraints especially in those applications, which do not demand for multiple choices. TGGs are an effective mechanism in dealing with model synchronization as intended in \cite{HLR08}: relying on  bijective mappings, synchronisation does not expose TGGs to the issues related to the naming convention and the other described techniques.
 
Since the aforesaid applications seem require different combination of the highlighted features, as future work, we plan to investigate these exact configurations. Moreover, we propose to extend this analysis to further bidirectional model transformation approaches.

%TGGs are an effective mechanism in dealing with model synchronization as intended in \cite{HLR08}, thus where  mappings are injective and the transformation is total. In contrast, JTL is a promising approach for all the application involving change propagation where mappings can be non-injective and the transformation can be partial. 
%

%Even thought, considering several case study, the time required to execute
%model transformation is more than acceptable since always took less than one second, the 
%
%
%It is important to note that the number of possible alternatives
%that can be generated is not a side effect of our approach,
%but instead depends on how transformations are defined. 






%a bidirectional model transformation should be
%able both to produce all the possible target models and to allow the designer to choose
%the most adequate solution. Current bidirectional languages typically solve by forcing
%the mapping to a bijective case through additional constraints, it poses well-known
%problems. Moreover, there exist scenarios in which having multiple solutions to a model
%transformation problem is a desired outcome. Since the generation of a number of models
%may cause serious efficiency problems, as future work we plan to enhance the supporting
%environment of JTL especially concerning the management of multiple solutions
%which can be proposed by the approach when manual modifications are operated
%on previously generated target models. Current efforts are devoted to the definition of
%a feature-based representations of a collection of models, i.e. multiple related models
%must be represented by means of a model with variability.


