OIL

An industrial case study in language engineering with Spoofax

Journal Article (2025)
Author(s)

Olav Bunte (Eindhoven University of Technology)

J. Denkers (TU Delft - Programming Languages)

Louis C.M. van Gool (Canon Production Printing)

Jurgen J. Vinju (Eindhoven University of Technology, Centrum Wiskunde & Informatica (CWI))

E. Visser (TU Delft - Programming Languages)

Tim A.C. Willemse (Eindhoven University of Technology)

Andy Zaidman (TU Delft - Software Technology)

Department
Software Technology
DOI related publication
https://doi.org/10.1007/s10270-024-01185-x
More Info
expand_more
Publication Year
2025
Language
English
Department
Software Technology
Issue number
1
Volume number
24
Pages (from-to)
139-182
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

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.