During the three decades since the invention of the first variability modeling approach [28], there have been multiple attempts to introduce advanced variability modeling capabilities. More recently, we have seen increased attention on textual variability modeling languages. In this paper, we summarize the main capabilities of state of the art textual variability modeling languages, based on [23], including updates regarding more recent work. Based on this integrated characterization, we provide a discussion of additional concerns, opportunities and challenges that are relevant for designing future (textual) variability modeling languages. The paper also summarizes relevant contributions by the authors as input to further discussions on future (textual) variability modeling languages.
{"title":"Textual Variability Modeling Languages: An Overview and Considerations","authors":"M. T. Beek, Klaus Schmid, Holger Eichelberger","doi":"10.1145/3307630.3342398","DOIUrl":"https://doi.org/10.1145/3307630.3342398","url":null,"abstract":"During the three decades since the invention of the first variability modeling approach [28], there have been multiple attempts to introduce advanced variability modeling capabilities. More recently, we have seen increased attention on textual variability modeling languages. In this paper, we summarize the main capabilities of state of the art textual variability modeling languages, based on [23], including updates regarding more recent work. Based on this integrated characterization, we provide a discussion of additional concerns, opportunities and challenges that are relevant for designing future (textual) variability modeling languages. The paper also summarizes relevant contributions by the authors as input to further discussions on future (textual) variability modeling languages.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121809261","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}
Variability-aware metrics are designed to measure qualitative aspects of software product lines. As we identified in a prior SLR [6], there exist already many metrics that address code or variability separately, while the combination of both has been less researched. MetricHaven fills this gap, as it extensively supports combining information from code files and variability models. Further, we also enable the combination of well established single system metrics with novel variability-aware metrics, going beyond existing variability-aware metrics. Our tool supports most prominent single system and variability-aware code metrics. We provide configuration support for already implemented metrics, resulting in 23,342 metric variations. Further, we present an abstract syntax tree developed for MetricHaven, that allows the realization of additional code metrics. Tool: https://github.com/KernelHaven/MetricHaven Video: https://youtu.be/vPEmD5Sr6gM
{"title":"MetricHaven: More than 23,000 Metrics for Measuring Quality Attributes of Software Product Lines","authors":"Sascha El-Sharkawy, Adam Krafczyk, Klaus Schmid","doi":"10.1145/3307630.3342384","DOIUrl":"https://doi.org/10.1145/3307630.3342384","url":null,"abstract":"Variability-aware metrics are designed to measure qualitative aspects of software product lines. As we identified in a prior SLR [6], there exist already many metrics that address code or variability separately, while the combination of both has been less researched. MetricHaven fills this gap, as it extensively supports combining information from code files and variability models. Further, we also enable the combination of well established single system metrics with novel variability-aware metrics, going beyond existing variability-aware metrics. Our tool supports most prominent single system and variability-aware code metrics. We provide configuration support for already implemented metrics, resulting in 23,342 metric variations. Further, we present an abstract syntax tree developed for MetricHaven, that allows the realization of additional code metrics. Tool: https://github.com/KernelHaven/MetricHaven Video: https://youtu.be/vPEmD5Sr6gM","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125773848","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 is a key enabling technology for the engineering of systems and software as wells as physical goods. A selection of configuration options (aka. features) is often enough to automatically generate a product tailored to the needs of a customer. It is common that not all combinations of features are possible in a given domain. Feature modeling is the de-facto standard for specifying features and their valid combinations. However, a pivotal hurdle for practitioners, researchers, and teachers in applying feature modeling is that there are hundreds of tools and languages available. While there have been first attempts to define a standard feature modeling language, they still struggle with finding an appropriate level of expressiveness. If the expressiveness is too high, the language will not be adopted, as it is too much effort to support all language constructs. If the expressiveness is too low, the language will not be adopted, as many interesting domains cannot be modeled in such a language. Towards a standard feature modeling notation, we propose the use of language levels with different expressiveness each and discuss criteria to be used to define such language levels. We aim to raise the awareness on the expressiveness and eventually contribute to a standard feature modeling notation.
{"title":"On Language Levels for Feature Modeling Notations","authors":"Thomas Thüm, C. Seidl, Ina Schaefer","doi":"10.1145/3307630.3342404","DOIUrl":"https://doi.org/10.1145/3307630.3342404","url":null,"abstract":"Configuration is a key enabling technology for the engineering of systems and software as wells as physical goods. A selection of configuration options (aka. features) is often enough to automatically generate a product tailored to the needs of a customer. It is common that not all combinations of features are possible in a given domain. Feature modeling is the de-facto standard for specifying features and their valid combinations. However, a pivotal hurdle for practitioners, researchers, and teachers in applying feature modeling is that there are hundreds of tools and languages available. While there have been first attempts to define a standard feature modeling language, they still struggle with finding an appropriate level of expressiveness. If the expressiveness is too high, the language will not be adopted, as it is too much effort to support all language constructs. If the expressiveness is too low, the language will not be adopted, as many interesting domains cannot be modeled in such a language. Towards a standard feature modeling notation, we propose the use of language levels with different expressiveness each and discuss criteria to be used to define such language levels. We aim to raise the awareness on the expressiveness and eventually contribute to a standard feature modeling notation.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115041099","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}
Industry 4.0 considers as a new advancement concept of the industrial revolution, which introduces a full utilization of Internet technologies. This concept aims to combine diverse technological resources into the industry field, which enables the communication between two worlds: the physical and the cyber one. Cyber-physical Systems are one of the special forces that integrate and build a variety of existing technologies and components. The diversity of components and technologies creates new security threats that can exploit vulnerabilities to attack a critical system. This work introduces an ontology-based security tool-chain able to be integrated with the initial stages of the development process of critical systems. The tool detects the potential threats, and apply the suitable security requirements which can address these threats. Eventually, it uses the ontology approach to ensure that the security requirements are fulfilled.
{"title":"Ontology-Based Security Tool for Critical Cyber-Physical Systems","authors":"A. Shaaban, T. Gruber, Christoph Schmittner","doi":"10.1145/3307630.3342397","DOIUrl":"https://doi.org/10.1145/3307630.3342397","url":null,"abstract":"Industry 4.0 considers as a new advancement concept of the industrial revolution, which introduces a full utilization of Internet technologies. This concept aims to combine diverse technological resources into the industry field, which enables the communication between two worlds: the physical and the cyber one. Cyber-physical Systems are one of the special forces that integrate and build a variety of existing technologies and components. The diversity of components and technologies creates new security threats that can exploit vulnerabilities to attack a critical system. This work introduces an ontology-based security tool-chain able to be integrated with the initial stages of the development process of critical systems. The tool detects the potential threats, and apply the suitable security requirements which can address these threats. Eventually, it uses the ontology approach to ensure that the security requirements are fulfilled.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"64 6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124240026","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}
Thomas Thüm, Leopoldo Teixeira, Klaus Schmid, Eric Walkingshaw, M. Mukelabai, M. Varshosaz, Goetz Botterweck, Ina Schaefer, Timo Kehrer
Variation is central to today's software development. There are two fundamental dimensions to variation: Variation in time refers to the fact that software exists in numerous revisions that typically replace each other (i.e., a newer version supersedes an older one). Variation in space refers to differences among variants that are designed to coexist in parallel. There are numerous analyses to cope with variation in space (i.e., product-line analyses) and others that cope with variation in time (i.e., regression analyses). The goal of this work is to discuss to which extent product-line analyses can be applied to revisions and, conversely, where regression analyses can be applied to variants. In addition, we discuss challenges related to the combination of product-line and regression analyses. The overall goal is to increase the efficiency of analyses by exploiting the inherent commonality between variants and revisions.
{"title":"Towards Efficient Analysis of Variation in Time and Space","authors":"Thomas Thüm, Leopoldo Teixeira, Klaus Schmid, Eric Walkingshaw, M. Mukelabai, M. Varshosaz, Goetz Botterweck, Ina Schaefer, Timo Kehrer","doi":"10.1145/3307630.3342414","DOIUrl":"https://doi.org/10.1145/3307630.3342414","url":null,"abstract":"Variation is central to today's software development. There are two fundamental dimensions to variation: Variation in time refers to the fact that software exists in numerous revisions that typically replace each other (i.e., a newer version supersedes an older one). Variation in space refers to differences among variants that are designed to coexist in parallel. There are numerous analyses to cope with variation in space (i.e., product-line analyses) and others that cope with variation in time (i.e., regression analyses). The goal of this work is to discuss to which extent product-line analyses can be applied to revisions and, conversely, where regression analyses can be applied to variants. In addition, we discuss challenges related to the combination of product-line and regression analyses. The overall goal is to increase the efficiency of analyses by exploiting the inherent commonality between variants and revisions.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114809941","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}
Kamil Rosiak, Oliver Urbaniak, Alexander Schlie, C. Seidl, Ina Schaefer
In certain domains, safety-critical software systems may remain operational for decades. To comply with changing requirements, new system variants are commonly created by copying and modifying existing ones. Typically denoted clone-and-own, software quality and overall maintainability are adversely affected in the long-run. With safety being pivotal, a fault in one variant may require the entire portfolio to be assessed. Thus, engineers need to maintain legacy systems dating back decades, implemented in programming languages such as Pascal. Software product lines (SPLs) can be a remedy but migrating legacy systems requires their prior analysis and comparison. For industrial software systems, this remains a challenge. In this paper, we introduce a comparison procedure and customizable metrics to allow for a fine-grained comparison of Pascal modules to the level of individual expressions. By that, we identify common parts of while also capturing different parts between modules as a basis for a transition towards anSPLs practice. Moreover, we demonstrate the feasibility of our approach using a case study with seven Pascal modules totaling 13,271 lines of code with an evolution-history of 25 years and show our procedure to be fast and precise. Furthermore, we elaborate on the case study and detail peculiarities of the Pascal modules, which are characteristic for an evolution-history of a quarter century.
{"title":"Analyzing Variability in 25 Years of Industrial Legacy Software: An Experience Report","authors":"Kamil Rosiak, Oliver Urbaniak, Alexander Schlie, C. Seidl, Ina Schaefer","doi":"10.1145/3307630.3342410","DOIUrl":"https://doi.org/10.1145/3307630.3342410","url":null,"abstract":"In certain domains, safety-critical software systems may remain operational for decades. To comply with changing requirements, new system variants are commonly created by copying and modifying existing ones. Typically denoted clone-and-own, software quality and overall maintainability are adversely affected in the long-run. With safety being pivotal, a fault in one variant may require the entire portfolio to be assessed. Thus, engineers need to maintain legacy systems dating back decades, implemented in programming languages such as Pascal. Software product lines (SPLs) can be a remedy but migrating legacy systems requires their prior analysis and comparison. For industrial software systems, this remains a challenge. In this paper, we introduce a comparison procedure and customizable metrics to allow for a fine-grained comparison of Pascal modules to the level of individual expressions. By that, we identify common parts of while also capturing different parts between modules as a basis for a transition towards anSPLs practice. Moreover, we demonstrate the feasibility of our approach using a case study with seven Pascal modules totaling 13,271 lines of code with an evolution-history of 25 years and show our procedure to be fast and precise. Furthermore, we elaborate on the case study and detail peculiarities of the Pascal modules, which are characteristic for an evolution-history of a quarter century.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"97 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124070204","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}
Software Product Lines (SPLs) are Software Engineering methodologies that manage the development and evolution of families of product variants. They aim at handling the commonality and variability of these products. SPLs reduce the development cost, time-to-market, and increase overall quality of the product variants. But Small and Medium-sized Enterprises (SMEs) can find the development of an SPL to be expensive and challenging, especially the process regarding the domain engineering. They can be forced to hire or train dedicated SPL-experts to work on the SPL development. This extra cost can be a significant obstacle toward the adoption of this technology by these enterprises. In this paper we present our work on an new approach to reduce and facilitate the adoption of the SPL techniques in SMEs. The goal of this approach is to automatically and incrementally build SPLs. This is based on an original combination of existing extractive and reactive approaches. We advocate the need for new solutions to facilitate the adoption of SPL technology by SMEs. We discuss a global solution based on an original combination of the existing extractive and reactive approaches. Our solution is a new approach that automatically and incrementally build SPLs. We present our global solution under the form of five research questions, of which we discuss the motivations and the methodologies. We also present early results of the first three questions, while the remaining two are the matter of future work.
{"title":"Facilitating the Development of Software Product Lines in Small and Medium-Sized Enterprises","authors":"Nicolas Hlad","doi":"10.1145/3307630.3342703","DOIUrl":"https://doi.org/10.1145/3307630.3342703","url":null,"abstract":"Software Product Lines (SPLs) are Software Engineering methodologies that manage the development and evolution of families of product variants. They aim at handling the commonality and variability of these products. SPLs reduce the development cost, time-to-market, and increase overall quality of the product variants. But Small and Medium-sized Enterprises (SMEs) can find the development of an SPL to be expensive and challenging, especially the process regarding the domain engineering. They can be forced to hire or train dedicated SPL-experts to work on the SPL development. This extra cost can be a significant obstacle toward the adoption of this technology by these enterprises. In this paper we present our work on an new approach to reduce and facilitate the adoption of the SPL techniques in SMEs. The goal of this approach is to automatically and incrementally build SPLs. This is based on an original combination of existing extractive and reactive approaches. We advocate the need for new solutions to facilitate the adoption of SPL technology by SMEs. We discuss a global solution based on an original combination of the existing extractive and reactive approaches. Our solution is a new approach that automatically and incrementally build SPLs. We present our global solution under the form of five research questions, of which we discuss the motivations and the methodologies. We also present early results of the first three questions, while the remaining two are the matter of future work.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"289 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115863342","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}
Creating and managing valid configurations is one of the main tasks in software product line engineering. Due to the often complex constraints from a feature model, some kind of automated configuration generation is required to facilitate the configuration process for users and developers. For instance, decision propagation can be applied to support users in configuring a product from a software product line (SPL) with less manual effort and error potential, leading to a semi-automatic configuration process. Furthermore, fully-automatic configuration processes, such as random sampling or t-wise interaction sampling can be employed to test or to optimize an SPL. However, current techniques for automated configuration generation still do not scale well to SPLs with large and complex feature models. Within our thesis, we identify current challenges regarding the efficiency and effectiveness of the semi- and fully-automatic configuration process and aim to address these challenges by introducing novel techniques and improving current ones. Our preliminary results show already show promising progress for both, the semi- and fully-automatic configuration process.
{"title":"Enabling Efficient Automated Configuration Generation and Management","authors":"S. Krieter","doi":"10.1145/3307630.3342705","DOIUrl":"https://doi.org/10.1145/3307630.3342705","url":null,"abstract":"Creating and managing valid configurations is one of the main tasks in software product line engineering. Due to the often complex constraints from a feature model, some kind of automated configuration generation is required to facilitate the configuration process for users and developers. For instance, decision propagation can be applied to support users in configuring a product from a software product line (SPL) with less manual effort and error potential, leading to a semi-automatic configuration process. Furthermore, fully-automatic configuration processes, such as random sampling or t-wise interaction sampling can be employed to test or to optimize an SPL. However, current techniques for automated configuration generation still do not scale well to SPLs with large and complex feature models. Within our thesis, we identify current challenges regarding the efficiency and effectiveness of the semi- and fully-automatic configuration process and aim to address these challenges by introducing novel techniques and improving current ones. Our preliminary results show already show promising progress for both, the semi- and fully-automatic configuration process.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"43 11","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114106036","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}
Alexander Schlie, Kamil Rosiak, Oliver Urbaniak, Ina Schaefer, B. Vogel‐Heuser
Control software for automated production systems (aPs) becomes increasingly complex as it evolves due to changing requirements. To address varying customer demands or altered regulatory guidelines, it is common practice to create a new system variant by copying and subsequently modifying existing control software. Referred to as clone-and-own, proper documentation is typically not cherished, thereby entailing severe maintenance issues in the long-run. To mitigate such problems and to reinstate sustainable development, respective software systems need to be compared and their variability information needs to be reverse-engineered. However, recent work identified variability management in the domain of aPs to remain a challenging endevour and appropriate tool support to be missing. We bridge this gap and introduce the Variability Analysis Toolkit (VAT), an extensible platform that allows for the customizable definition of metrics to compare IEC61131-3 control software variants as well as providing means to visualize results. The VAT facilitates a working environment that allows for the exchange of produced results between users. By that, we aim to support engineers in re-engineering control software systems by providing them with means to define metrics based on their individual demands. We demonstrate the feasibility of the VAT using 24 software system variants implemented in accordance to the IEC61131-3 standard.
{"title":"Analyzing Variability in Automation Software with the Variability Analysis Toolkit","authors":"Alexander Schlie, Kamil Rosiak, Oliver Urbaniak, Ina Schaefer, B. Vogel‐Heuser","doi":"10.1145/3307630.3342408","DOIUrl":"https://doi.org/10.1145/3307630.3342408","url":null,"abstract":"Control software for automated production systems (aPs) becomes increasingly complex as it evolves due to changing requirements. To address varying customer demands or altered regulatory guidelines, it is common practice to create a new system variant by copying and subsequently modifying existing control software. Referred to as clone-and-own, proper documentation is typically not cherished, thereby entailing severe maintenance issues in the long-run. To mitigate such problems and to reinstate sustainable development, respective software systems need to be compared and their variability information needs to be reverse-engineered. However, recent work identified variability management in the domain of aPs to remain a challenging endevour and appropriate tool support to be missing. We bridge this gap and introduce the Variability Analysis Toolkit (VAT), an extensible platform that allows for the customizable definition of metrics to compare IEC61131-3 control software variants as well as providing means to visualize results. The VAT facilitates a working environment that allows for the exchange of produced results between users. By that, we aim to support engineers in re-engineering control software systems by providing them with means to define metrics based on their individual demands. We demonstrate the feasibility of the VAT using 24 software system variants implemented in accordance to the IEC61131-3 standard.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116565900","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}
P. Parra, Ó. Polo, Segundo Esteban San Román, Agustín Martínez-Hellín, S. Prieto
This paper presents an approach to feature modelling based on the use of modelling constructs from the component-based software development domain. The proposed models allow establishing feature hierarchies, making a clear distinction between the features themselves and their realisations or variants. Furthermore, they enable the definition of complex dependency relationships between the different feature realisations, making it possible to define variable configurations associated with these dependencies. Finally, the approach allows the modelling of product configurations as a set of interconnected and configured feature realisations. The proposal is illustrated with an example based on the on-board satellite software applications domain.
{"title":"A Component-Based Approach to Feature Modelling","authors":"P. Parra, Ó. Polo, Segundo Esteban San Román, Agustín Martínez-Hellín, S. Prieto","doi":"10.1145/3307630.3342402","DOIUrl":"https://doi.org/10.1145/3307630.3342402","url":null,"abstract":"This paper presents an approach to feature modelling based on the use of modelling constructs from the component-based software development domain. The proposed models allow establishing feature hierarchies, making a clear distinction between the features themselves and their realisations or variants. Furthermore, they enable the definition of complex dependency relationships between the different feature realisations, making it possible to define variable configurations associated with these dependencies. Finally, the approach allows the modelling of product configurations as a set of interconnected and configured feature realisations. The proposal is illustrated with an example based on the on-board satellite software applications domain.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124564367","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}