
module Automaton {
reference syntax {
Program <-- "automaton"
Identifier "{" States Transitions "}";
States <-- State States;
States <-- State;
State <-- "state" Identifier;
//…
}
}
NL
1
2
3
4
5
6
7
8
9
10
Figure 6: A Neverlang (NL) module defining the syntax of
an automaton language.
thermore, modules in Neverlang do not import other
grammars or modules themselves, but, instead, mod-
ules are composed in a higher level meta-language
that defines a language out of a combination of dif-
ferent modules. Besides these different approaches,
Neverlang supports all other grammar concepts that
we identify in our taxonomy. As such Neverlang is
compatible, too, and language engineers employing
this LWB can benefit from our results.
5 CONCLUSION AND FUTURE
WORK
This paper presents a taxonomy for grammar change
operators and discusses their impact on the meta-
model level M2 and modeling level M1. Furthermore,
we provide solutions to the impacts that may produce
conflicts on the respective levels. In our case study,
we implemented a tool to demonstrate that our tax-
onomy can be leveraged to perform historical CIA
and we argued why our taxonomy is applicable to
grammar-based language workbenches beyond Xtext.
In the future we plan to extend the taxonomy to recog-
nize impacts of grammar changes on other language
constituents, e.g., on well-formedness rules or code
generators. Furthermore, we plan to extend it to a tool
that can automatically derive dependency graphs from
grammars that then can be leveraged for change prop-
agation and can assist language engineers to maintain
DSLs in an ever evolving system context.
ACKNOWLEDGEMENTS
This research was partially funded by NWO (the
Dutch Research Council) under the NWO AES Per-
spectief program, project code P18-03 P3. The
authors of the University of Stuttgart were sup-
ported by the Deutsche Forschungsgemeinschaft
(DFG, German Research Foundation) [grant number
441207927].
REFERENCES
Aschauer, T., Dauenhauer, G., and Pree, W. (2010). A mod-
eling language’s evolution driven by tight interaction
between academia and industry. Proceedings - Inter-
national Conference on Software Engineering, 2:49–
58.
Bohner, S. A. (1996). Impact analysis in the software
change process: a year 2000 perspective. In 1996
Proceedings of International Conference on Software
Maintenance, pages 42–51, USA. IEEE.
Butting, A., Pfeiffer, J., Rumpe, B., and Wortmann, A.
(2020). A compositional framework for systematic
modeling language reuse. In Syriani, E., Sahraoui,
H. A., de Lara, J., and Abrah
˜
ao, S., editors, MoD-
ELS ’20: ACM/IEEE 23rd International Conference
on Model Driven Engineering Languages and Sys-
tems, Virtual Event, Canada, 18-23 October, 2020,
pages 35–46. ACM.
Durisic, D., Staron, M., Tichy, M., and Hansson, J. (2014).
Evolution of Long-Term Industrial Meta-Models – An
Automotive Case Study of AUTOSAR. In EUROMI-
CRO Conference on Software Engineering and Ad-
vanced Applications, pages 141–148.
Efftinge, S. and Spoenemann, M. (2024). Xtext - The
Grammar Language — eclipse.dev. https://eclipse.
dev/Xtext/documentation/index.html. [Accessed May
23, 2024].
Erdweg, S., van der Storm, T., V
¨
olter, M., Boersma, M.,
Bosman, R., Cook, W. R., Gerritsen, A., Hulshout,
A., Kelly, S., Loh, A., Konat, G. D. P., Molina, P. J.,
Palatnik, M., Pohjonen, R., Schindler, E., Schindler,
K., Solmi, R., Vergu, V. A., Visser, E., van der Vlist,
K., Wachsmuth, G., and van der Woning, J. (2013).
The state of the art in language workbenches - con-
clusions from the language workbench challenge. In
Erwig, M., Paige, R. F., and Wyk, E. V., editors, Soft-
ware Language Engineering - 6th International Con-
ference, SLE 2013, Indianapolis, IN, USA, October
26-28, 2013. Proceedings, volume 8225 of Lecture
Notes in Computer Science, pages 197–217. Springer.
Hebig, R., Khelladi, D. E., and Bendraou, R. (2017). Ap-
proaches to co-evolution of metamodels and models:
A survey. IEEE Transactions on Software Engineer-
ing, 43:396–414.
Herrmannsdoerfer, M., Vermolen, S. D., and Wachsmuth,
G. (2011). An extensive catalog of operators for the
coupled evolution of metamodels and models. Lecture
Notes in Computer Science (including subseries Lec-
ture Notes in Artificial Intelligence and Lecture Notes
in Bioinformatics), 6563 LNCS:163–182.
H
¨
olldobler, K., Kautz, O., and Rumpe, B. (2021). Mon-
tiCore Language Workbench and Library Handbook:
Edition 2021. Aachener Informatik-Berichte, Soft-
ware Engineering, Band 48. Shaker Verlag.
H
¨
olldobler, K., Michael, J., Ringert, J. O., Rumpe, B., and
Wortmann, A. (2019). Innovations in model-based
software and systems engineering. Journal of Object
Technology, 18(1):1–60.
H
¨
olldobler, K., Roth, A., Rumpe, B., and Wortmann, A.
(2017). Advances in modeling language engineer-
A Taxonomy of Change Types for Textual DSL Grammars
175