A. E. Chacón-Luna, A. Gutiérrez-Fernández, David Benavides, L. Fuentes
Software Product Lines (SPL) enable systematic reuse within an organization, which reduces costs, effort, development time and the average number of defects per product. However, there is no empirical evidence on the adoption of SPLs in software development companies for product customization. To assess the need for SPL technologies in real software development, it is necessary to analyze the variability practices in companies to develop their products, pointing out the strengths and weaknesses of their approaches. To this end, we present the design of a study to evaluate how companies perform variability management. We start from the assumption that most companies manage variability, but not many of them are aware of the software product lines.
{"title":"Design for the analysis of variability management in the industry","authors":"A. E. Chacón-Luna, A. Gutiérrez-Fernández, David Benavides, L. Fuentes","doi":"10.1145/3503229.3547060","DOIUrl":"https://doi.org/10.1145/3503229.3547060","url":null,"abstract":"Software Product Lines (SPL) enable systematic reuse within an organization, which reduces costs, effort, development time and the average number of defects per product. However, there is no empirical evidence on the adoption of SPLs in software development companies for product customization. To assess the need for SPL technologies in real software development, it is necessary to analyze the variability practices in companies to develop their products, pointing out the strengths and weaknesses of their approaches. To this end, we present the design of a study to evaluate how companies perform variability management. We start from the assumption that most companies manage variability, but not many of them are aware of the software product lines.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"71 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":"130076610","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}
Cyber-Physical Production Systems (CPPSs) are complex, versatile systems interacting with the environment by sensors and actuators. Specific customer demands and technical requirements lead to high engineering efforts for the control software of CPPSs, especially when following a clone-and-own approach to reuse, as is still common in industry. Utilizing systematic variability management to derive and configure control software variants from a product line could help to reduce the cost of developing and/or maintaining CPPSs. However, modeling CPPS variability is challenging as knowledge from multiple disciplines (e.g., mechanics, electrics, software) is needed, which is either implicit in practice or expressed in multiple heterogeneous engineering artifacts with diverse semantics. Furthermore, techniques commonly used to implement CPPS control software (e.g., graphical programming or modeling languages) do not have any formal mechanism to express variability. In this paper, we report on our ongoing efforts to create a multidisciplinary variability management approach for CPPSs, particularly CPPS control software. We designed our approach as an integrated approach providing configuration options based on related heterogeneous variability models from multiple disciplines. Our integrated approach can generate control software based on related domain-specific implementation artifacts.
{"title":"Multidisciplinary variability management for cyber-physical production systems","authors":"H. Fadhlillah","doi":"10.1145/3503229.3547063","DOIUrl":"https://doi.org/10.1145/3503229.3547063","url":null,"abstract":"Cyber-Physical Production Systems (CPPSs) are complex, versatile systems interacting with the environment by sensors and actuators. Specific customer demands and technical requirements lead to high engineering efforts for the control software of CPPSs, especially when following a clone-and-own approach to reuse, as is still common in industry. Utilizing systematic variability management to derive and configure control software variants from a product line could help to reduce the cost of developing and/or maintaining CPPSs. However, modeling CPPS variability is challenging as knowledge from multiple disciplines (e.g., mechanics, electrics, software) is needed, which is either implicit in practice or expressed in multiple heterogeneous engineering artifacts with diverse semantics. Furthermore, techniques commonly used to implement CPPS control software (e.g., graphical programming or modeling languages) do not have any formal mechanism to express variability. In this paper, we report on our ongoing efforts to create a multidisciplinary variability management approach for CPPSs, particularly CPPS control software. We designed our approach as an integrated approach providing configuration options based on related heterogeneous variability models from multiple disciplines. Our integrated approach can generate control software based on related domain-specific implementation artifacts.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"14 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":"115513246","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}
A. G. Márquez, J. Galindo, Á. J. Varela-Vaca, María Teresa Gómez López, David Benavides
Security has become a crucial factor in the development of software systems. The number of dependencies in software systems is becoming a source of countless bugs and vulnerabilities. In the past, the product line community has proposed several techniques and mechanisms to cope with the problems that arise when dealing with variability and dependency management in such systems. In this paper, we present Advisory, a solution that allows automated dependency analysis for vulnerabilities within software projects based on techniques from the product line community. Advisory first inspects software dependencies, then generates a dependency graph, to which security information about vulnerabilities is attributed and translated into a formal model, in this case, based on SMT. Finally, Advisory provides a set of analysis and reasoning operations on these models that allow extracting helpful information about the location of vulnerabilities of the project configuration space, as well as details for advising on the security risk of these projects and their possible configurations.
{"title":"Advisory: vulnerability analysis in software development project dependencies","authors":"A. G. Márquez, J. Galindo, Á. J. Varela-Vaca, María Teresa Gómez López, David Benavides","doi":"10.1145/3503229.3547058","DOIUrl":"https://doi.org/10.1145/3503229.3547058","url":null,"abstract":"Security has become a crucial factor in the development of software systems. The number of dependencies in software systems is becoming a source of countless bugs and vulnerabilities. In the past, the product line community has proposed several techniques and mechanisms to cope with the problems that arise when dealing with variability and dependency management in such systems. In this paper, we present Advisory, a solution that allows automated dependency analysis for vulnerabilities within software projects based on techniques from the product line community. Advisory first inspects software dependencies, then generates a dependency graph, to which security information about vulnerabilities is attributed and translated into a formal model, in this case, based on SMT. Finally, Advisory provides a set of analysis and reasoning operations on these models that allow extracting helpful information about the location of vulnerabilities of the project configuration space, as well as details for advising on the security risk of these projects and their possible configurations.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"11 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":"126732059","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}
High-tech systems development involves several models and artifacts, each focusing on one or more aspects or parts of the system. In product lines, managing the common and variable characteristics of these development artifacts typically involves feature models. Yet for high-tech systems, management is complicated by the large number of features and constraints. Using multiple feature models, each with a reduced number of features relevant only for specific artifacts, has been identified as a possible solution to deal with this complexity. However, to use multiple feature models effectively, the relationships among feature models need to be known. While several approaches that support multiple feature models exist, they do not explicitly provide concepts for representing structural relationships between features in different feature models. Explicitly documenting these relationships improves understanding of the complete variability model and supports maintainability of the variability model under evolution. In this study, we present two domain specific languages---one for relationship modeling, one for change analysis which enables users to express change impact analysis queries using the relationship modeling language terminology---, which we implemented in TReMAFeM, a tool for relationship modeling among feature models. Moreover, we demonstrate the use of the tool on the industry-related case of the Extended Twilight System product line and explain how it can be used to support typical change impact analysis scenarios.
{"title":"A tool for modeling and analysis of relationships among feature model views","authors":"Gökhan Kahraman, L. Cleophas","doi":"10.1145/3503229.3547076","DOIUrl":"https://doi.org/10.1145/3503229.3547076","url":null,"abstract":"High-tech systems development involves several models and artifacts, each focusing on one or more aspects or parts of the system. In product lines, managing the common and variable characteristics of these development artifacts typically involves feature models. Yet for high-tech systems, management is complicated by the large number of features and constraints. Using multiple feature models, each with a reduced number of features relevant only for specific artifacts, has been identified as a possible solution to deal with this complexity. However, to use multiple feature models effectively, the relationships among feature models need to be known. While several approaches that support multiple feature models exist, they do not explicitly provide concepts for representing structural relationships between features in different feature models. Explicitly documenting these relationships improves understanding of the complete variability model and supports maintainability of the variability model under evolution. In this study, we present two domain specific languages---one for relationship modeling, one for change analysis which enables users to express change impact analysis queries using the relationship modeling language terminology---, which we implemented in TReMAFeM, a tool for relationship modeling among feature models. Moreover, we demonstrate the use of the tool on the industry-related case of the Extended Twilight System product line and explain how it can be used to support typical change impact analysis scenarios.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"41 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":"124202564","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}
L. Linsbauer, Paul Westphal, P. M. Bittner, S. Krieter, Thomas Thüm, Ina Schaefer
The development and configuration of software product lines can be challenging tasks. During development, engineers often need to focus on a particular subset of features that is relevant for them. In such cases, it would be beneficial to hide other features and their implementation. During product configuration, requirements of potentially multiple stakeholders need to be considered. Therefore, configuration often happens in stages, in which different people contribute configuration decisions for different features. Moreover, in some cases, stakeholders want to share a set of products rather than a specific one. In all these cases, the necessary operation is the same: some features from the product line are assigned a value (e.g., via a partial configuration) while other features remain configurable. In this work, we propose a subset operation that takes a product line and a partial configuration to derive a subset product line comprising only the desired subset of features and implementation artifacts. Furthermore, we present, evaluate, and publish our implementation of the proposed subset operation within the FeatureIDE framework.
{"title":"Derivation of subset product lines in FeatureIDE","authors":"L. Linsbauer, Paul Westphal, P. M. Bittner, S. Krieter, Thomas Thüm, Ina Schaefer","doi":"10.1145/3503229.3547033","DOIUrl":"https://doi.org/10.1145/3503229.3547033","url":null,"abstract":"The development and configuration of software product lines can be challenging tasks. During development, engineers often need to focus on a particular subset of features that is relevant for them. In such cases, it would be beneficial to hide other features and their implementation. During product configuration, requirements of potentially multiple stakeholders need to be considered. Therefore, configuration often happens in stages, in which different people contribute configuration decisions for different features. Moreover, in some cases, stakeholders want to share a set of products rather than a specific one. In all these cases, the necessary operation is the same: some features from the product line are assigned a value (e.g., via a partial configuration) while other features remain configurable. In this work, we propose a subset operation that takes a product line and a partial configuration to derive a subset product line comprising only the desired subset of features and implementation artifacts. Furthermore, we present, evaluate, and publish our implementation of the proposed subset operation within the FeatureIDE framework.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"23 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":"125744084","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}
Object-Oriented (OO) variability-rich software systems often implement their variability in a single codebase, using the mechanisms provided by the host language (i.e., inheritance, overloading, design patterns). This variability is not documented and buried deep down in the code, thus impeding its identification and making it especially prone to variability debt at the code level. While this kind of variability implementation can now be detected, visualization support such as VariCity helps architects and developers understand the implemented variability using a city metaphor. In this paper, we demonstrate VariMetrics-IDE, an extension of VariCity that allows to visualize multiple quality metrics (e.g., code complexity, test coverage) together with the variability implementations, while supporting navigation between the source code and the visualization in an IDE. This extension thus facilitates the identification of zones of variability implementations with variability debt.
{"title":"IDE-assisted visualization of indebted OO variability implementations","authors":"Johann Mortara, P. Collet, A. Pinna-Dery","doi":"10.1145/3503229.3547066","DOIUrl":"https://doi.org/10.1145/3503229.3547066","url":null,"abstract":"Object-Oriented (OO) variability-rich software systems often implement their variability in a single codebase, using the mechanisms provided by the host language (i.e., inheritance, overloading, design patterns). This variability is not documented and buried deep down in the code, thus impeding its identification and making it especially prone to variability debt at the code level. While this kind of variability implementation can now be detected, visualization support such as VariCity helps architects and developers understand the implemented variability using a city metaphor. In this paper, we demonstrate VariMetrics-IDE, an extension of VariCity that allows to visualize multiple quality metrics (e.g., code complexity, test coverage) together with the variability implementations, while supporting navigation between the source code and the visualization in an IDE. This extension thus facilitates the identification of zones of variability implementations with variability debt.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"19 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":"132036279","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}
Feature interactions are an intricate phenomenon: they can add value to software systems, but also lead to subtle bugs and complex, emergent behavior. Having a clearer understanding of feature interactions in practice can help practitioners to select appropriate quality assurance techniques for their systems and researchers to guide further research efforts. In this paper, we present pdparser, a Python-based tool for analysing structural feature interactions in software systems developed with C and C++ preprocessor. Our tool relies on a lightweight methodology to quantify the frequency of pairwise and higher-order feature interactions and the percentage of code affected by them. We showcase the individual characteristics brought forward by the automated analysis of one toy example and two open-source text editors: Vim and Emacs. The source code and a demo video are available on GitHub at https://github.com/dkorsman/pdparser.
{"title":"A tool for analysing higher-order feature interactions in preprocessor annotations in C and C++ projects","authors":"David Korsman, C. Damasceno, D. Strüber","doi":"10.1145/3503229.3547027","DOIUrl":"https://doi.org/10.1145/3503229.3547027","url":null,"abstract":"Feature interactions are an intricate phenomenon: they can add value to software systems, but also lead to subtle bugs and complex, emergent behavior. Having a clearer understanding of feature interactions in practice can help practitioners to select appropriate quality assurance techniques for their systems and researchers to guide further research efforts. In this paper, we present pdparser, a Python-based tool for analysing structural feature interactions in software systems developed with C and C++ preprocessor. Our tool relies on a lightweight methodology to quantify the frequency of pairwise and higher-order feature interactions and the percentage of code affected by them. We showcase the individual characteristics brought forward by the automated analysis of one toy example and two open-source text editors: Vim and Emacs. The source code and a demo video are available on GitHub at https://github.com/dkorsman/pdparser.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"30 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":"127846774","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}
H. Fadhlillah, Kevin Feichtinger, Philipp Bauer, Elene Kutsia, Rick Rabiser
Cyber-Physical Production Systems (CPPSs) are complex systems comprised of software and hardware, developed and maintained in a multidisciplinary environment with constantly changing customer and technology requirements. Adopting systematic variability management to develop and maintain CPPS control software variants can reduce engineering costs and time to market. However, managing CPPS variability remains challenging as the necessary knowledge is either implicit or documented in diverse artifacts with varying semantics and complexity. In this paper, we present tool support for Variability for 4diac (V4rdiac), an approach developed for managing multidisciplinary variability of CPPSs. V4rdiac is an extendable framework using 4diac IDE from Eclipse 4diac™ and other extensible components (e.g., TRAVART and FeatureIDE). Currently, V4rdiac supports the automatic generation of control software based on configuration choices defined in heterogeneous variability models. A demo video is available at https://youtu.be/rjDmRD7fmzI.
{"title":"V4rdiac","authors":"H. Fadhlillah, Kevin Feichtinger, Philipp Bauer, Elene Kutsia, Rick Rabiser","doi":"10.1145/3503229.3547028","DOIUrl":"https://doi.org/10.1145/3503229.3547028","url":null,"abstract":"Cyber-Physical Production Systems (CPPSs) are complex systems comprised of software and hardware, developed and maintained in a multidisciplinary environment with constantly changing customer and technology requirements. Adopting systematic variability management to develop and maintain CPPS control software variants can reduce engineering costs and time to market. However, managing CPPS variability remains challenging as the necessary knowledge is either implicit or documented in diverse artifacts with varying semantics and complexity. In this paper, we present tool support for Variability for 4diac (V4rdiac), an approach developed for managing multidisciplinary variability of CPPSs. V4rdiac is an extendable framework using 4diac IDE from Eclipse 4diac™ and other extensible components (e.g., TRAVART and FeatureIDE). Currently, V4rdiac supports the automatic generation of control software based on configuration choices defined in heterogeneous variability models. A demo video is available at https://youtu.be/rjDmRD7fmzI.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"61 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":"122590789","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}
Daniel-Jesus Munoz, M. Pinto, D. Gurov, L. Fuentes
Automatic analysis of variability is an important stage of Software Product Line (SPL) engineering. Incorporating quality information into this stage poses a significant challenge. However, quality-aware automated analysis tools are rare, mainly because in existing solutions variability and quality information are not unified under the same model. In this paper, we make use of the Quality Variability Model (QVM), based on Category Theory (CT), to redefine reasoning operations. We start defining and composing the six most common operations in SPL, but now as quality-based queries, which tend to be unavailable in other approaches. Consequently, QVM supports interactions between variant-wise and feature-wise quality attributes. As a proof of concept, we present, implement and execute the operations as lambda reasoning for CQL IDE - the state-of-the-art CT tool.
{"title":"Defining categorical reasoning of numerical feature models with feature-wise and variant-wise quality attributes","authors":"Daniel-Jesus Munoz, M. Pinto, D. Gurov, L. Fuentes","doi":"10.1145/3503229.3547057","DOIUrl":"https://doi.org/10.1145/3503229.3547057","url":null,"abstract":"Automatic analysis of variability is an important stage of Software Product Line (SPL) engineering. Incorporating quality information into this stage poses a significant challenge. However, quality-aware automated analysis tools are rare, mainly because in existing solutions variability and quality information are not unified under the same model. In this paper, we make use of the Quality Variability Model (QVM), based on Category Theory (CT), to redefine reasoning operations. We start defining and composing the six most common operations in SPL, but now as quality-based queries, which tend to be unavailable in other approaches. Consequently, QVM supports interactions between variant-wise and feature-wise quality attributes. As a proof of concept, we present, implement and execute the operations as lambda reasoning for CQL IDE - the state-of-the-art CT tool.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"23 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":"116657770","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}
Current crises (such as the war in Ukraine) are confronting end consumers with ever new challenges, for example, in the context of energy management. This paper presents a configurator that enables end-users to make certain functions in their household "smart" and thus, for instance, get a better grip on their energy management. The concept is based on constraint programming, concretely on the open source platform Choco1. After emphasizing the algorithmic problems and challenges, a first version of a prototype is presented, which illustrates the possibilities of guiding end-users through the process of making their living environments smart. Related possibilities, potentials and challenges of the proposed approach are discussed at the end of the paper.
{"title":"Configuration of domotic systems based on constraint solving","authors":"G. Leitner, Martin Stettinger","doi":"10.1145/3503229.3547045","DOIUrl":"https://doi.org/10.1145/3503229.3547045","url":null,"abstract":"Current crises (such as the war in Ukraine) are confronting end consumers with ever new challenges, for example, in the context of energy management. This paper presents a configurator that enables end-users to make certain functions in their household \"smart\" and thus, for instance, get a better grip on their energy management. The concept is based on constraint programming, concretely on the open source platform Choco1. After emphasizing the algorithmic problems and challenges, a first version of a prototype is presented, which illustrates the possibilities of guiding end-users through the process of making their living environments smart. Related possibilities, potentials and challenges of the proposed approach are discussed at the end of the paper.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"11 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":"128587124","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}