that perform them.
To further evaluate the approach, the prototype
model was extended by a second field. To demon-
strate the interaction with the user, several movable
objects were added to the field. Moreover multiple ac-
tions are performed by the individual objects, letting
the user modify their appearance. For objects con-
taining the talk action, the user can enter text into the
input field in the top left, which is then displayed in
a dialogue box next to the selected object. An event
listener has been added to one of the objects, reply-
ing automatically if the user enters a certain text. The
field also includes a background music, which can be
played by clicking on the speaker icon in the top right
corner. Sound can also be played by objects, when
selecting the Play Sound entry in their action view.
The time needed for creating this field was sig-
nificantly lower compared to a manual implementa-
tion. It was also faster than copying the code of one
field and then altering it to design a new one. The
main reason for the reduced time effort is the much
higher abstractions that are used for development.
Additionally, the use of the tree-based Eclipse edi-
tor also increases the development speed, especially
when reusing actions for several objects. The live
model validation offers early error detection, so no
time is wasted with failed generator runs. However,
there are also some drawbacks in the development
process. The properties view of Eclipse, which is used
to enter the values for the attributes is not suited for
comprehensive inputs like i.e. long arrays or func-
tions. Moreover, the Ecore feature of automatically
setting default values and leaving out attributes in the
XMI file made the implementation of the generator
more challenging.
6 CONCLUSIONS
In conclusion, in this paper an approach for imple-
menting JavaScript UI components representing vir-
tual world scenarios using MDD was proposed. Using
the Ecore modeling language, a metamodel contain-
ing classes for modeling a semi-3D game-like envi-
ronment and the corresponding code generator were
developed. While using high abstractions for the
modeled classes, the EventListener and CustomAc-
tion classes also allow the developer to manually add
functionality.
The code generator was implemented in Java
for transforming model instances into executable JS
code. The underlying JS codebase was developed
with the upcoming Famo.us framework, offering so-
phisticated animations for the UI components.
The approach was evaluated by a proof-of-concept
implementation demonstrating its general feasibility,
revealing the advantages and disadvantages of the
Eclipse-based model editor. However, further re-
search is needed to evalaute the approach in more
complex scenarios and also in real-world case studies
and to analyze its integration with the business logic
tier and back-end systems.
REFERENCES
Barabás, L. and Kakucs, B. (2014). Model-driven devel-
opment of web applications. International Journal on
Recent Trends in Engineering & Technology, 10(1).
Borins, M. (2015). Famo.us partners with the jquery foun-
dation.
Bozzon, A., Comai, S., Fraternali, P., and Carughi, G. T.
(2006a). Capturing ria concepts in a web modeling
language. In Proceedings of the 15th International
Conference on World Wide Web, WWW ’06, pages
907–908, New York, NY, USA. ACM.
Bozzon, A., Comai, S., Fraternali, P., and Carughi, G. T.
(2006b). Conceptual modeling and code generation
for rich internet applications. In Proceedings of the 6th
International Conference on Web Engineering, ICWE
’06, pages 353–360, New York, NY, USA. ACM.
Brambilla, M. and Fraternali, P. (2014). Large-scale model-
driven engineering of web user interaction: The
webml and webratio experience. Science of Computer
Programming, 89:71–87.
Brambilla, M., Mauri, A., and Umuhoza, E. (2014). Ex-
tending the interaction flow modeling language (ifml)
for model driven development of mobile applications
front end. In Mobile Web Information Systems.
Famo.us (2014). Famo.us layout.
Gizas, A., Christodoulou, S., and Papatheodorou, T. (2012).
Comparative evaluation of javascript frameworks. In
Proceedings of the 21st International Conference
Companion on World Wide Web, WWW ’12 Compan-
ion, pages 513–514, New York, NY, USA. ACM.
Huber, M. and Brune, P. (2012). Model-driven development
of interactive web user interfaces with html5. Univer-
sity of Applied Sciences Neu-Ulm.
Koch, N., Pigerl, M., Zhang, G., and Morozova, T. (2009).
Patterns for the model-based development of rias. In
Gaedke, M., Grossniklaus, M., and Díaz, O., editors,
Web Engineering, volume 5648 of Lecture Notes in
Computer Science, pages 283–291. Springer Berlin
Heidelberg.
Kraus, A. (2007). Model driven software engineering for
web applications. PhD thesis, Ludwig-Maximilians-
Universität München.
Kraus, A., Knapp, A., and Koch, N. (2007). Model-driven
generation of web applications in uwe. MDWE, 261.
Kroiß, C. (2008). Modellbasierte generierung von
web-anwendungen mit uwe. Ludwig-Maximilians-
Universität München.
MODELSWARD 2016 - 4th International Conference on Model-Driven Engineering and Software Development
654