Taming complexity of industrial printing systems using a constraint-based DSL: An industrial experience report

被引:0
作者
Denkers, Jasper [1 ]
Brunner, Marvin [2 ]
van Gool, Louis [2 ]
Vinju, Jurgen J. [3 ,4 ]
Zaidman, Andy [1 ]
Visser, Eelco [1 ]
机构
[1] Delft Univ Technol, Software Technol, Delft, Netherlands
[2] Canon Prod Printing, Venlo, Netherlands
[3] Ctr Wiskunde & Informat, Software Anal & Transformat, Amsterdam, Netherlands
[4] Eindhoven Univ Technol, Software Engn & Technol, Eindhoven, Netherlands
关键词
constraint programming; digital printing systems; domain-specific languages; industrial experiences; LANGUAGE; MINIZINC;
D O I
10.1002/spe.3239
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:2026 / 2064
页数:39
相关论文
共 21 条
[1]  
Barrett C, 2021, FRONT ARTIF INTEL AP, P1267, DOI 10.3233/FAIA201017
[2]   Stratego/XT 0.17. A language and toolset for program transformation [J].
Bravenboer, Martin ;
Kalleberg, Karl Trygve ;
Vermaas, Rob ;
Visser, Eelco .
SCIENCE OF COMPUTER PROGRAMMING, 2008, 72 (1-2) :52-70
[3]   A compiler and virtual machine for constraint-logic object-oriented programming with Muli [J].
Dagefoerde, Jan C. ;
Kuchen, Herbert .
JOURNAL OF COMPUTER LANGUAGES, 2019, 53 :63-78
[4]   MOO: An architectural framework for runtime optimization of multiple system objectives in embedded control software [J].
de Roo, Arjan ;
Sozer, Hasan ;
Bergmans, Lodewijk ;
Aksit, Mehmet .
JOURNAL OF SYSTEMS AND SOFTWARE, 2013, 86 (10) :2502-2519
[5]   Configuration Space Exploration for Digital Printing Systems [J].
Denkers, Jasper ;
Brunner, Marvin ;
van Gool, Louis ;
Visser, Eelco .
SOFTWARE ENGINEERING AND FORMAL METHODS (SEFM 2021), 2021, 13085 :423-442
[6]   Evaluating and comparing language workbenches Existing results and benchmarks for the future [J].
Erdweg, Sebastian ;
van der Storm, Tijs ;
Voelter, Markus ;
Tratt, Laurence ;
Bosman, Remi ;
Cook, William R. ;
Gerritsen, Albert ;
Hulshout, Angelo ;
Kelly, Steven ;
Loh, Alex ;
Konat, Gabriel ;
Molina, Pedro J. ;
Palatnik, Martin ;
Pohjonen, Risto ;
Schindler, Eugen ;
Schindler, Klemens ;
Solmi, Riccardo ;
Vergu, Vlad ;
Visser, Eelco ;
van der Vlist, Kevin ;
Wachsmuth, Guido ;
van der Woning, Jimi .
COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2015, 44 :24-47
[7]  
Ericsson K. A., 1993, Protocol analysis: Verbal reports as data
[8]  
Fowler M., 2005, Language Workbenches: The Killer-App for Domain Specific Languages?
[9]   Alloy: A lightweight object modelling notation [J].
Jackson, D .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2002, 11 (02) :256-290
[10]   The Spoofax Language Workbench Rules for Declarative Specification of Languages and IDEs [J].
Kats, Lennart C. L. ;
Visser, Eelco .
ACM SIGPLAN NOTICES, 2010, 45 (10) :444-463