ELS, MoDELS’05, pages 128–138, Berlin, Heidel-
berg. Springer-Verlag.
Leal, L. N., Pires, P. F., Campos, M. L. M., and Delicato,
F. C. (2006). Natural mda: controlled natural lan-
guage for action specifications on model driven de-
velopment. In On the Move to Meaningful Internet
Systems 2006: CoopIS, DOA, GADA, and ODBASE.
Mernik, M., Heering, J., and Sloane, A. M. (2005). When
and how to develop domain-specific languages. ACM
Comput. Surv., 37(4):316–344.
Muliawan, O. (2008). Extending a model transformation
language using higher order transformations. In Re-
verse Engineering, 2008. WCRE’08. 15th Working
Conference on, pages 315–318. IEEE.
Myers, B., Hudson, S. E., and Pausch, R. (2000). Past,
present, and future of user interface software tools.
ACM Transactions on Computer-Human Interaction
(TOCHI), 7(1):3–28.
Panach, I., Aquino, N., and Pastor, O. (2011). A model for
dealing with usability in a holistic mdd method. User
Interface Description Language (UIDL).
Puerta, A. R. (1997). A model-based interface development
environment. Software, IEEE, 14(4):40–47.
Sendall, S. and Kozaczynski, W. (2003). Model transfor-
mation: The heart and soul of model-driven software
development. Software, IEEE, 20(5):42–45.
Sottet, J.-S., Calvary, G., Coutaz, J., and Favre, J.-M.
(2007). A model-driven engineering approach for the
usability of plastic user interfaces. In Engineering In-
teractive Systems, pages 140–157. Springer.
Sottet, J.-S., Calvary, G., Favre, J.-M., and Coutaz, J.
(2009). Megamodeling and metamodel-driven en-
gineering for plastic user interfaces: mega-ui. In
Human-Centered Software Engineering, pages 173–
200. Springer London.
Sottet, J.-S. and Vagner, A. (2013). GENIUS: Automati-
cally generating usable user interfaces. Technical re-
port, PRC Henri Tudor, Luxembourg.
Stanciulescu, A., Limbourg, Q., Vanderdonckt, J., Mi-
chotte, B., and Montero, F. (2005). A transformational
approach for multimodal web user interfaces based on
usixml. In Proc. of the 7th inter. conference on Multi-
modal interfaces, ICMI ’05, pages 259–266.
St
¨
orrle, H. (2013). Making sense to modelers: Presenting
uml class model differences in prose. In 1st Interna-
tional Conference on Model-Driven Engineering and
Software Development (MODELSWARD 2013).
Szekely, P., Luo, P., and Neches, R. (1992). Facilitating
the exploration of interface design alternatives: the
HUMANOID model of interface design. In Proc. of
the SIGCHI conf. on Human factors in computing sys-
tems.
Tisi, M., Jouault, F., Fraternali, P., Ceri, S., and B
´
ezivin, J.
(2009). On the use of higher-order model transforma-
tions. In Model Driven Architecture-Foundations and
Applications, pages 18–33. Springer.
Vanderdonckt, J. (1995). Knowledge-based systems for au-
tomated user interface generation: the trident experi-
ence. In Proceedings of the CHI, volume 95. Citeseer.
Willink, E. D. (2008). On challenges for a graphical trans-
formation notation and the umlx approach. Electronic
Notes in Theoretical Computer Science, 211:171–179.
APPENDIXES
1. Acceleo template for ATL code generation from a
DSTL model.
[ t e m p l a t e p r i v ate gRule ( rule : Rule ) ]
rule [ r u l e . a u i t y pe . c o n c at ( ’To ’ ) . con c a t ( nameS t r ing
,→ ( rule . uiel e m ent ) ) / ] {
from
in_ts k : TDA ! Task ( [ i f ( r u l e . aui t y p e .
,→e q ua l s Ig n o reC a se ( ’ Root ’ ) ) ]
( maintsk . s u per O per a t or . o c lIs U nde f i ned
,→ ( ) ) [ e l s e ]
in_ts k . au i T y pe = #”[ rule . auit y p e / ] ”
[ i f ( r u l e . i n te r a ct i v el y V al i d .
,→e q ua l s Ig n o reC a se ( ’ int e ract i v e ’ ) )
,→ ]
and i n_tsk . i s In t e ra c t iv e lyV a lid ( )
[ / i f ]
[ i f ( r u l e . i n te r a ct i v el y V al i d .
,→e q ua l s Ig n o reC a se ( ’ no t i nte r act i v e
,→’ ) ) ]
and i n_tsk . t y p e =#” a b strac t ” and i n_tsk .
,→i s No t L ea f N orR o ot ( )
[ / i f ]
[ / i f ] )
to
[ r u l e . u i e leme n t . c O utP a t ter n ( ) / ]
}
[ / t e m p l a t e ]
2. Excerpt of the DSTL Xtext grammar.
Rule :
’ r u l e
from ’ a u i t ype = Type ( ’ and ’
,→i n te r a ct i v el y Val i d =Valid ) ? ’ to ’
,→u i e leme n t =UIEl e m ent ’; ’ ;
Type :
’ C hoice n /n ’ | ’ Choic e 1/ n ’ | ’ Co n t a ine r ’ | ’
,→Inpu t ’ | ’ Output ’ | ’ C o m mand ’ | ’
,→N a viga t i on ’ | ’ R o o t ’ ;
UIE l e ment :
Windo w | L ist E lem e nt S e le c t or | Bu t t o n | P a n e l
,→ | Dat a F ield | I m ageF i e ld | Te x t Fiel d |
,→T e x tArea ;
Windo w :
’ W indow ’ l a b e l+=Label ? ’ with ’
,→c o nt a i ne d E le m e nt s += Co n c e pt ;
Panel :
’ P a nel ’ labe l += Label ? ’ with ’ c ont a ine d Ele m ent s
,→+=C o n c ept ;
Li s tEl e men t Se l e ct o r :
’ Li s t El e m en t S el e cto r ’ label = Label ? ( ’ with ’
,→c o nt a i ne d E le m e nt s += Co n c e pt ) ? ;
Conc e p t :
’ A ll Co n c e pts ’ | ’ No C oncep t s ’ | s elec t i on +=
,→S e lec t edC o nce p t ∗ ;
DefiningDomainSpecificTransformationsinHuman-ComputerInterfacesDevelopment
253