Daniel Friesel, Kathrin Elmenhorst, L. Kaiser, Michael Müller, O. Spinczyk
Despite decades of research and clear advantages, performance-aware configuration of real-world software product lines is still an exception rather than the norm. One reason for this may be tooling: configuration software with support for non-functional property models is generally not compatible with the configuration and build process of existing product lines. Specifically, the Kconfig language is popular in open source software projects, but neither language nor configuration frontends support performance models. To address this, we present kconfig-webconf: a performance-aware, Kconfig-compatible software product line configuration frontend. It is part of a toolchain that can automatically generate performance models with a minimal amount of changes to a software product line's build process. With such a performance model, kconfig-webconf can serve as a performance-aware drop-in replacement for existing Kconfig frontends. We evaluate its usage in five examples, including the busybox multi-call binary and the resKIL agricultural AI product line.
{"title":"kconfig-webconf: retrofitting performance models onto kconfig-based software product lines","authors":"Daniel Friesel, Kathrin Elmenhorst, L. Kaiser, Michael Müller, O. Spinczyk","doi":"10.1145/3503229.3547026","DOIUrl":"https://doi.org/10.1145/3503229.3547026","url":null,"abstract":"Despite decades of research and clear advantages, performance-aware configuration of real-world software product lines is still an exception rather than the norm. One reason for this may be tooling: configuration software with support for non-functional property models is generally not compatible with the configuration and build process of existing product lines. Specifically, the Kconfig language is popular in open source software projects, but neither language nor configuration frontends support performance models. To address this, we present kconfig-webconf: a performance-aware, Kconfig-compatible software product line configuration frontend. It is part of a toolchain that can automatically generate performance models with a minimal amount of changes to a software product line's build process. With such a performance model, kconfig-webconf can serve as a performance-aware drop-in replacement for existing Kconfig frontends. We evaluate its usage in five examples, including the busybox multi-call binary and the resKIL agricultural AI product line.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"53 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126633354","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
W. D. F. Mendonça, S. Vergilio, G. Michelon, Alexander Egyed, W. K. Assunção
To ensure the quality of Highly Configurable Software (HCS) in an evolution and maintenance scenario is a challenging task. As HCSs evolve, new features are added, changed, or removed, which hampers the selection and evolution of test cases. The use of test traceability reports can help in this task, but there is a lack of studies addressing HCS test-to-feature traceability. Existing work usually are based on the variability model, which is not always available or updated. Some tools only link test cases to code lines. Considering this gap, this paper introduces Test2Feature, a tool that traces test cases to features using the source code of annotated HCSs, written in C/C++. The tool produces the following outputs: the code lines that correspond to each feature, the lines that correspond to each test case, and the test cases that are linked to each feature. Test2Feature is based only on the static analysis of the code. The traceability report produced can be used to ease different tasks related, for instance, to regression testing, feature management, and HCS evolution and maintenance.
{"title":"Test2Feature","authors":"W. D. F. Mendonça, S. Vergilio, G. Michelon, Alexander Egyed, W. K. Assunção","doi":"10.1145/3503229.3547031","DOIUrl":"https://doi.org/10.1145/3503229.3547031","url":null,"abstract":"To ensure the quality of Highly Configurable Software (HCS) in an evolution and maintenance scenario is a challenging task. As HCSs evolve, new features are added, changed, or removed, which hampers the selection and evolution of test cases. The use of test traceability reports can help in this task, but there is a lack of studies addressing HCS test-to-feature traceability. Existing work usually are based on the variability model, which is not always available or updated. Some tools only link test cases to code lines. Considering this gap, this paper introduces Test2Feature, a tool that traces test cases to features using the source code of annotated HCSs, written in C/C++. The tool produces the following outputs: the code lines that correspond to each feature, the lines that correspond to each test case, and the test cases that are linked to each feature. Test2Feature is based only on the static analysis of the code. The traceability report produced can be used to ease different tasks related, for instance, to regression testing, feature management, and HCS evolution and maintenance.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"240 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113985846","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Conceptual modelling of product configuration is an essential step towards improving reuse and configuration knowledge sharing, systems interoperability, and people communication. Among several approaches proposed, ontology-based approaches are known to provide better support for the conceptualization of product configuration knowledge in terms of precision and expressiveness of reasoning and representation. This paper studies product configuration ontologies and presents a meta-model of concepts and their relationships that are used in those ontologies. The proposed meta-model consists of a generalisation hierarchy of configuration types, the compositional structure of a configurable product, the generalisation hierarchy of a component, and constraint types. The meta-model has been designed with the aim of first understanding the current state of product configuration ontologies and then extending it for integrating new concepts.
{"title":"A meta-model for product configuration ontologies","authors":"E. Abbasi, Tony Leclercq, P. Heymans","doi":"10.1145/3503229.3547044","DOIUrl":"https://doi.org/10.1145/3503229.3547044","url":null,"abstract":"Conceptual modelling of product configuration is an essential step towards improving reuse and configuration knowledge sharing, systems interoperability, and people communication. Among several approaches proposed, ontology-based approaches are known to provide better support for the conceptualization of product configuration knowledge in terms of precision and expressiveness of reasoning and representation. This paper studies product configuration ontologies and presents a meta-model of concepts and their relationships that are used in those ontologies. The proposed meta-model consists of a generalisation hierarchy of configuration types, the compositional structure of a configurable product, the generalisation hierarchy of a component, and constraint types. The meta-model has been designed with the aim of first understanding the current state of product configuration ontologies and then extending it for integrating new concepts.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125761335","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Sebastian Lubos, M. Tautschnig, A. Felfernig, Viet-Man Le
User-centricity and variability play an increasingly important role in various application domains. A trend in the context of creating and sharing videos is to personalize contents and related navigation features. Such a personalization is needed to be able to take into account the preferences of users in terms of preferred contents, existing knowledge levels (e.g., in the context of teaching videos), and available time for watching a video. In this paper, we present an approach to define variability properties of videos. In this context, we show how the different modeling concepts of feature models can be used to represent variability properties of videos and also discuss related open research challenges.
{"title":"Knowledge-based configuration of videos using feature models","authors":"Sebastian Lubos, M. Tautschnig, A. Felfernig, Viet-Man Le","doi":"10.1145/3503229.3547052","DOIUrl":"https://doi.org/10.1145/3503229.3547052","url":null,"abstract":"User-centricity and variability play an increasingly important role in various application domains. A trend in the context of creating and sharing videos is to personalize contents and related navigation features. Such a personalization is needed to be able to take into account the preferences of users in terms of preferred contents, existing knowledge levels (e.g., in the context of teaching videos), and available time for watching a video. In this paper, we present an approach to define variability properties of videos. In this context, we show how the different modeling concepts of feature models can be used to represent variability properties of videos and also discuss related open research challenges.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130896857","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Configuration knowledge engineering in industrial settings often has to face the challenge that product domain experts do not have background knowledge in formal configuration knowledge representations. In this context, graphical configuration models such as feature models provide a basis for the communication between domain experts and knowledge engineers. However, in many cases domain experts are used to define configuration knowledge in table-based representations. In this paper, we discuss ways of how to represent basic configuration constraint types in the form of a table-based representation thus allowing an alternative definition and exchange of product configuration knowledge.
{"title":"Table-based knowledge representations for industrial feature models","authors":"A. Felfernig, Bettina Ortner, Viet-Man Le","doi":"10.1145/3503229.3547047","DOIUrl":"https://doi.org/10.1145/3503229.3547047","url":null,"abstract":"Configuration knowledge engineering in industrial settings often has to face the challenge that product domain experts do not have background knowledge in formal configuration knowledge representations. In this context, graphical configuration models such as feature models provide a basis for the communication between domain experts and knowledge engineers. However, in many cases domain experts are used to define configuration knowledge in table-based representations. In this paper, we discuss ways of how to represent basic configuration constraint types in the form of a table-based representation thus allowing an alternative definition and exchange of product configuration knowledge.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124069133","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2022-09-12DOI: 10.1109/techsym.2010.5469212
Germán Márquez, J. Galindo, Á. J. Varela-Vaca, María Teresa Gómez López, David Benavides
{"title":"Advisory","authors":"Germán Márquez, J. Galindo, Á. J. Varela-Vaca, María Teresa Gómez López, David Benavides","doi":"10.1109/techsym.2010.5469212","DOIUrl":"https://doi.org/10.1109/techsym.2010.5469212","url":null,"abstract":"","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129501790","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Labor markets (LMs) are witnessing an acceleration that is fueled by digital disruption. The main drivers of this change are the transition to the digital paradigm (that is, Industry 4.0 and Smart Industry 5.0) and the socioeconomic effects of the ongoing health emergency. In addition, the recent Russia/Ukraine conflict has resulted in the migration of an increasing number of refugees across EU countries who may also need to change their career focus in order to find job opportunities in their host countries. These new changes in the LMs primarily affect lower-skilled workers and those who lack or have low levels of digital literacy. In such a situation, there is a need for a solution that can be adopted on a mass scale to reallocate human resources in order to help the most vulnerable workers who may face difficulties in maintaining or finding new job opportunities. The present paper aims to contribute to research on possible solutions to help individuals become career adaptable. To this end, we present the case of Create Your Own Future (CYOF), an employability support toolkit by Saffron Interactive, to demonstrate how an AI-implemented toolkit can support individuals in configuring a road map for their career pathway. CYOF is designed to support individuals on their personal journey towards sustainable employment and provides individuals with a way of determining their vocational personality and find a tailored roadmap to progress in their career or a pathway to a new one. The CYOF toolkit could represent a large-scale solution to help workers become career adaptable and help them face an increasingly changing and unpredictable employment landscape.
{"title":"AI-implemented toolkit to assist users with career \"configuration\": the case of create your own future","authors":"Chiara Grosso, Noorie Sazen, R. Boselli","doi":"10.1145/3503229.3547043","DOIUrl":"https://doi.org/10.1145/3503229.3547043","url":null,"abstract":"Labor markets (LMs) are witnessing an acceleration that is fueled by digital disruption. The main drivers of this change are the transition to the digital paradigm (that is, Industry 4.0 and Smart Industry 5.0) and the socioeconomic effects of the ongoing health emergency. In addition, the recent Russia/Ukraine conflict has resulted in the migration of an increasing number of refugees across EU countries who may also need to change their career focus in order to find job opportunities in their host countries. These new changes in the LMs primarily affect lower-skilled workers and those who lack or have low levels of digital literacy. In such a situation, there is a need for a solution that can be adopted on a mass scale to reallocate human resources in order to help the most vulnerable workers who may face difficulties in maintaining or finding new job opportunities. The present paper aims to contribute to research on possible solutions to help individuals become career adaptable. To this end, we present the case of Create Your Own Future (CYOF), an employability support toolkit by Saffron Interactive, to demonstrate how an AI-implemented toolkit can support individuals in configuring a road map for their career pathway. CYOF is designed to support individuals on their personal journey towards sustainable employment and provides individuals with a way of determining their vocational personality and find a tailored roadmap to progress in their career or a pathway to a new one. The CYOF toolkit could represent a large-scale solution to help workers become career adaptable and help them face an increasingly changing and unpredictable employment landscape.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122260130","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Tobias Heß, Tobias Müller, Chico Sundermann, Thomas Thüm
We present ddueruem, a tool for interfacing with BDD libraries, d-DNNF compilers, uniform, and t-wise samplers. To ease usage by researchers and practitioners, ddueruem is capable of automatically installing all tools it interfaces with, provides a coherent but customizable command-line interface to all the tools, unifies their outputs, and gathers additional statistics. In its present form, ddueruem supports the BDD libraries BuDDy and CUDD, five uniform samplers, as well as proof-of-concept support for the t-wise sampler YASA and the d-DNNF compiler d4.
{"title":"ddueruem","authors":"Tobias Heß, Tobias Müller, Chico Sundermann, Thomas Thüm","doi":"10.1145/3503229.3547032","DOIUrl":"https://doi.org/10.1145/3503229.3547032","url":null,"abstract":"We present ddueruem, a tool for interfacing with BDD libraries, d-DNNF compilers, uniform, and t-wise samplers. To ease usage by researchers and practitioners, ddueruem is capable of automatically installing all tools it interfaces with, provides a coherent but customizable command-line interface to all the tools, unifies their outputs, and gathers additional statistics. In its present form, ddueruem supports the BDD libraries BuDDy and CUDD, five uniform samplers, as well as proof-of-concept support for the t-wise sampler YASA and the d-DNNF compiler d4.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116619656","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Although the development of mass-customized products has been successfully applied to both hardware and software, companies struggle managing the variability and evolution of software-intensive products within a coherent product engineering approach. While the variability and evolution of software alone is manageable, managing both software and hardware within one product line is a complex task and requires an integrated approach. Moreover, as the release cycle for hardware is longer than for software, a product line of hardware and software is usually developed in generations. While one generation is validated and produced, the next generation is already planned and designed, reusing both software and hardware of previous generations. Thus, the different generations and artifacts shared between them must be managed together. Finally, when approaches directly assign software to hardware, managing their evolution becomes increasingly complex. Evolved resource demands may be missed, exhausting the resources provided by the hardware, possibly leading to degraded or faulty functionality. To remedy this, we refine the Unified Conceptual Model to our Variability Model for both Software and Hardware capturing the notion of product line generations, versions and variants of both software and hardware components, as well as resource demands of software on hardware. This is the first step towards the development of an integrated product engineering approach for managing the variability and evolution of software-intensive products.
{"title":"Towards an integrated approach for managing the variability and evolution of both software and hardware components","authors":"Jan Willem Wittler, Thomas Kühn, Ralf H. Reussner","doi":"10.1145/3503229.3547059","DOIUrl":"https://doi.org/10.1145/3503229.3547059","url":null,"abstract":"Although the development of mass-customized products has been successfully applied to both hardware and software, companies struggle managing the variability and evolution of software-intensive products within a coherent product engineering approach. While the variability and evolution of software alone is manageable, managing both software and hardware within one product line is a complex task and requires an integrated approach. Moreover, as the release cycle for hardware is longer than for software, a product line of hardware and software is usually developed in generations. While one generation is validated and produced, the next generation is already planned and designed, reusing both software and hardware of previous generations. Thus, the different generations and artifacts shared between them must be managed together. Finally, when approaches directly assign software to hardware, managing their evolution becomes increasingly complex. Evolved resource demands may be missed, exhausting the resources provided by the hardware, possibly leading to degraded or faulty functionality. To remedy this, we refine the Unified Conceptual Model to our Variability Model for both Software and Hardware capturing the notion of product line generations, versions and variants of both software and hardware components, as well as resource demands of software on hardware. This is the first step towards the development of an integrated product engineering approach for managing the variability and evolution of software-intensive products.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125200116","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The product configurator Merlin is a CPQ solution (Configure, Price, Quote) that enables fast, error-free configuration and quotation generation for products with many variants. In the context of this paper an optimization module was developed and integrated into Merlin. Previously, Merlin could only minimize the number of changes that must be made when a user changes a configuration. With this work, the optimization capability in Merlin was extended in a way, that a user can define a custom target function. Specific features and variables then can be selected for optimization. The optimization module can optimize the values of these attributes and variables with respect to the defined target function. The optimization process has no limited runtime and does not stop automatically when reaching certain predefined values, since in the field of optimization often no promises can be made on finding global extrema. Instead, the optimization process is monitored live by the user and can be terminated at any time as soon as the user is satisfied with the current solution. In addition to the adaptation of the Merlin frontend, two black-box and derivative-free optimization algorithms are implemented and tested for performance to solve the optimization problem.
{"title":"Black-box optimization in a configuration system","authors":"M. Kucher, Tomás Balyo, Noemi Christensen","doi":"10.1145/3503229.3547041","DOIUrl":"https://doi.org/10.1145/3503229.3547041","url":null,"abstract":"The product configurator Merlin is a CPQ solution (Configure, Price, Quote) that enables fast, error-free configuration and quotation generation for products with many variants. In the context of this paper an optimization module was developed and integrated into Merlin. Previously, Merlin could only minimize the number of changes that must be made when a user changes a configuration. With this work, the optimization capability in Merlin was extended in a way, that a user can define a custom target function. Specific features and variables then can be selected for optimization. The optimization module can optimize the values of these attributes and variables with respect to the defined target function. The optimization process has no limited runtime and does not stop automatically when reaching certain predefined values, since in the field of optimization often no promises can be made on finding global extrema. Instead, the optimization process is monitored live by the user and can be terminated at any time as soon as the user is satisfied with the current solution. In addition to the adaptation of the Merlin frontend, two black-box and derivative-free optimization algorithms are implemented and tested for performance to solve the optimization problem.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"113 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133220632","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}