Apart form the general possibility of porting the
LanguageLab bootstrap to MPS, several technical
tricks had to be used to make LanguageLab fit into
MPS. This is mostly due to the different philosophy
behind the two language workbenches, in particular
their differing views on language aspects.
For making a bootstrap work in general, a lan-
guage workbench needs to be able to use the same
language as defining and defined specification, which
is a special case of the standard language workbench
functionality. Moreover, it has to keep the used lan-
guage stable and to allow changing the type of an in-
stance for introducing a loop. MPS, Xtext and Lan-
guageLab fulfill all these requirements.
ACKNOWLEDGEMENTS
We thank the reviewers for their helpful comments.
REFERENCES
Atkinson, C. and K
¨
uhne, T. (2003). Model-driven devel-
opment: a metamodeling foundation. IEEE Software,
20(5):36–41.
Campagne, F. (2014). The MPS Language Workbench: Vol-
ume I. Fabien Campagne.
Erdweg, S., Storm, T. v. d., 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., Vlist, K.
v. d., Wachsmuth, G. H., and Woning, J. v. d. (2013).
The state of the art in language workbenches. In Er-
wig, M., Paige, R. F., and Wyk, E. V., editors, Soft-
ware Language Engineering, number 8225 in Lecture
Notes in Computer Science, pages 197–217. Springer
International Publishing.
Fields, D. and Saunders, S. (2006). IntelliJ Idea In Action.
Dreamtech Press.
Fowler, M. (2005). Language workbenches: The killer-app
for domain specific languages? http://www. martin-
fowler.com/articles/languageWorkbench.html.
Gjøsæter, T. and Prinz, A. (2011). Teaching Computer Lan-
guage Handling - From Compiler Theory to Meta-
modelling, pages 446–460. Springer Berlin Heidel-
berg, Berlin, Heidelberg.
Gjøsæter, T. and Prinz, A. (2013). Languagelab 1.1 user
manual. Technical report, University of Agder.
Gonzalez-Perez, C. and Henderson-Sellers, B. (2008).
Metamodelling for Software Engineering. Wiley Pub-
lishing.
JetBrains (2018). Languagelab build server. https://team
city.jetbrains.com/viewType.html?buildTypeId=MPS
LanguageLab LlAll.
LanguageLab (2018). Languagelab git repository. https://
tools.uia.no/stash/scm/projects 2015/mps-language
lab.git.
Nytun, J. P., Prinz, A., and Tveit, M. S. (2006). Au-
tomatic generation of modelling tools. In Rensink,
A. and Warmer, J., editors, Model Driven Architec-
ture – Foundations and Applications, number 4066 in
Lecture Notes in Computer Science, pages 268–283.
Springer Berlin Heidelberg.
Pech, V., Shatalin, A., and V
¨
olter, M. (2013). JetBrains
MPS as a tool for extending java. In Proceedings of
the 2013 International Conference on Principles and
Practices of Programming on the Java Platform: Vir-
tual Machines, Languages, and Tools, PPPJ ’13, pages
165–168. ACM.
Stoffel, R. (2010). Comparing language workbenches. In
MSE-seminar: Program Analysis and Transforma-
tion, pages 18–24.
Szab
´
o, T., Voelter, M., Kolb, B., Ratiu, D., and Schaetz,
B. (2014). Mbeddr: Extensible languages for embed-
ded software development. In Proceedings of the 2014
ACM SIGAda Annual Conference on High Integrity
Language Technology, HILT ’14, pages 13–16, New
York, NY, USA. ACM.
V
¨
olter, M. (2014). Generic tools, specific languages. PhD
thesis, TU Delft, Delft University of Technology.
V
¨
olter, M., Siegmund, J., Berger, T., and Kolb, B. (2014).
Towards user-friendly projectional editors. In Combe-
male, B., Pearce, D. J., Barais, O., and Vinju, J. J., ed-
itors, Software Language Engineering, volume 8706
of Lecture Notes in Computer Science, pages 41–61.
Springer International Publishing.
Ward, M. P. (1994). Language oriented programming.
Software-Concepts and Tools, 15(4):147–161.
MODELSWARD 2019 - 7th International Conference on Model-Driven Engineering and Software Development
352