Domain-specific languages (DSLs) promise to improve the software engineering process, e.g., by reducing software development and maintenance effort and by improving communication, and are therefore seeing increased use in industry. To support the creation and deployment of DSLs, language workbenches have been developed. However, little is published about the actual added value of a language workbench in an industrial setting, compared to not using a language workbench. In this paper, we evaluate the productivity of using the Spoofax language workbench by comparing two implementations of an industrial DSL, one in Spoofax and one in Python, that already existed before the evaluation. The subject is the Open Interaction Language (OIL): a complex DSL for implementing control software with requirements imposed by its industrial context at Canon Production Printing. Our findings indicate that it is more productive to implement OIL using Spoofax compared to using Python, especially if editor services are desired. Although Spoofax was sufficient to implement OIL, we find that Spoofax should especially improve on practical aspects to increase its adoptability in industry.

, ,
Canon Production Printing, Venlo, The Netherlands
Software and System Modelling
Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands

Bunte, O., Denkers, J., van Gool, L., Vinju, J., Visser, E., Willemse, T. A. C., & Zaidman, A. (2024). OIL: An industrial case study in language engineering with Spoofax. Software and System Modelling, 2024. doi:10.1007/s10270-024-01185-x