XMLTex : F om XML Schema o X ex
Pa ick Neubaue , Alexande Be gmay , Tanja Maye ho e ,
Ja ie T oya, and Manuel Wimme
Business In o ma ics G oup
Vienna Uni e si y o Technology, Aus ia
{neubaue ,be gmay ,maye ho e , oya,wimme }@big. uwien.ac.a
Abs ac
A mul i ude o Domain-Speci ic Languages (DSLs) ha e
been implemen ed wi h XML Schemas. While such DSLs
a e well adop ed and lexible, hey miss mode n DSL edi o
unc ionali y. Mo eo e , since XML is p ima ily designed as
a machine-p ocessible o ma , a i ac s de ined wi h XML-
based DSLs lack comp ehensibili y and, he e o e, main ain-
abili y. In o de o ackle hese sho comings, we p opose
a b idge be ween he XML Schema De ini ion (XSD) lan-
guage and ex -based me amodeling languages. This b idge
exploi s exis ing seams be ween he echnical spaces XML-
wa e, modelwa e, and g amma wa e as well as closes iden-
i ied gaps. The esul ing app oach is able o gene a e X ex -
based edi o s om XSDs p o iding powe ul edi o unc-
ionali y, cus omiza ion op ions o he ex ual conc e e syn-
ax s yle, and ound- ip ans o ma ions enabling he ex-
change o da a be ween he in ol ed echnical spaces.
We e alua e ou app oach by a case s udy on TOSCA,
which is an XML-based s anda d o de ining Cloud deploy-
men s. The esul s show ha ou app oach enables b idging
XMLwa e wi h modelwa e and g amma wa e in se e al
ways going beyond exis ing app oaches and allows he au o-
ma ed gene a ion o edi o s ha a e a leas equi alen o
edi o s manually buil o XML-based languages.
Keywo ds:
DSL, Language Enginee ing, Ma kup Language, Language
Mode niza ion, XSD, X ex
1. In oduc ion
XML has been p ima ily designed as a machine-p ocess-
ible o ma ollowing he ixed angle-b acke syn ax. While
o p ominen XML-based languages, such as OASIS’s TO-
SCA [8], ad anced edi o s ha e been handc a ed, o o he s,
like A i icial In elligence Ma kup Language (AIML) [19],
no dedica ed edi o is a ailable. In he la e case, language
use s a e bound o he angle-b acke syn ax ha is e bose
and complex in e ms o human-comp ehension and he e-
o e impedes main ainabili y [3].
Tackling hese majo limi a ions equi es b eaking ou
o in lexible XML syn ax by p o iding suppo o con-
s uc a ully-cus omizable conc e e syn ax and language
wo kbench. While s a e-o - he-a Model-D i en Language
Enginee ing (MDLE) amewo ks, such as X ex [9], al-
low he de elopmen o Domain-Speci ic Modeling Lan-
guages (DSMLs) as well as accompanying cus omized con-
c e e syn ax and ich language wo kbenches, manually e-
c ea ing exis ing XML-based languages wi h such ame-
wo ks is a complex, e o -p one, and ime-consuming ask
equi ing language-enginee ing skills. Addi ionally, model-
ing languages ha ough o eplace XML-based languages
lea e behind backwa d-compa ibili y issues wi h he usually
comp ehensi e se o applica ions buil o he XML-based
language.
To o e come hese issues, ou app oach— he Model-
D i en Language Mode niza ion (MDLM) app oach which
is ins an ia ed h ough he XML o X ex (XMLTex ) ame-
wo k1— acili a es he mode niza ion o XSD-based lan-
guages wi h modelwa e and g amma wa e [14] by (i) ans-
o ming exis ing XSD-based languages o me amodels, (ii)
adap ing hose me amodels o acili a e he p oduc ion o
e ec i e language g amma s, (iii) gene a ing bo h cus om-
ized language g amma s and wo kbenches om he adap ed
me amodels, and (i ) enabling ound- ip ans o ma ions
be ween he o iginal XSD-based language and he mode n-
ized DSML by gene ic se ialize s and pa se s.
1 Access o XMLTex is p o ided on he pape ’s websi e a h p://
xml ex .big. uwien.ac.a .
By suppo ing ound- ip ans o ma ions, ou ame-
wo k inhe en ly me ges bene i s o bo h XMLwa e and
g amma wa e, namely machine-p ocessibili y and e-use o
ex ensi e XMLwa e applica ions o he o me and high-
cus omizabili y, enabling o a ge human-comp ehensibili y
and he e o e main ainabili y, o he la e . XMLTex is e al-
ua ed based on a ep oduc ion s udy on he XML-based lan-
guage TOSCA, in pa icula , he amewo k’s abili y o p o-
duce comple e DSMLs om XML Schemas.
The emainde o his pape is o ganized as ollows. Sec-
ion 2 p o ides an o e iew o gaps be ween XMLwa e,
modelwa e, and g amma wa e as exposed by ou case s udy.
Sec ion 3 in oduces he MDLM app oach as well as he
XMLTex amewo k. Sec ion 4 e alua es he indings based
on a ep oduc i e s udy conce ning an indus ial s eng h
language. Finally, Sec ion 5 discusses ela ed wo k be o e
Sec ion 6 concludes wi h a pe spec i e on u u e wo k.
2. Gaps be ween XMLwa e, Modelwa e, and
G amma wa e
MDLE amewo ks like X ex accele a e he de elopmen
o DSMLs and DSML en i onmen s o a g ea ex en . They
co e all aspec s o a ex ual language in as uc u e, includ-
ing he de aul gene a ion o a lexe , pa se , as well as an ed-
i o ea u ing ich edi ing capabili ies, such as, syn ax high-
ligh ing, e o indica ion, and con en assis ing. A he same
ime, hey p o ide language enginee s wi h he powe o
comple ely cus omize he look-and- eel, i.e., he ex ual con-
c e e syn ax, o DSMLs and he ewi h o cons uc DSMLs
ailo ed o op imize human-comp ehensibili y—a cus omiz-
a ion no possible in XML due o i s ixed conc e e syn ax.
Fo he pu pose o mode nizing XSD-based languages
by ans o ming hem o me amodel-based DSLs, we seek
o a ully au oma ed app oach ha p oduces om a gi en
XSD a language g amma ha ul ills ou needs o human-
comp ehensibili y. As we desc ibe in he nex pa ag aphs,
we build upon exis ing ools ha a e in eg a ed in EMF,
namely he EMF XSD Impo e and he X ex G amma Gen-
e a o . Fi s , he EMF XSD Impo e is employed o p o-
duce an Eco e Me amodel om an exis ing XML Schema.
Secondly, he Eco e Me amodel is used as inpu o he X ex
G amma Gene a o , which ans o ms i o a co esponding
X ex G amma as well as o a co esponding X ex Wo k-
bench. Howe e , ou in es iga ions ha e shown ha chaining
hese ools oge he (in o wha is om now on e e ed o as
De aul T ans o ma ion Chain) lea es many gaps be ween
he echnical spaces o XMLwa e, modelwa e, and g amm-
wa e open.
In he nex pa ag aphs we dig in o speci ic gaps dis-
co e ed h ough a case s udy on he TOSCA cloud opo-
logy and o ches a ion language. Ve sion 1.0 o he TO-
SCA XSD2con ains 791 lines o code, 99 complex ypes,
2h p://docs.oasis-open.o g/ osca/TOSCA/ 1.0/os/schemas/
TOSCA- 1.0.xsd.
11 simple ypes, 54 global ypes, 10 wildca ds, 2 abs ac
ypes, and 2 global elemen s. Table 1 depic s an o e iew
o XML Schema concep s cu en ly p ocessed by he De-
aul T ans o ma ion Chain ocusing on language concep s
used in ypical TOSCA ins ances. The column “Suppo ed”
deno es whe he a pa icula XML Schema concep can be
ans o med o a DSML g amma ule able o ep esen he
o iginal XML Schema concep . In he ollowing we summa -
ize he concep s which a e cu en ly unsuppo ed by he De-
aul T ans o ma ion Chain.
XML Schema
concep s De ini ion Suppo ed No es
Elemen xs:elemen ضG amma ule is c ea ed
A ibu e xs:a ibu e ضFea u e in g amma ule is c ea ed
Con ainmen ( h ough nes ing)
ض
G amma ule is c ea ed and ule call
s a ed
Mixed con en mixed=" ue" غEco e ea u e map is neglec ed in
g amma gene a ion
Wildca d xs:any,
xs:anyA ibu e غEco e ea u e map is neglec ed in
g amma gene a ion
Res ic ion xs: es ic ion غDi e en in e p e a ions
Da a ype ype="xs:s ing",
ype="..." غPlaceholde e minal and a o-do
commen eplace da a ypes
Iden i ie and iden i ie
e e ence
ype="xs:ID",
ype="xs:IDREF" غPlaceholde e minal eplaces iden i ie
alue
Table 1. O e iew o XML Schema language concep s and
hei suppo by he De aul T ans o ma ion Chain
Gap 1: Mixed Con en and Wildca ds. XML Schema al-
lows o de ine mixed complex ype elemen s, i.e., allowing
cha ac e da a o appea wi hin he body o he elemen . Fu -
he mo e, he use o xs:any (c . line 4 in Lis ing 1), i.e., a
wildca d elemen , allows o speci y any ype o ma kup con-
en in XML ins ances (c . line 3-4 in Lis ing 2). The EMF
XSD Impo e ansla es such ypes o me aclasses con ain-
ing ea u e maps ha ep esen ambiguous language con-
cep s whose handling is delega ed o he unde lying pa se
and se ialize implemen a ions. Howe e , since he X ex
G amma Gene a o neglec s he occu ence o such impli-
ci ly modeled language concep s, hey become una ailable
a g amma le el as well as on ins ance le el.
1<x s : e l e m e n name="P ope ies" minOccu s="0">
2<xs:complexType>
3<xs:sequence>
4<x s : a n y name space ="##o he " p ocessCon en s="
,→lax" />
5</ x s : s e q u e n c e>
6</ xs:complexType>
7</ x s : e l e m e n >
Lis ing 1. TOSCA XML Schema (exce p )
Gap 2: Da a Types and Res ic ions. The W3C Re-
commenda ion on XML Schema da a ypes [6] desc ibes a
se o buil -in da a ypes o di e en kinds o da a, such
as numbe s, da es, s ings, iden i ie s, and e e ences. The
EMF XSD Impo e success ully ans o ms XML Schema
da a ypes o cus om da a ypes mapped o Ja a ypes a
me amodel le el. Howe e , he X ex G amma Gene a o
ans o ms any me amodel da a ype o a placeholde e -
minal symbol eplacing he ac ual da a ype. The e o e,
he X ex G amma c ea ed by he De aul T ans o ma ion
Chain does no allow o cons uc ins ances able o s o e al-
ues o a iables o any kind o da a ype. Mo eo e , his lim-
i a ion also impac s XML Schema es ic ions. Fo example,
in case o a es ic ed XSD a ibu e o ype xs:s ing,
e en i we co ec he ype de ini ion o he esul ing g am-
ma a ibu e o he STRING e minal ule p o ided by X ex ,
he a ibu e c ea ed in he X ex g amma is in e p e ed di -
e en ly: a S ing in XML Schema and Eco e is in e p e ed
by excluding i s su ounding quo es and in X ex i is in e -
p e ed by including i s su ounding quo es.
Gap 3: Iden i ie s and Iden i ie Re e ences. The EMF
XSD Impo e ans o ms a ibu es o ype xs:ID (c . id
a ibu es in Lis ing 2) o Eco e a ibu es o ype ja a.
lang.S ing ha ing se he ID p ope y o ue. A ibu es
o ype xs:IDREF a e also ans o med o Eco e a ibu es
ins ead o e e ences. Hence, e en i he gap ela ed o da a
ypes is closed, he X ex G amma Gene a o s ill handles
xs:IDREF equally o a ibu es – capable o holding p imi -
i e alues no e e ing o o he elemen s.
1<nodeTempla e i d ="ApacheWebSe e " y pe ="
,→ApacheWebSe e Type" name="Apache Web Se e ">
2<p o p e i e s id ="ApacheWebSe e P ope ies">
3<numCpus>1</ numCpus>
4<memo y>1024</ memo y>
5</ p o p e i e s>
6</ nodeTempla e>
Lis ing 2. TOSCA Moodle XML ins ance (exce p )
Gap 4: Cus omizing Conc e e Syn ax. XML has been
p ima ily designed as a machine-p ocessible o ma com-
posed o immu able conc e e syn ax. The e o e, use s o
XML-based languages a e bound o angle-b acke syn ax
ha is desc ibed as e bose and complex in e ms o human-
comp ehension and he e o e impedes main ainabili y [3].
3. XMLTex
Ou app oach p oposes b idging XMLwa e,Modelwa e, and
G amma wa e. The e o e, ou goal is o p o ide a ame-
wo k ha au oma ically mode nizes XSD-based languages
o me amodel-based languages p o iding lexible syn ax,
ich language wo kbenches, and model-based echniques
such as ans o ma ion, alida ion, and code gene a ion. We
achie e his goal by imp o ing he ans o ma ions o he
De aul T ans o ma ion Chain as well as in oducing new
ans o ma ions ha o e come he issues discussed in Sec-
ion 2. Figu e 1 depic s a concep ual o e iew o ou XML
o X ex (XMLTex ) amewo k. De ails a e discussed in he
ollowing subsec ions.
Like in he De aul T ans o ma ion Chain, he i s s ep
is o ans o m a gi en XML Schema o an Eco e Me a-
model by employing he EMF XSD Impo e 1. In o de
o ackle he issue o ea u e maps causing he p oduc ion
o emp y g amma ules, we adap he Eco e Me amodel by
eplacing ea u e maps wi h gene ic conc e e cons uc s (c .
2in Figu e 1). Nex , he adap ed me amodel is used as
Modeling Language
Eco e
Me amodel
Model API
Eco e Model1
(abs ac syn ax)
DSML Model1
(conc e e syn ax)
XML o X ex F amewo k
2
B
Ma kup Language
XML Schema
EMF XSD
Impo e
1
XMLwa e
XML Ins ance1A
Legend:
con o ms
o
ans o med
o
ede ined
ans o ma ion
in oduced
ans o ma ion
Modelwa e
Tex ual Modeling
Language
X ex
Wo kbench
X ex G amma
G amma wa e
X ex
G amma
Gene a o
3
Figu e 1. O e iew o he XMLTex amewo k
inpu o gene a ing he X ex G amma . Howe e , o s o e
ac ual alues o a ibu es we enhance he X ex G amma
Gene a o (c . 3in Figu e 1) by c ea ing, impo ing, and
e e encing a lib a y o da a ypes. Mo eo e , we enable he
au oma ed cus omiza ion o he ex ual conc e e syn ax o
he a ge DSML by p o iding a con igu able g amma ule
empla e.
Fo he adap ions o he Eco e Me amodel in oduced by
he XMLTex amewo k, i is necessa y o cus omize exis -
ing ans o ma ions (c . Ain Figu e 1) o ac upon hem
on ins ance le el. The e o e, we cus omize (i) he dese ial-
ize ha eads XML Ins ances and c ea es in-memo y Eco e
Model ep esen a ions con o ming o he adap ed Eco e
Me amodel and (ii) he se ialize ha s o es Eco e Models
as XML Ins ances. As a esul o keeping he X ex G am-
ma coupled o he Eco e Me amodel, we a e able o euse
he exis ing ans o ma ion B. Wi h he in oduc ion o
ans o ma ion 2and he adap ion o he ans o ma ions
3and A, ou XMLTex amewo k o e comes limi a ions
o exis ing b idges be ween XMLwa e and G amma wa e
and hus allows an imp o ed au oma ed mode niza ion o
XML-based languages o me amodel-based DSMLs. In he
ollowing, we de ail hese ans o ma ions. Lis ing 3 shows
he esul o applying he XMLTex amewo k on he exem-
pla y XML-based language ins ance used in Lis ing 2.
1TNodeTempla e ApacheWebSe e {
2name :"Apache Web Se e "
3 ype :ApacheWebSe e Type
4P o p e i e s ApacheWebSe e P ope ies {
5NumCpus :"1"
6Memo y :"1024"
7}
8}
Lis ing 3. TOSCA Moodle DSML model (exce p )
3.1 Mixed Con en and Wildca ds
The de ini ion o mixed con en as well as wildca ds causes
he EMF XSD Impo e o c ea e an a ibu e o ype EFe-
a u eMapEn y. Howe e , since he X ex G amma Gen-
e a o neglec s ea u e maps, such XSD concep s canno be
ep esen ed wi h he esul ing X ex G amma . To success-
ully cope wi h he occu ence o ea u e maps, we eplace
hem wi h gene ic conc e e cons uc s o which g amma
ules a e gene a ed (c . 2in Figu e 1). As shown in Fig-
u e 2, AnyGene icCons uc is an abs ac class ex ended
by AnyGene icElemen and AnyGene icTex . The e o e,
a wildca d XML ag is ep esen ed by AnyGene icElemen
and he ex be o e o a e an XML ag is ep esen ed
by AnyGene icTex , hus, allowing mixed con en . While
he o me ep esen s he no ion o wildca ds in e ms o
xs:any, he la e allows ep esen ing mixed con en ap-
pea ing ei he p io o a e an XML ag. The success ul
applica ion o his solu ion is depic ed by lines 5-6 o Lis -
ing 3.
P ope ies
AnyGene icCons uc
AnyGene icElemen AnyGene icTex
AnyGene icA ibu e
[0..*] anyGene icA
[0..*]
childElem
[1..*]
anyGene icElemen
Figu e 2. Explici modeling s uc u es eplacing ea u e
maps
3.2 Da a Types
As men ioned ea lie , he X ex G amma Gene a o does
no c ea e ules o me amodel da a ypes. The e o e, bo h
he speci ica ion o e minal ules as well as calls o hese
ules a e missing. To o e come his limi a ion, we i s con-
s uc ed he X ex Da a Type Lib a y de ining e minal ules
o buil -in XSD da a ypes and secondly adap ed ans o m-
a ion 3in Figu e 1, such ha hese e minal ules a e used
in he inal language g amma .
3.3 Iden i ie s and Iden i ie Re e ences
In o de o ackle he gap associa ed wi h iden i ie s and
iden i ie e e ences, ans o ma ion 2 eplaces model a -
ibu es o ype xs:IDREF wi h e e ences o he me aclass
EObjec , which is he uppe mos class in he Eco e hie -
a chy. While such a e e ence allows objec s o e e ence
any kind o objec , an xs:IDREF a ibu e can only e e -
ence elemen s ha ing an xs:ID a ibu e. Thus, ans o ma-
ion 3in oduces a necessa y e inemen . In pa icula , o
an a ibu e o ype xs:IDREF, we gene a e a g amma ule,
allowing only o e e o objec s wi h xs:ID a ibu e. The e-
o e, we de ine a new e minal ule (c . example in Lis ing 4).
He eby, he subsequen ly gene a ed edi o p o ides suppo
o e e encing objec s h ough con en assis .
1Sou ceElemen Type e u ns Sou ceElemen Type
2 e e encingA ibu e=[ eco e : : EObjec |IDREF ] ) ? ;
3
4IDREF e u ns eco e : : ES ing :
5ID ;
Lis ing 4. X ex g amma o Iden i ie s and Iden i ie
Re e ences
3.4 Cus omizing Conc e e Syn ax
To o e come he majo limi a ion imposed by in lexible
XML syn ax, we p o ide an app oach o cons uc a cus om-
izable conc e e syn ax enabling he speci ica ion o human-
comp ehensible and he e o e inc easingly main ainable in-
s ances. Usually, changing he conc e e syn ax o a DSML
equi es ei he o manually adap he associa ed language
g amma o he X ex G amma Gene a o ans o ma ions.
The XMLTex amewo k in oduces a empla e mechanism
ha allows o speci y cus omizable empla e iles de ining
he conc e e syn ax o he a ge language. Fo example, as
depic ed by Lis ing 5, Va iableValueSpeci ica ion-
Te minalSymbol de e mines he e minal symbol used in
he language g amma o speci y a a iable’s alue.
1In e PackageRe e enceTe minalSymbol =’.’
2Va iableValueSpeci ica ionTe minalSymbol =’:’
3P ope yMembe OpenTe minalSymbol =’{’
4P ope yMembe CloseTe minalSymbol =’}’
Lis ing 5. Conc e e syn ax cus omiza ion empla e ile
(exce p )
4. E alua ion
In he e alua ion we aimed a answe ing he ollowing e-
sea ch ques ion (RQ): Is he DSML gene a ed by XMLTex ,
i.e., TOSCAXMLTex , mo e comple e as he DSML p oduced
by he De aul T ans o ma ion Chain, i.e., TOSCADTC as
well as a ailable hand-c a ed DSLs?
E alua ion P ocedu e. Fi s we ope a e he De aul
T ans o ma ion Chain wi h he TOSCA XSD e sion 1.0
o gene a e TOSCADTC. Secondly, we employ he XML-
Tex amewo k wi h he same TOSCA XSD o p oduce
TOSCAXMLTex . Thi d, we ga he language concep s and ea-
u es appea ing in he TOSCA XSD-con o ming Moodle
e e ence example [4], i.e., a comple e de ini ion o opology
and o ches a ion de ails o an open sou ce cou se manage-
men sys em, and co ela e hem wi h language concep s and
ea u es a ailable in (i)TOSCADTC, (ii)Cloudi y DSL— he
only a ailable ex ual DSL based on he TOSCA s anda d—,
and (iii)TOSCAXMLTex .
Due o he ac ha hese languages ha e been implemen-
ed using di e en app oaches, a common way o compa -
ing hem in e ms o hei comple eness o a common lan-
guage speci ica ion— he TOSCA s anda d [8] XSD e sion
1.0—is es ablished. The e o e, ou compa ison akes in o ac-
coun language concep s and ea u es occu ing in he TO-
SCA XSD as well as in he indi idual language implemen -
a ions. In pa icula , o analyze he language concep s o he
Cloudi y DSL, o which no language g amma is p o ided,
we examine i s language pa se 3on he exis ence o lan-
guage concep s and ea u es as de ined in he TOSCA XSD.
Fu he mo e, he uni o analysis in TOSCADTC as well as
TOSCAXMLTex is ep esen ed by he DSML g amma .
Resul s. Table 2 depic s TOSCA language concep s and
ea u es employed in he Moodle example and hei a ail-
abili y in TOSCADTC,Cloudi y DSL, and TOSCAXMLTex . In
o al he Moodle example uses 19 di e en language con-
3The Cloudi y DSL pa se ( e sion om Ap il 1, 2015) examined du ing
his e alua ion can be e ie ed online a h ps://goo.gl/JzPL7U.
cep s and 35 ea u es de ined in he TOSCA XSD. When
looking o he a ailabili y o he combina ion o language
concep s and ea u es in he di e en languages we ound
ha (i)TOSCADTC con ains 17%, (ii)Cloudi y DSL accom-
moda es 37%, and (iii)TOSCAXMLTex encloses 98% o he
TOSCA s anda d concep s and ea u es ound in he TOSCA
XSD-con o ming Moodle ins ance.
Moodle
Example TOSCADTC Cloudi y DSL TOSCAXMLTex
TOSCA
Concep s 19 2 (~11%) 11 (~58%) 19 (100%)
TOSCA
Fea u es 35 7 (20%) 9 (~26%) 34 (~97%)
TOSCA
Combined 54 9 (~17%) 20 (~37%) 53 (~98%)
Table 2. A ailabili y o TOSCA s anda d concep s and ea-
u es in di e en languages based on he Moodle example
In summa y, we conclude ha (i) he language g amma
o TOSCADTC is missing essen ial concep s, such as, nodes
and ela ionships, and is he e o e no su icien o ep esen
he Moodle example. Fu he mo e, (ii) while he Cloudi y
DSL pa se con ains mo e language concep s and ea u es as
a ailable in he TOSCADTC, i is s ill missing ce ain con-
cep s, such as, equi emen s and capabili ies. Mo eo e , o
some missing concep s, such as TDe ini ions, ea u es
a e sca e ed h oughou di e en language concep s in he
Cloudi y DSL. Fo example, hei pa se ule models.Plan
con ains policies and ela ionships ha a e o iginally loca ed
in TDe ini ions. The e o e, he Cloudi y DSL does no
ully con o m o he TOSCA s anda d and hence equi es he
use o map TOSCA XSD-con o ming ins ances o Cloudi y
DSL-con o ming ins ances. Finally, (iii)TOSCAXMLTex al-
lows o ep esen almos en i ely he same in o ma ion as de-
pic ed in he Moodle example. In mo e de ail, TOSCAXMLTex
is missing he ep esen a ion o he xmlns ea u e which is
ep esen ed in he oo elemen o he me amodel. The e o e,
excep o he occu ence o xmlns, he XMLTex ame-
wo k is able o pe o m ound- ip ans o ma ions be ween
TOSCA XSD-con o ming XML ins ances and mode nized
TOSCA DSML-con o ming models acili a ing he e-use o
exis ing XMLwa e applica ions as well as ad anced capab-
ili ies o mode n DSMLs.
Th ea s o Validi y. We iden i ied h ee h ea s o alid-
i y: (i) misin e p e a ion o language concep s and ea u es
due o hei naming di e ences in he Cloudi y DSL and
he TOSCA s anda d, (ii) conside a ion o a subse o he
TOSCA language ep esen ed by he TOSCA Moodle ex-
ample, i.e., ep esen ing a subse o possible TOSCA lan-
guage concep s and ea u es, and (iii) he conside a ion o
TOSCA as a ep esen a i e o an XSD-based language, i.e.,
conside ing only a subse o all possible XML Schema lan-
guage concep s and ea u es. As a coun e measu e o (i), we
s udied bo h he language concep s and ea u es appea ing
in he Cloudi y DSL language pa se as well as in he Cloud-
i y DSL language documen a ion. In o de o ac upon (ii),
we iden i ied ha se e al TOSCA-based examples can ac
as a coun e measu e. Howe e , due o he lack o a ailable
TOSCA-based open sou ce examples, we did no ac upon
i . Al hough, o encoun e (iii) we selec ed TOSCA because
i is a ela i ely complex language which poses se e al chal-
lenges when u ning i in o a mode n ex ual DSML, we can-
no claim any esul s ou side o he TOSCA language.
5. Rela ed Wo k
On a gene al le el, we apply he ModelGen ope a o o
A zeni e al. [2]. This ope a o de ines a gene al pa e n
which uses b idges on he me a-language le el o de i e
ans o ma ions on he language le el and ins ance le el.
This pa e n also i s ou a chi ec u e as p esen ed in Fig-
u e 1. T adi ionally, his pa e n is p oposed and used in he
da abase ield o schema-independen ans o ma ions, bu
i is o cou se also applicable in language enginee ing.
Wi h espec o he comple e ans o ma ion chain p o-
posed in his pape , he e exis a se o ela ed app oaches
which co e ce ain aspec s o his chain by ocusing on
he ansi ions be ween he in ol ed echnical spaces: (i)
b idges be ween XMLwa e and modelwa e and (ii)b idges
be ween modelwa e and g amma wa e. To he bes o ou
knowledge, he e exis s only one app oach [10] o b idge
XMLwa e and g amma wa e di ec ly which ocus on XSD
and X ex . Bu o cou se, he e a e o he e o s in di e en
con ex s o b idging XSD and BNF-like languages such as
i is done in he con ex o g amma hun ing [21].
XMLwa e and Modelwa e Se e al app oaches o eal-
izing ei he o wa d enginee ing om modelwa e o XML-
wa e [5, 7] o e e se enginee ing om XMLwa e o mod-
elwa e [16, 18] exis . In p e ious wo k [18], we p esen ed
an app oach o gene a ing MOF-based me amodels om
DTDs. Ou wo k p esen ed in his pape di e s om he
p e ious app oach in se e al ways, e.g., XSDs a e used in-
s ead o DTDs and he ull ansi ion o ex ual modeling
languages is done ins ead o s opping wi h he c ea ion o
he language’s abs ac syn ax.
Modelwa e and G amma wa e The e exis g amma -
d i en app oaches [1, 15, 20] in which me amodels a e
gene a ed ou o exis ing g amma de ini ions. In addi ion,
me amodel-d i en app oaches gene a e g amma s ou o ex-
is ing me amodels [11, 17] o link me amodels wi h g am-
ma s [13]. Especially, EMFTex [12] seems o be an in e -
es ing al e na i e o X ex used in his pape , as he e is also
he possibili y o de ine se e al conc e e ex ual syn axes
o one me amodel. As opposed o ou wo k, he use o
hese app oaches has o de ine i s own ans o ma ion ules
be ween ei he indi idual g amma ules o e minal ules
and me amodel elemen s ins ead o elying on a gene ic and
au oma ed ans o ma ion o XSDs as p oposed in his wo k.
XMLwa e and G amma wa e Eyshold and Rupp ech
p esen a epo [10] on he mig a ion o a modeling en i -
onmen om XML/UML o X ex /GMF. Due o ine iciency
o XML in e ms o e bose syn ax and lack o ool suppo
hey pe o m he mode niza ion o a legacy modeling en-
i onmen . In de ail, hey s a by c ea ing Eco e me amod-
els om XSDs, hen pe o m changes as well as cus omiza-
ions o X ex ea u es, and inally end up wi h a mode nized
language and wo kbench. Compa ed o ou app oach, hey
manually pe o m me amodel changes as well as cus om-
iza ions o X ex ea u es ins ead o building a gene ic and
au oma ed ans o ma ion chain.
6. Conclusion and Fu u e Wo k
In his wo k we aimed a highligh ing cu en ly exis ing lim-
i a ions in b idging XML-based languages wi h ex ual mod-
eling languages and o e coming hem by means o se e al
imp o emen s. This includes dealing wi h speci ic XSD con-
cep s, namely mixed con en , wildca ds, es ic ions, iden i-
ie and iden i ie e e ences, and da a ypes, as well as con-
c e e syn ax cus omiza ion. The main p inciple ha guided
ou solu ion was o ep esen each XSD concep explici ly
in he modelwa e echnical space. By his, impo an cha -
ac e is ics o XML such as being able o ep esen semi-
s uc u ed da a is now also be e e lec ed in he co espond-
ing ex ual modeling languages.
The p oposed imp o emen s ha e been bundled in o he
XMLTex amewo k as well as e alua ed ega ding com-
ple eness. In pa icula , he e alua ion has been ca ied ou
based on he OASIS TOSCA s anda d. The e alua ion es-
ul s indica e ha he p oposed XMLTex amewo k signi ic-
an ly imp o es o e exis ing solu ions and gene a es a ex-
ual modeling language o TOSCA ha is mo e comple e
han he cu en ly a ailable hand-c a ed Cloudi y DSL.
Wi h espec o u u e wo k, i s , o ully exploi he be-
ne i s o mode nizing XSD-based languages wi h modeling
languages, we s i e o ex end he cu en amewo k by ad-
d essing cu en ly un esol ed challenges as well as e en u-
ally a ising challenges when conduc ing u he case s udies.
In de ail, we plan o conduc case s udies based on di e en
examples o he TOSCA language as well as o he XSD-
based languages co e ing di e en se s o XML Schema
concep s. Secondly, we plan o quan i y he ac ual impac
o mode nizing XSD-based languages by conduc ing use
s udies ocusing on human-comp ehension.
Acknowledgmen s
This wo k is unded by he Eu opean Commission unde
ICT Policy Suppo P og amme, g an no. 317859 and by
he Ch is ian Dopple Fo schungsgesellscha and he BM-
WFW, Aus ia.
Re e ences
[1] M. Alanen and I. Po es. A Rela ion Be ween Con ex -F ee
G amma s and Me a Objec Facili y Me amodels. Technical
epo , Tu ku Cen e o Compu e Science, 2003.
[2] P. A zeni, P. Cappella i, and P. A. Be ns ein. ModelGen:
Model Independen Schema T ansla ion. In P oc. o ICDE,
pages 1111–1112, 2005.
[3] G. J. Bad os. Ja aML: A Ma kup Language o Ja a Sou ce
Code. Compu e Ne wo ks, 33(1):159–177, 2000.
[4] T. Binz, U. B ei enb¨
uche , F. Haup , O. Kopp, F. Leymann,
A. Nowak, and S. Wagne . OpenTOSCA – a un ime o
TOSCA-based cloud applica ions. Sp inge , 2013.
[5] L. Bi d, A. Goodchild, and T. Halpin. Objec Role Modelling
and XML-Schema. In P oc. o ER, pages 309–322. Sp inge ,
2000.
[6] P. V. Bi on and A. Malho a. XML schema pa 2: Da a ypes
second edi ion. W3C ecommenda ion, W3C, Oc . 2004.
h p://www.w3.o g/TR/2004/REC-xmlschema-2-20041028/.
[7] R. Con ad, D. Sche ne , and J. C. F ey ag. XML Concep-
ual Modeling using UML. In P oc. o ER, pages 558–571.
Sp inge , 2000.
[8] De ek Palma, Thomas Spa zie . Topology and O ches a ion
Speci ica ion o Cloud Applica ions Ve sion 1.0, 2013.
[9] M. Eyshold and H. Beh ens. X ex : Implemen you Lan-
guage Fas e han he Quick and Di y Way. In Companion
P oc. o OOPSLA, pages 307–309. ACM, 2010.
[10] M. Eyshold and J. Rupp ech . Mig a ing a La ge Modeling
En i onmen om XML/UML o X ex /GMF. In Companion
P oc. o OOPSLA, pages 97–104. ACM, 2010.
[11] F. Heiden eich, J. Johannes, S. Ka ol, M. Sei e , and
C. Wende. De i a ion and Re inemen o Tex ual Syn ax o
Models. In P oc. o ECMDA-FA, pages 114–129. Sp inge .
[12] F. Heiden eich, J. Johannes, S. Ka ol, M. Sei e , and
C. Wende. Model-Based Language Enginee ing wi h EMF-
Tex . In P oc. o GTTSE, pages 322–345. Sp inge , 2011.
[13] F. Jouaul , J. B´
ezi in, and I. Ku e . TCS: a DSL o he spe-
ci ica ion o ex ual conc e e syn axes in model enginee ing.
In P oc. o GPCE, pages 249–254. ACM, 2006.
[14] P. Klin , R. L¨
ammel, and C. Ve hoe . Towa d an enginee ing
discipline o g amma wa e. ACM T ans. So w. Eng. Me h-
odol., 14(3):331–380, 2005.
[15] A. Kune . Semi-Au oma ic Gene a ion o Me amodels and
Models om G amma s and P og ams. Elec onic No es in
Theo e ical Compu e Science, 211:111–119, 2008.
[16] M. Mani, D. Lee, and R. R. Mun z. Seman ic Da a Model-
ing using XML Schemas. In P oc. o ER, pages 149–163.
Sp inge , 2001.
[17] P.-A. Mulle and M. Hassen o de . HUTN as a b idge be ween
modelwa e and g amma wa e-an expe ience epo . In P oc.
o WISME Wo kshop, 2005.
[18] A. Schaue hube , M. Wimme , E. Kapsamme , W. Schwinge ,
and W. Re schi zegge . B idging WebML o model-d i en
enginee ing: om documen ype de ini ions o me a objec
acili y. IET So wa e, 1(3):81–97, 2007.
[19] R. S. Wallace. The ana omy o ALICE. Sp inge , 2009.
[20] M. Wimme and G. K amle . B idging G amma wa e and
Modelwa e. In P oc. o Sa elli e E en s a MoDELS, pages
159–168. Sp inge , 2006.
[21] V. Zay se . G amma Zoo: A co pus o expe imen al g am-
ma wa e. Sci. Compu . P og am., 98:28–51, 2015.