Louis C. M. van Gool

dblp:273/5078 · also Louis van Gool · DBLP profile ↗
← Back
11ranked-venue papers
1as first author
7since 2021 · last 2025
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 10 · 1 first-author · 6 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 since 2021
YearPublicationVenuePosition
2025 OIL: an industrial case study in language engineering with Spoofax
abstract
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.
Olav Bunte, Jasper Denkers, Louis C. M. van Gool, Jurgen J. Vinju, Eelco Visser, Tim A. C. Willemse, Andy Zaidman
Softw. Syst. Model.3
2025 Formalising and analysing SMMT models using the mCRL2 toolset
abstract
Abstract The proprietary State Machine Modelling Tool (SMMT), developed and maintained at Canon Production Printing, can be used to model software components using state machines and generate executable production code. We provide an operational semantics of the language supported by SMMT, derived from already existing code generators and discussions with engineers. By subsequently formalising this operational semantics in the mCRL2 language, we unlock the ability to apply formal verification to SMMT models during their design using the mCRL2 toolset. Using the mCRL2 formalisation, we have found various subtle bugs in the implementation of the SMMT tool, affecting its correctness, and proposed fixes for SMMT.
Jordi E. P. M. van Laarhoven, Olav Bunte, Louis C. M. van Gool, Tim A. C. Willemse
Int. J. Softw. Tools Technol. Transf.3
2024 Formalising the Industrial Language SMMT in mCRL2
Jordi E. P. M. van Laarhoven, Olav Bunte, Louis C. M. van Gool, Tim A. C. Willemse
FMICS3
2023 On the Preservation of Properties When Changing Communication Models
Olav Bunte, Louis C. M. van Gool, Tim A. C. Willemse
SOFSEM2
2023 Taming complexity of industrial printing systems using a constraint-based DSL: An industrial experience report
abstract
Abstract Flexible printing systems are highly complex systems that consist of printers, that print individual sheets of paper, and finishing equipment, that processes sheets after printing, for example, assembling a book. Integrating finishing equipment with printers involves the development of control software that configures the devices, taking hardware constraints into account. This control software is highly complex to realize due to (1) the intertwined nature of printing and finishing, (2) the large variety of print products and production options for a given product, and (3) the large range of finishers produced by different vendors. We have developed a domain‐specific language called CSX that offers an interface to constraint solving specific to the printing domain. We use it to model printing and finishing devices and to automatically derive constraint solver‐based environments for automatic configuration. We evaluate CSX on its coverage of the printing domain in an industrial context, and we report on lessons learned on using a constraint‐based DSL in an industrial context.
Jasper Denkers, Marvin Brunner, Louis C. M. van Gool, Jurgen J. Vinju, Andy Zaidman, Eelco Visser
Softw. Pract. Exp.3
2022 Formal verification of OIL component specifications using mCRL2
abstract
Abstract To aid in making software bug-free, several high-tech companies are moving from coding to modelling. In some cases model checking techniques are explored or have already been adopted to get more value from these models. This also holds for Canon Production Printing, where the language OIL was developed for modelling control-software components. In this paper, we present OIL and give its semantics. We define a translation from OIL to mCRL2 to enable the use of model checking techniques. Moreover, we discuss validity requirements on OIL component specifications and show how these can be formalised and verified using model checking. To test the feasibility of these techniques, we apply them to two models of systems used in production.
Olav Bunte, Louis C. M. van Gool, Tim A. C. Willemse
Int. J. Softw. Tools Technol. Transf.2
2021 Configuration Space Exploration for Digital Printing Systems
abstract
Abstract Within the printing industry, much of the variety in printed applications comes from the variety in finishing. Finishing comprises the processing of sheets of paper after being printed, e.g. to form books. The configuration space of finishers, i.e. all possible configurations given the available features and hardware capabilities, are large. Current control software minimally assists operators in finding useful configurations. Using a classical modelling and integration approach to support a variety of configuration spaces is suboptimal with respect to operatability, development time, and maintenance burden. In this paper, we explore the use of a modeling language for finishers to realize optimizing decision making over configuration parameters in a systematic way and to reduce development time by generating control software from models. We present CSX, a domain-specific language for high-level declarative specification of finishers that supports specification of the configuration parameters and the automated exploration of the configuration space of finishers. The language serves as an interface to constraint solving, i.e., we use low-level SMT constraint solving to find configurations for high-level specifications. We present a denotational semantics that expresses a translation of CSX specifications to SMT constraints. We describe the implementation of the CSX compiler and the CSX programming environment (IDE), which supports well-formedness checking, inhabitance checking, and interactive configuration space exploration. We evaluate CSX by modelling two realistic finishers. Benchmarks show that CSX has practical performance (<1s) for several scenarios of configuration space exploration.
Jasper Denkers, Marvin Brunner, Louis C. M. van Gool, Eelco Visser
SEFM3
2020 Formal Verification of OIL Component Specifications using mCRL2
Olav Bunte, Louis C. M. van Gool, Tim A. C. Willemse
FMICS2
2018 Migrating custom DSL implementations to a language workbench (tool demo)
abstract
We present a tool architecture that supports migrating custom domain-specific language (DSL) implementations to a language workbench. We demonstrate an implementation of this architecture for models in the domains of defining component interfaces (IDL) and modeling system behavior (OIL) which are developed and used at a digital printer manufacturing company. Increasing complexity and the lack of DSL syntax and IDE support for existing implementations in Python based on XML syntax hindered their evolution and adoption. A reimplementation in Spoofax using modular language definition enables composition between IDL and OIL and introduces more concise DSL syntax and IDE support. The presented tool supports migrating to new implementations while being backward compatible with existing syntax and related tooling.
Jasper Denkers, Louis C. M. van Gool, Eelco Visser
SLE2
2006 Compositional MDA
Louis C. M. van Gool, Teade Punter, Marc Hamilton, Remco van Engelen
MoDELS1
2002 Consistent specification of interface suites in UML
Ella E. Roubtsova, Louis C. M. van Gool, Ruurd Kuiper 0001, H. B. M. Jonkers
Softw. Syst. Model.2