actually make it difficult or even impossible to exe-
cute successfully a transformation or any handling of
the model. Thus, improving it should be a priority
for the next transformation languages, implementa-
tions and improvements to be able to keep using MDE
for the future. We have empirically demonstrated that
our implementation improves the de facto standard
whenever a model of a defined size is used as input
for a transformation.
CloudTL has demonstrated that whenever creat-
ing a new transformation language or tool, attention
must be payed to the algorithm complexity of the en-
gine that implements it, since it becomes an important
issue when dealing with VLMs.
As for future work, we believe that there is still
much work to do and by using big data tools, it opens
up a whole new way of studying and creating model
transformations.
We plan on studying using other big data tools
such as Apache Spark (Apache, 2016b) or Apache
Flink (Apache, 2016a) for the back-end of our the
transformation language, as they are tools or have
subprojects for big data streaming analysis which
could be adapted to our language.
New types of rules could make the development of
transformation in CloudTL easier, since they would
allow for a more ways of interacting and scheduling
the transformation. We plan on adding a type of rule
based on lazy rules from ATL, which are rules that
get executed only when explicitly invoked.
We are also studying the implementation of
CloudTL cluster by using Amazon EC2. This way,
the optimization of the virtual machines needed for a
given trasnformation could be done elastically and ef-
ficiently, as well as this would help to reduce the net-
work overhead when two bolts are in different virtual
machines.
We plan to enrich the library with useful opera-
tions for the base types (String, Int. . . ) so that we
can have better statements in our transformation lan-
guages by enabling the programmer with better type
support (i.e. concatenation of strings, addition of in-
tegers. . . ).
We would like to expand the transformation lan-
guage and add filters for the input elements, so that
rules are executed if and only if the input element
passes the filter. We are considering to incorporate
a mechanism to auto-detect the init ruled based on the
EClasses of the root metamodels from the input and
ouput.
Having our language handle as input not only
Cloud Ecore models, but also other types of structured
data is interesting, since it would allow to bring into
MDE and modeling databases and projects that have
not considered it. This would require that CloudTL
could infer the structure (i.e., build an internal meta-
model from the structured data) using tools such
as JSONDiscoverer (C
´
anovas Izquierdo and Cabot,
2016) as a previous step to the generation of Storm
and Java code.
REFERENCES
Apache (2015). Jira for storm. https://issues.apache.org/
jira/browse/STORM-642.
Apache (2016a). Flink. http://flink.apache.org/.
Apache (2016b). Spark. http://spark.apache.org/.
Apache (2016c). Storm. http://storm.apache.org/.
Apache (2016d). Zookeeper. https://zookeeper.apache.org/.
Benelallam, A., G
´
omez, A., and Tisi, M. (2015a). ATL-
MR: model transformation on MapReduce. In Pro-
ceedings of the 2nd International Workshop on Soft-
ware Engineering for Parallel Systems - SEPS 2015.
Association for Computing Machinery (ACM).
Benelallam, A., G
´
omez, A., Tisi, M., and Cabot, J.
(2015b). Distributed Model-to-Model Transformation
with ATL on MapReduce. In Proceedings of 2015
ACM SIGPLAN International Conference on Soft-
ware Language Engineering (SLE 2015), Pittsburgh,
United States.
C
´
anovas Izquierdo, J. L. and Cabot, J. (2016). JSONDis-
coverer: Visualizing the schema lurking behind JSON
documents. Knowledge-Based Systems, 103:52–55.
Clasen, C., Didonet Del Fabro, M., and Tisi, M. (2012).
Transforming Very Large Models in the Cloud: a Re-
search Roadmap. In First International Workshop
on Model-Driven Engineering on and for the Cloud,
Copenhagen, Denmark. Springer.
Fekete, T. and Mezei, G. (2016). Towards a model trans-
formation tool on the top of the OpenCL framework.
In Proceedings of the 4th International Conference
on Model-Driven Engineering and Software Develop-
ment, pages 355–360. Scitepress.
Foundation, E. (2016). Xtext. http://www.eclipse.org/
Xtext/.
Group, K. (2016). Opencl. https://www.khronos.org/
opencl/.
IBM (2008a). Robust java benchmarking, part 1: Issues.
http://www.ibm.com/developerworks/java/library/
j-benchmark1/index.html.
IBM (2008b). Robust java benchmarking, part 2: Statistics
and solutions. https://www.ibm.com/developerworks/
java/library/j-benchmark2/.
Jouault, F. and Kurtev, I. (2006). Transforming models with
ATL. In Satellite Events at the MoDELS 2005 Con-
ference, pages 128–138. Springer Science + Business
Media.
JSON (2016). Json. http://json.org/.
Keahey, K. and Freeman, T. (2016). Nimbus. http://
www.nimbusproject.org/.
CloudTL: A New Transformation Language based on Big Data Tools and the Cloud
145