TY - JOUR
T1 - OIL
T2 - An industrial case study in language engineering with Spoofax
AU - Bunte, Olav
AU - Denkers, Jasper
AU - van Gool, Louis C.M.
AU - Vinju, Jurgen J.
AU - Visser, Eelco
AU - Willemse, Tim A.C.
AU - Zaidman, Andy
PY - 2025
Y1 - 2025
N2 - 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.
AB - 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.
KW - Case study
KW - Language engineering
KW - Language workbench
UR - http://www.scopus.com/inward/record.url?scp=85195221376&partnerID=8YFLogxK
U2 - 10.1007/s10270-024-01185-x
DO - 10.1007/s10270-024-01185-x
M3 - Article
AN - SCOPUS:85195221376
SN - 1619-1366
VL - 24
SP - 139
EP - 182
JO - Software and Systems Modeling
JF - Software and Systems Modeling
IS - 1
ER -