J. Denkers
Please Note
6 records found
1
OIL
An industrial case study in language engineering with Spoofax
Language workbenches are tools for developing and deploying DSLs. They aim to reduce the investment that is required for DSLs and to improve the usability of the created DSLs. By lowering the investment, language workbenches can improve the opportunity for DSLs to be effective. Although much academic work has been published about the underlying technology and concepts of language workbenches, there is little empirical evidence on the actual impact of language workbenches in practice.
In this dissertation, we contribute such empirical evidence on the creation and evaluation of DSLs that are developed with language workbenches. We do so by conducting case studies in an industrial setting. This is important, as such empirical evidence can help others to determine whether to adopt DSLs developed with language workbenches. In particular, we use and evaluate Spoofax, a language workbench developed at the Delft University of Technology.
The context of our work is Canon Production Printing, a digital printing systems manufacturing company. Canon Production Printing provides a good environment for evaluating DSLs as they have obtained extensive domain knowledge for complex domains like modeling behavior, performance, and physical aspects of printing systems. We develop and evaluate DSLs for two of such domains. First, we develop CSX, a new DSL for the domain of configuration spaces of digital printing systems. Second, we reimplement OIL, an existing DSL for control software based on state machines. In both cases, we compare the newly created DSL with the existing situation.
For both cases, we draw generally positive conclusions. For example, in the CSX project, the DSL enables the use of constraint-solving technology which aids automatic and accurate configuration of printing systems, which can ultimately improve the quality, performance, and usability of printing systems. In the OIL project, we found that Spoofax is more than adequate for developing a complex DSL with industrial requirements and we found indications that it is more productive to develop a DSL with Spoofax compared to using a GPL and available libraries.
Our extensive case studies at Canon Production Printing have taught us valuable lessons and insights. In particular, to make good on the promise of DSLs in industry, language workbenches need to improve in terms of the non-functional aspects. We expect that improving on, e.g., portability, usability, and documentation will improve the impact of Spoofax on industrial DSL development.
...
Language workbenches are tools for developing and deploying DSLs. They aim to reduce the investment that is required for DSLs and to improve the usability of the created DSLs. By lowering the investment, language workbenches can improve the opportunity for DSLs to be effective. Although much academic work has been published about the underlying technology and concepts of language workbenches, there is little empirical evidence on the actual impact of language workbenches in practice.
In this dissertation, we contribute such empirical evidence on the creation and evaluation of DSLs that are developed with language workbenches. We do so by conducting case studies in an industrial setting. This is important, as such empirical evidence can help others to determine whether to adopt DSLs developed with language workbenches. In particular, we use and evaluate Spoofax, a language workbench developed at the Delft University of Technology.
The context of our work is Canon Production Printing, a digital printing systems manufacturing company. Canon Production Printing provides a good environment for evaluating DSLs as they have obtained extensive domain knowledge for complex domains like modeling behavior, performance, and physical aspects of printing systems. We develop and evaluate DSLs for two of such domains. First, we develop CSX, a new DSL for the domain of configuration spaces of digital printing systems. Second, we reimplement OIL, an existing DSL for control software based on state machines. In both cases, we compare the newly created DSL with the existing situation.
For both cases, we draw generally positive conclusions. For example, in the CSX project, the DSL enables the use of constraint-solving technology which aids automatic and accurate configuration of printing systems, which can ultimately improve the quality, performance, and usability of printing systems. In the OIL project, we found that Spoofax is more than adequate for developing a complex DSL with industrial requirements and we found indications that it is more productive to develop a DSL with Spoofax compared to using a GPL and available libraries.
Our extensive case studies at Canon Production Printing have taught us valuable lessons and insights. In particular, to make good on the promise of DSLs in industry, language workbenches need to improve in terms of the non-functional aspects. We expect that improving on, e.g., portability, usability, and documentation will improve the impact of Spoofax on industrial DSL development.
Taming complexity of industrial printing systems using a constraint-based DSL
An industrial experience report
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.
Domain-specific languages (DSLs) have extensively been investigated in research and have frequently been applied in practice for over 20 years. While DSLs have been attributed improvements in terms of productivity, maintainability, and taming accidental complexity, surprisingly, we know little about their actual impact on the software engineering practice. This PhD project, that is done in close collaboration with our industrial partner Océ - A Canon Company, offers a unique opportunity to study the application of DSLs using a longitudinal field study. In particular, we focus on introducing DSLs with language workbenches, i.e., infrastructures for designing and deploying DSLs, for projects that are already running for several years and for which extensive domain analysis outcomes are available. In doing so, we expect to gain a novel perspective on DSLs in practice. Additionally, we aim to derive best practices for DSL development and to identify and overcome limitations in the current state-of-the-art tooling for DSLs.