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.

, , ,
doi.org/10.1002/spe.3239
Journal of Software : Practice and Experience

Denkers, J., Brunner, M., van Gool, L., Vinju, J., Zaidman, A., & Visser, E. (2023). Taming complexity of industrial printing systems using a constraint-based DSL: An industrial experience report. Journal of Software : Practice and Experience. doi:10.1002/spe.3239