The impact of software product lines to software development and maintenance costs has been well documented. Reduced time to market and number of people required to develop and support a company's software products constitute some of these savings. However, the actual savings model is more than just savings within the software development community. In fact, the savings realized directly by the software community may not be the biggest savings in the company. At Cummins Inc., we have realized impacts outside of embedded software development because of the use of software product lines. Service tool development costs for a product within the product line is 10% of those products outside the product line. Other impacts in areas like customer engineering, technician efficiency, calibration development, service engineering, management, and customer satisfaction are often harder to quantify, but these areas reap positive benefits from the product line architecture. This brings more of a business level to product line engineering.
{"title":"Software Product Lines Beyond Software Development","authors":"Scott G Decker, J. Dager","doi":"10.1109/SPLINE.2007.16","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.16","url":null,"abstract":"The impact of software product lines to software development and maintenance costs has been well documented. Reduced time to market and number of people required to develop and support a company's software products constitute some of these savings. However, the actual savings model is more than just savings within the software development community. In fact, the savings realized directly by the software community may not be the biggest savings in the company. At Cummins Inc., we have realized impacts outside of embedded software development because of the use of software product lines. Service tool development costs for a product within the product line is 10% of those products outside the product line. Other impacts in areas like customer engineering, technician efficiency, calibration development, service engineering, management, and customer satisfaction are often harder to quantify, but these areas reap positive benefits from the product line architecture. This brings more of a business level to product line engineering.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"28 4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-10-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128335554","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}
Product derivation is the process of constructing products from the core assets in a product line. Guidance and support are needed to increase efficiency and to deal with the complexity of product derivation. Research has, however, devoted comparatively little attention to this process. In this paper we describe an approach for supporting product derivation. We show that variability models need to be prepared for concrete projects before they can be effectively utilized in the derivation process. Project-specific information and sales knowledge should be added and irrelevant variability should be pruned. We also present tool support and illustrate the approach using examples from ongoing research collaboration.
{"title":"Supporting Product Derivation by Adapting and Augmenting Variability Models","authors":"Rick Rabiser, P. Grünbacher, Deepak Dhungana","doi":"10.1109/SPLINE.2007.22","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.22","url":null,"abstract":"Product derivation is the process of constructing products from the core assets in a product line. Guidance and support are needed to increase efficiency and to deal with the complexity of product derivation. Research has, however, devoted comparatively little attention to this process. In this paper we describe an approach for supporting product derivation. We show that variability models need to be prepared for concrete projects before they can be effectively utilized in the derivation process. Project-specific information and sales knowledge should be added and irrelevant variability should be pruned. We also present tool support and illustrate the approach using examples from ongoing research collaboration.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115349181","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}
Chong-Mok Park, Seokjin Hong, Kyoung-Ho Son, J. Kwon
The component-based software engineering has been gaining attention in consumer electronics (CE) industry. New component models for CE software are emerging, but unfortunately there is no common standard established yet. Each of the proposed models focuses on satisfying some subset of requirements from CE software and there is no unified model that can handle all different requirements ofCE software. We propose a component model for component- based CE software development in the context of software product lines. The component model focuses on handling build-time structures of the software and attempts to provide a unified model that can support both componentization of legacy code and composition of new CE software in an efficient way. We also describe our experiences in prototyping a tool and applying it to one of our initial CE product line implementations.
{"title":"A Component Model supporting Decomposition and Composition of Consumer Electronics Software Product Lines","authors":"Chong-Mok Park, Seokjin Hong, Kyoung-Ho Son, J. Kwon","doi":"10.1109/SPLINE.2007.28","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.28","url":null,"abstract":"The component-based software engineering has been gaining attention in consumer electronics (CE) industry. New component models for CE software are emerging, but unfortunately there is no common standard established yet. Each of the proposed models focuses on satisfying some subset of requirements from CE software and there is no unified model that can handle all different requirements ofCE software. We propose a component model for component- based CE software development in the context of software product lines. The component model focuses on handling build-time structures of the software and attempts to provide a unified model that can support both componentization of legacy code and composition of new CE software in an efficient way. We also describe our experiences in prototyping a tool and applying it to one of our initial CE product line implementations.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121511382","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}
Early generation software product line (SPL) methodologies tended to be large, complex, and offer many options and choices, making adoption in practice difficult to comprehend, justify and achieve. We have identified a simpler pattern for SPL methodology, referred to as the 3-Tiered Methodology, based on observations during deployments and operation of new generation SPL practices. This methodology is useful not only for the operation of full-scale SPL practice, but also in understanding, explaining and justifying SPLs, as well as for planning and making transitions to SPL practice.
{"title":"The 3-Tiered Methodology: Pragmatic Insights from New Generation Software Product Lines","authors":"C. Krueger","doi":"10.1109/SPLINE.2007.34","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.34","url":null,"abstract":"Early generation software product line (SPL) methodologies tended to be large, complex, and offer many options and choices, making adoption in practice difficult to comprehend, justify and achieve. We have identified a simpler pattern for SPL methodology, referred to as the 3-Tiered Methodology, based on observations during deployments and operation of new generation SPL practices. This methodology is useful not only for the operation of full-scale SPL practice, but also in understanding, explaining and justifying SPLs, as well as for planning and making transitions to SPL practice.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"80 10","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114004114","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}
Since the paper "A Cooperative Model for Cross-Divisional Product Development for a Software Product Line" by Toft et al., (2000) was presented at SEI SPLC 2000, the Owen firmware program has undergone considerable evolution. The scope and variation of the product line has grown by 10x and lines of code from 500 K to over 5 M. To accomplish this, Owen has survived some major growing pains but still maintained its core model and principles that had made it successful. This year, Owen celebrates 10 years of firmware product line engineering. This paper seeks to describe how Owen has responding to increasing dynamic complexity at the business and engineering level in order to support the increasing demands of the HP inkjet product family.
{"title":"Dynamic Complexity and the Owen Firmware Product Line Program","authors":"Holt Mebane, J. Ohta","doi":"10.1109/SPLINE.2007.32","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.32","url":null,"abstract":"Since the paper \"A Cooperative Model for Cross-Divisional Product Development for a Software Product Line\" by Toft et al., (2000) was presented at SEI SPLC 2000, the Owen firmware program has undergone considerable evolution. The scope and variation of the product line has grown by 10x and lines of code from 500 K to over 5 M. To accomplish this, Owen has survived some major growing pains but still maintained its core model and principles that had made it successful. This year, Owen celebrates 10 years of firmware product line engineering. This paper seeks to describe how Owen has responding to increasing dynamic complexity at the business and engineering level in order to support the increasing demands of the HP inkjet product family.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115385147","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}
Increasing complexity due to the multitude of different functions and their interactions as well as a rising number of different product variants are just some of the challenges that must be faced during the development of multi-functional system families. Addressing this trend we present an approach combining model-based development with product line techniques aiming at a consistent description of a software product family as well as supporting the configuration of its variants. We integrate the concept of variability in our framework [7] which only supported the representation of single software systems on subsequent abstraction levels so far. For the configuration of a concrete product we extend this framework by a feature-based model which allows to configure and derive single systems from a system family model. Furthermore, we explain how the complexity due to the possibly huge amount of configuration decisions can be handled by means of a staged configuration process.
{"title":"Development and Configuration of Service-based Product Lines","authors":"Alexander Gruler, Alexander Harhurin, J. Hartmann","doi":"10.1109/SPLINE.2007.13","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.13","url":null,"abstract":"Increasing complexity due to the multitude of different functions and their interactions as well as a rising number of different product variants are just some of the challenges that must be faced during the development of multi-functional system families. Addressing this trend we present an approach combining model-based development with product line techniques aiming at a consistent description of a software product family as well as supporting the configuration of its variants. We integrate the concept of variability in our framework [7] which only supported the representation of single software systems on subsequent abstraction levels so far. For the configuration of a concrete product we extend this framework by a feature-based model which allows to configure and derive single systems from a system family model. Furthermore, we explain how the complexity due to the possibly huge amount of configuration decisions can be handled by means of a staged configuration process.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121526260","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 line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This paper presents an approach that facilitates variability implementation, management and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed by aspect-oriented composition techniques on model level. Model transformations support the transition from problem to solution domain. Aspect-oriented techniques enable the explicit expression and modularization of variability on model, code, and template level The presented concepts are illustrated with a case study of a home automation system.
{"title":"Product Line Implementation using Aspect-Oriented and Model-Driven Software Development","authors":"M. Völter, Iris Groher","doi":"10.1109/SPLINE.2007.23","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.23","url":null,"abstract":"Software product line engineering aims to reduce development time, effort, cost, and complexity by taking advantage of the commonality within a portfolio of similar products. The effectiveness of a software product line approach directly depends on how well feature variability within the portfolio is implemented and managed throughout the development lifecycle, from early analysis through maintenance and evolution. This paper presents an approach that facilitates variability implementation, management and tracing by integrating model-driven and aspect-oriented software development. Features are separated in models and composed by aspect-oriented composition techniques on model level. Model transformations support the transition from problem to solution domain. Aspect-oriented techniques enable the explicit expression and modularization of variability on model, code, and template level The presented concepts are illustrated with a case study of a home automation system.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116569095","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 modeling is a notation and an approach for modeling commonality and variability in product families. In their basic form, feature models contain mandatory/optional features, feature groups, and implies and excludes relationships. It is known that such feature models can be translated into propositional formulas, which enables the analysis and configuration using existing logic- based tools. In this paper, we consider the opposite translation problem, that is, the extraction of feature models from propositional formulas. We give an automatic and efficient procedure for computing a feature model from a formula. As a side effect we characterize a class of logical formulas equivalent to feature models and identify logical structures corresponding to their syntactic elements. While many different feature models can be extracted from a single formula, the computed model strives to expose graphically the maximum of the original logical structure while minimizing redundancies in the representation. The presented work furthers our understanding of the semantics of feature modeling and its relation to logics, opening avenues for new applications in reverse engineering and refactoring of feature models.
{"title":"Feature Diagrams and Logics: There and Back Again","authors":"K. Czarnecki, A. Wąsowski","doi":"10.1109/SPLC.2007.19","DOIUrl":"https://doi.org/10.1109/SPLC.2007.19","url":null,"abstract":"Feature modeling is a notation and an approach for modeling commonality and variability in product families. In their basic form, feature models contain mandatory/optional features, feature groups, and implies and excludes relationships. It is known that such feature models can be translated into propositional formulas, which enables the analysis and configuration using existing logic- based tools. In this paper, we consider the opposite translation problem, that is, the extraction of feature models from propositional formulas. We give an automatic and efficient procedure for computing a feature model from a formula. As a side effect we characterize a class of logical formulas equivalent to feature models and identify logical structures corresponding to their syntactic elements. While many different feature models can be extracted from a single formula, the computed model strives to expose graphically the maximum of the original logical structure while minimizing redundancies in the representation. The presented work furthers our understanding of the semantics of feature modeling and its relation to logics, opening avenues for new applications in reverse engineering and refactoring of feature models.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121273996","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}
Investment in architecture and quality improvement for a software product line can increase reuse, and consequently reduce effort, enhance product reliability, and shorten time- to-market. Such investments should be carefully chosen to be effective, to avoid over-investment, and to return benefits within the desired time. In this paper, we show how a stochastic simulation model can be used to explore the impacts of such investments. The model is validated by comparison to COPLIMO, a COCOMO II based effort estimation model for product line development, and by inspecting effort distributions of the generated unplanned work. For the illustrative model and scenarios in this paper, we show that the degree of architecture reuse has the largest impact. Preventing degraded architectural dependencies itself does not have a meaningful impact, but if such degradation is also associated with adverse effects on defect injection and detection, it can be significant. Process improvement has a meaningful impact, but over-investment is possible.
{"title":"Impact of Architecture and Quality Investment in Software Product Line Development","authors":"Makoto Nonaka, Liming Zhu","doi":"10.1109/SPLINE.2007.35","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.35","url":null,"abstract":"Investment in architecture and quality improvement for a software product line can increase reuse, and consequently reduce effort, enhance product reliability, and shorten time- to-market. Such investments should be carefully chosen to be effective, to avoid over-investment, and to return benefits within the desired time. In this paper, we show how a stochastic simulation model can be used to explore the impacts of such investments. The model is validated by comparison to COPLIMO, a COCOMO II based effort estimation model for product line development, and by inspecting effort distributions of the generated unplanned work. For the illustrative model and scenarios in this paper, we show that the degree of architecture reuse has the largest impact. Preventing degraded architectural dependencies itself does not have a meaningful impact, but if such degradation is also associated with adverse effects on defect injection and detection, it can be significant. Process improvement has a meaningful impact, but over-investment is possible.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134062677","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}
Christian Tischer, Andreas Müller, M. Ketterer, L. Geyer
The automotive industry supplies the world with a tremendous variability of vehicles, fulfilling a wide range of legal requirements all around the world while addressing their owner's needs and preferenqces from lowest cost to extreme luxury. As a global supplier in the powertrain domain, Bosch Gasoline Systems (GS) addresses this challenge by establishing a product line approach in the software development for gasoline engine control units, supported by process improvement initiative. Several characteristics of the powertrain domain strongly affected the feasible solutions and the time scale. Specific customer relations, complexity and variability of the physical system and a large organization require patience and continuity to be successful with product lines. The achievements of the GS approach are the ability of market oriented development, measurement of the product line success and a continuous control and improvement of product quality.
{"title":"Why does it take that long? Establishing Product Lines in the Automotive Domain","authors":"Christian Tischer, Andreas Müller, M. Ketterer, L. Geyer","doi":"10.1109/SPLINE.2007.20","DOIUrl":"https://doi.org/10.1109/SPLINE.2007.20","url":null,"abstract":"The automotive industry supplies the world with a tremendous variability of vehicles, fulfilling a wide range of legal requirements all around the world while addressing their owner's needs and preferenqces from lowest cost to extreme luxury. As a global supplier in the powertrain domain, Bosch Gasoline Systems (GS) addresses this challenge by establishing a product line approach in the software development for gasoline engine control units, supported by process improvement initiative. Several characteristics of the powertrain domain strongly affected the feasible solutions and the time scale. Specific customer relations, complexity and variability of the physical system and a large organization require patience and continuity to be successful with product lines. The achievements of the GS approach are the ability of market oriented development, measurement of the product line success and a continuous control and improvement of product quality.","PeriodicalId":202515,"journal":{"name":"11th International Software Product Line Conference (SPLC 2007)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130038009","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}