scieee Science in your language
[en] (orig)

XMLText: From XML Schema to Xtext

Abstract

A multitude of Domain-Specific Languages (DSLs) have been implemented with XML Schemas. While such DSLs are well adopted and flexible, they miss modern DSL editor functionality. Moreover, since XML is primarily designed as a machine-processible format, artifacts defined with XMLbased DSLs lack comprehensibility and, therefore, maintainability. In order to tackle these shortcomings, we propose a bridge between the XML Schema Definition (XSD) language and text-based metamodeling languages. This bridge exploits existing seams between the technical spaces XMLware, modelware, and grammarware as well as closes identified gaps. The resulting approach is able to generate Xtextbased editors from XSDs providing powerful editor functionality, customization options for the textual concrete syntax style, and round-trip transformations enabling the exchange of data between the involved technical spaces. We evaluate our approach by a case study on TOSCA, which is an XML-based standard for defining Cloud deployments. The results show that our approach enables bridging XMLware with modelware and grammarware in several ways going beyond existing approaches and allows the automated generation of editors that are at least equivalent to editors manually built for XML-based languages.

Read accessible full text

XMLText: From XML Schema to Xtext

Author: Neubauer, Patrick; Bergmayr, Alexander; Mayerhofer, Tanja; Troya Castilla, Javier; Wimmer, Manuel
Publisher: ACM Digital Library
Year: 2015
DOI: 10.1145/2814251.2814267
Source: https://idus.us.es/bitstreams/48b8e2d1-c2bd-47cf-9a6a-aeefb35829fa/download
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.