A. E. Chacón-Luna, E. G. Ruiz, J. Galindo, David Benavides
Software Product Lines (SPL) enable systematic reuse within an organization thus, enabling the reduction of costs, efforts, development time and the average number of defects per product. However, there is little empirical evidence of SPL adoption in the literature, which makes it difficult to strengthen or elaborate adjustments or improvements to SPL frameworks. In this article, we present the first steps towards an empirical evaluation by showing how companies that do not know about of SPL manage variability in their products, pointing out the strengths and weaknesses of their approaches. To this end, we present the design of a case study that we plan to carry out in the future in two companies to evaluate how companies perform variability management when they are not aware of software product lines. Our assumption is that most of the companies manage variability but no many of them are aware of software product lines. In addition, the first preliminary results of the case study applied in a company are presented.
{"title":"Variability Management in a Software Product Line Unaware Company: Towards a Real Evaluation","authors":"A. E. Chacón-Luna, E. G. Ruiz, J. Galindo, David Benavides","doi":"10.1145/3307630.3342421","DOIUrl":"https://doi.org/10.1145/3307630.3342421","url":null,"abstract":"Software Product Lines (SPL) enable systematic reuse within an organization thus, enabling the reduction of costs, efforts, development time and the average number of defects per product. However, there is little empirical evidence of SPL adoption in the literature, which makes it difficult to strengthen or elaborate adjustments or improvements to SPL frameworks. In this article, we present the first steps towards an empirical evaluation by showing how companies that do not know about of SPL manage variability in their products, pointing out the strengths and weaknesses of their approaches. To this end, we present the design of a case study that we plan to carry out in the future in two companies to evaluate how companies perform variability management when they are not aware of software product lines. Our assumption is that most of the companies manage variability but no many of them are aware of software product lines. In addition, the first preliminary results of the case study applied in a company are presented.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"20 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":"116750174","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}
Sofia Ananieva, Timo Kehrer, Heiko Klare, A. Koziolek, Henrik Lönn, S. Ramesh, Andreas Burger, G. Taentzer, B. Westfechtel
Effectively managing variability in space and time is among the main challenges of developing and maintaining large-scale yet long-living software-intensive systems. Over the last decades, two large research fields, Software Configuration Management (SCM) and Software Product Line Engineering (SPLE), have focused on version management and the systematic handling of variability, respectively. However, neither research community has been successful in producing unified management techniques that are effective in practice, and both communities have developed largely independently of each other. As a step towards overcoming this unfortunate situation, in this paper, we report on ongoing work on conceiving a conceptual yet integrated model of SCM and SPLE concepts, originating from a recent Dagstuhl seminar on the unification of version and variant management. Our goal is to provide discussion grounds for a wider exploration of a unified methodology supporting software evolution in both space and time.
{"title":"Towards a Conceptual Model for Unifying Variability in Space and Time","authors":"Sofia Ananieva, Timo Kehrer, Heiko Klare, A. Koziolek, Henrik Lönn, S. Ramesh, Andreas Burger, G. Taentzer, B. Westfechtel","doi":"10.1145/3307630.3342412","DOIUrl":"https://doi.org/10.1145/3307630.3342412","url":null,"abstract":"Effectively managing variability in space and time is among the main challenges of developing and maintaining large-scale yet long-living software-intensive systems. Over the last decades, two large research fields, Software Configuration Management (SCM) and Software Product Line Engineering (SPLE), have focused on version management and the systematic handling of variability, respectively. However, neither research community has been successful in producing unified management techniques that are effective in practice, and both communities have developed largely independently of each other. As a step towards overcoming this unfortunate situation, in this paper, we report on ongoing work on conceiving a conceptual yet integrated model of SCM and SPLE concepts, originating from a recent Dagstuhl seminar on the unification of version and variant management. Our goal is to provide discussion grounds for a wider exploration of a unified methodology supporting software evolution in both space and time.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"116 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":"121911443","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}
This paper describes a demonstration of the product line engineering tool and framework called Gears from BigLever Software. Gears is the automation at the heart of a PLE Factory, which itself is the conceptual construct at the heart of Feature-based Product Line Engineering. (Feature-based PLE is the subject of an upcoming ISO standard.) Gears provides the means to create and maintain a Feature Catalog via a unified feature modeling language; the means to create and maintain a Bill-of-Features Portfolio, which is a way to specify the members of the product line by the features that each one exhibits; and a single variation point mechanism that works in Shared Assets across the entire product lifecycle. The result is an automated production line capability that can quickly produce any product in the portfolio from the same, single set of shared assets.
{"title":"Feature-Based Systems and Software Product Line Engineering with Gears from BigLever","authors":"C. Krueger, P. Clements","doi":"10.1145/3307630.3342393","DOIUrl":"https://doi.org/10.1145/3307630.3342393","url":null,"abstract":"This paper describes a demonstration of the product line engineering tool and framework called Gears from BigLever Software. Gears is the automation at the heart of a PLE Factory, which itself is the conceptual construct at the heart of Feature-based Product Line Engineering. (Feature-based PLE is the subject of an upcoming ISO standard.) Gears provides the means to create and maintain a Feature Catalog via a unified feature modeling language; the means to create and maintain a Bill-of-Features Portfolio, which is a way to specify the members of the product line by the features that each one exhibits; and a single variation point mechanism that works in Shared Assets across the entire product lifecycle. The result is an automated production line capability that can quickly produce any product in the portfolio from the same, single set of shared assets.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"71 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":"133753470","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}
Planning and developing Cyber-Physical Production Systems (CPPS) are multi-disciplinary engineering activities that rely on effective and efficient knowledge exchange for better collaboration between engineers of different disciplines. The Product-Process-Resource (PPR) approach allows modeling products produced by industrial processes using specific production resources. In practice, a CPPS manufactures a portfolio of product type variants, i.e., a product line. Therefore, engineers need to create and maintain several PPR models to cover PPR variants and their evolving versions. In this paper, we detail a representative use case, identify challenges for using Variability Modeling (VM) methods to describe and manage PPR variants, and present a first solution approach based on cooperation with domain experts at an industry partner, a system integrator of automation for high-performance CPPS. We conclude that integrating basic variability concepts into PPR models is a promising first step and describe our further research plans to support PPR VM in CPPS.
{"title":"Towards Modeling Variability of Products, Processes and Resources in Cyber-Physical Production Systems Engineering","authors":"Kristof Meixner, Rick Rabiser, S. Biffl","doi":"10.1145/3307630.3342411","DOIUrl":"https://doi.org/10.1145/3307630.3342411","url":null,"abstract":"Planning and developing Cyber-Physical Production Systems (CPPS) are multi-disciplinary engineering activities that rely on effective and efficient knowledge exchange for better collaboration between engineers of different disciplines. The Product-Process-Resource (PPR) approach allows modeling products produced by industrial processes using specific production resources. In practice, a CPPS manufactures a portfolio of product type variants, i.e., a product line. Therefore, engineers need to create and maintain several PPR models to cover PPR variants and their evolving versions. In this paper, we detail a representative use case, identify challenges for using Variability Modeling (VM) methods to describe and manage PPR variants, and present a first solution approach based on cooperation with domain experts at an industry partner, a system integrator of automation for high-performance CPPS. We conclude that integrating basic variability concepts into PPR models is a promising first step and describe our further research plans to support PPR VM in CPPS.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"21 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":"134308693","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}
Engineering Software Product Lines may be a strategy to reduce costs and efforts for developing software and increasing business productivity. However, it cannot be considered as a "silver bullet" that applies to all types of organizations. Companies must consider pros and cons to determine sound reasons and justify its adoption. In previous work, we proposed the APPLIES evaluation framework to help decision-makers find arguments that may justify (or not) adopting a product line engineering approach. This paper presents our experience using this framework in a mid-sized software development company with more than 25 years of experience but without previous experience in product line engineering. This industrial experience, conducted as a qualitative empirical evaluation, helped us to evaluate to what extent APPLIES is practical to be used in a real environment and to gather ideas from real potential users to improve the framework.
{"title":"Analyzing the Convenience of Adopting a Product Line Engineering Approach: An Industrial Qualitative Evaluation","authors":"Luisa Rincón, R. Mazo, C. Salinesi","doi":"10.1145/3307630.3342418","DOIUrl":"https://doi.org/10.1145/3307630.3342418","url":null,"abstract":"Engineering Software Product Lines may be a strategy to reduce costs and efforts for developing software and increasing business productivity. However, it cannot be considered as a \"silver bullet\" that applies to all types of organizations. Companies must consider pros and cons to determine sound reasons and justify its adoption. In previous work, we proposed the APPLIES evaluation framework to help decision-makers find arguments that may justify (or not) adopting a product line engineering approach. This paper presents our experience using this framework in a mid-sized software development company with more than 25 years of experience but without previous experience in product line engineering. This industrial experience, conducted as a qualitative empirical evaluation, helped us to evaluate to what extent APPLIES is practical to be used in a real environment and to gather ideas from real potential users to improve the framework.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"67 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":"122871098","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 importance of cyber-physical systems is growing very fast, being part of the Internet of Things vision. These devices generate data that could collapse the network and can not be assumed by the cloud. New technologies like Mobile Cloud Computing and Mobile Edge Computing are taking importance as solution for this issue. The idea is offloading some tasks to devices situated closer to the user device, reducing network congestion and improving applications performance (e.g., in terms of latency and energy). However, the variability of the target devices' features and processing tasks' requirements is very diverse, being difficult to decide which device is more adequate to deploy and run such processing tasks. Once decided, task offloading used to be done manually. Then, it is necessary a method to automatize the task assignation and deployment process. In this thesis we propose to model the structural variability of the deployment infrastructure and applications using feature models, on the basis of a SPL engineering process. Combining SPL methodology with Edge Computing, the deployment of applications is addressed as the derivation of a product. The data of the valid configurations is used by a task assignment framework, which determines the optimal tasks offloading solution in different network devices, and the resources of them that should be assigned to each task/user. Our solution provides the most energy and latency efficient deployment solution, accomplishing the QoS requirements of the application in the process.
{"title":"Energy Efficient Assignment and Deployment of Tasks in Structurally Variable Infrastructures","authors":"Angel Cañete","doi":"10.1145/3307630.3342704","DOIUrl":"https://doi.org/10.1145/3307630.3342704","url":null,"abstract":"The importance of cyber-physical systems is growing very fast, being part of the Internet of Things vision. These devices generate data that could collapse the network and can not be assumed by the cloud. New technologies like Mobile Cloud Computing and Mobile Edge Computing are taking importance as solution for this issue. The idea is offloading some tasks to devices situated closer to the user device, reducing network congestion and improving applications performance (e.g., in terms of latency and energy). However, the variability of the target devices' features and processing tasks' requirements is very diverse, being difficult to decide which device is more adequate to deploy and run such processing tasks. Once decided, task offloading used to be done manually. Then, it is necessary a method to automatize the task assignation and deployment process. In this thesis we propose to model the structural variability of the deployment infrastructure and applications using feature models, on the basis of a SPL engineering process. Combining SPL methodology with Edge Computing, the deployment of applications is addressed as the derivation of a product. The data of the valid configurations is used by a task assignment framework, which determines the optimal tasks offloading solution in different network devices, and the resources of them that should be assigned to each task/user. Our solution provides the most energy and latency efficient deployment solution, accomplishing the QoS requirements of the application in the process.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"11 7","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120861221","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}
Marta Cecilia Camacho Ojeda, Mayor del Cauca, Francisco Javier Álvarez Rodríguez, C. Collazos
The software product line engineering (SPLE) is a reuse strategy that allows software companies to save effort when they develop products with common features. There, the software product line scoping is one of most essential and complex activities because (1) a correct scope for the line has a high impact in its success and (2) it implies an interdisciplinary activity involving stakeholders with different visions about the products. In this paper, we report an exploratory study aimed to identify problems related to the collaborative work at scoping SPL in practice. We studied problems related to the participation and interaction of stakeholders in projects where groups of students must develop SPLs of serious video games for training employees in a company. Our study revealed problems related to low levels of communication, participants with different project objectives and stakeholders requesting different types of programs. Problems that are exacerbated by the staff rotation and inconveniences scheduling working sessions. In addition, our study revealed other problems regarding developers misunderstandings the artifacts related to the scope and their use in the further development activities. In this paper, we also present the first version of a collaborative method for SPL scoping, which seeks to combine scoping practices with collaborative patterns and thinkLets, with this combination we seek the effective participation of the required roles in this activity.
{"title":"Identifying Collaborative Aspects During Software Product Lines Scoping","authors":"Marta Cecilia Camacho Ojeda, Mayor del Cauca, Francisco Javier Álvarez Rodríguez, C. Collazos","doi":"10.1145/3307630.3342420","DOIUrl":"https://doi.org/10.1145/3307630.3342420","url":null,"abstract":"The software product line engineering (SPLE) is a reuse strategy that allows software companies to save effort when they develop products with common features. There, the software product line scoping is one of most essential and complex activities because (1) a correct scope for the line has a high impact in its success and (2) it implies an interdisciplinary activity involving stakeholders with different visions about the products. In this paper, we report an exploratory study aimed to identify problems related to the collaborative work at scoping SPL in practice. We studied problems related to the participation and interaction of stakeholders in projects where groups of students must develop SPLs of serious video games for training employees in a company. Our study revealed problems related to low levels of communication, participants with different project objectives and stakeholders requesting different types of programs. Problems that are exacerbated by the staff rotation and inconveniences scheduling working sessions. In addition, our study revealed other problems regarding developers misunderstandings the artifacts related to the scope and their use in the further development activities. In this paper, we also present the first version of a collaborative method for SPL scoping, which seeks to combine scoping practices with collaborative patterns and thinkLets, with this combination we seek the effective participation of the required roles in this activity.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"77 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":"126712567","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}
Javad Ghofrani, Ehsan Kozegar, Arezoo Bozorgmehr, Mohammad Divband Soorati
Machine learning, especially deep learning has aroused interests of researchers and practitioners for the last few years in development of intelligent systems such as speech, natural language, and image processing. Software solutions based on machine learning techniques attract more attention as alternatives to conventional software systems. In this paper, we investigate how reusability techniques are applied in implementation of artificial neural networks (ANNs). We conducted an empirical study with an online survey among experts with experience in developing solutions with ANNs. We analyze the feedback of more than 100 experts to our survey. The results show existing challenges and some of the applied solutions in an intersection between reusability and ANNs.
{"title":"Reusability in Artificial Neural Networks: An Empirical Study","authors":"Javad Ghofrani, Ehsan Kozegar, Arezoo Bozorgmehr, Mohammad Divband Soorati","doi":"10.1145/3307630.3342419","DOIUrl":"https://doi.org/10.1145/3307630.3342419","url":null,"abstract":"Machine learning, especially deep learning has aroused interests of researchers and practitioners for the last few years in development of intelligent systems such as speech, natural language, and image processing. Software solutions based on machine learning techniques attract more attention as alternatives to conventional software systems. In this paper, we investigate how reusability techniques are applied in implementation of artificial neural networks (ANNs). We conducted an empirical study with an online survey among experts with experience in developing solutions with ANNs. We analyze the feedback of more than 100 experts to our survey. The results show existing challenges and some of the applied solutions in an intersection between reusability and ANNs.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"1 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":"129523639","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}