Software product lines software engineering institute carnegie mellon university 4 a software product line spl is a set of softwareintensive systems that share a common, managed set of features satisfying the speci. Software product line engineering with feature models. Conference events include opportunities to hear industry leaders realworld. In recent years, approaches with a similar background have rapidly emerged within software engineering, so called software product line spl approaches 2, 3. Software engineering institute sei where he gained recognition as co creator of the book software product lines. Splc 2019 systems and software product line conference. Software product lines reasoning any organization that develops software creates multiple software applications that have some characteristics in common. This book introduces both software product lines and modeldriven engineering, which have separate success stories in industry, and focuses on the practical combination of them. The strategy encompasses organizational management, technical management, and software engineering aspects of product production. Although the term software product line engineering is becoming more widely known, there is still uncertaintyamong developers about how it would apply in their own development context. Engineering utilizing the latest in computer design software, our engineers will custom design a system to meet your needs. Product line engineering ple for systems and software is a way to engineer a portfolio of related products in an efficient manner, taking full advantage of the products similarities while respecting and managing their differences. Spl engineering embraces the ideas of mass customization and software reuse. Welcome to the automated software design researchgroup.
Producing a set of related products as a product line has allowed organizations to achieve increased quality and. A software product line spl is a set of software intensive systems that share a common, managed set of features satisfying the specific needs of a particular. Software product line engineering has proven to empower organizations to develop a diversity of similar softwareintensive systems applications at lower cost, in shorter time, and with higher quality when compared with the development of single systems. Software product lines is the culmination of an intensive investigation, undertaken by the software engineering institute sei at carnegie mellon, into how leadingedge software development organizations have retooled for product lines. Product line engineering for systems and software is a way to engineer a portfolio of related products in an efficient manner, taking full advantage of the products similarities while respecting and managing their differences. Some software has the same application architecture, some run on the same execution platforms, and others support the same segment of the business. Proceedings of the 11th asiapacific software engineering conference apsec 2004, busan, s. Product line approaches are wellknown in many manufacturing industries, such as consumer electronics, medical systems and automotive 1. Engineeringproduct lines production equipment company. Product flexibility is the anthem of the software marketplace, and product lines fulfill the promise of tailormade systems built specifically for the needs of particular customers or customer groups.
A software product line is a family of systems that share a common set of core technical assets, with preplanned extensions and variations to address the needs of specific customers or market segments. Producing a set of related products as a product line has allowed organizations to achieve increased quality and significant reductions in cost and time to market. Analysis strategies for software product lines 3 we refer the reader to a recent survey benavides et al. This technology allows us to build a safer system that is manufactured to close tolerances that seamlessly integrates into your application. Software product line engineering has proven to be the methodology for higher quality, lower developing a diversity of software products and softwareintensive systems cost, and shorter at lower costs, in shorter time, and with higher quality. There are essential product line activities and practices areas. Software product line engineering sple covers activities such as domain scoping, modeling the variability of reusable artifacts, configuring and deriving.
Nowhere else in software engineering have we seen such breathtaking improvements in cost, quality, time to market, and developer productivity, often registering in the orderofmagnitude range. In section 2, we give a short introduction to software product lines using a running example and we present an overview on important software analysis that have been applied to soft. Software product lines represent perhaps the most exciting paradigm shift in software development since the advent of highlevel programming languages. Productfamily engineering can be defined as a method that creates an underlying architecture of an organizations product platform. The strategic and technical benefits delivered by ple are impacting the way companies build, deliver, evolve, and compete with their product lines. Software area editor david weiss discusses the benefits of using software product line engineering to produce software families.
The aim of the question is gather information about the modeling languages used by requirements engineering community and in particular for software product lines in domain engineering phase. Carnegie mellon university software engineering institute 4500 fifth avenue pittsburgh, pa 1522612 4122685800. Experiences adopting software product line development without a product line architecture. Software product lines elearning software product lines. There are annual conferences dealing with product line engineering, e. The main difference from normal, oneofakind software development, is a logical separation between the development of core, reusable software assets the platform, and actual applications. Many approaches to creating software product lines have emerged that are based on modeldriven engineering. It was recorded at the modeldriven development and product lines. Featureoriented software product lines springerlink. Software product line engineering are you interested in producing software products or softwareintensive systems at lower costs, in shorter time, and with. Software product lines research issues in engineering. This process is known as productfamily engineering. Software product families have already been proposed by parnas in 1976 1.
Pdf a framework for software product line engineering. Unlike conventional software development paradigms that aim to develop single systems, sple considers the development of a family of software systems. A product line is a set of products that together address a particular market segment or fulfill a particular mission. Synergies and experience conference in october 2006 in leipzig.
Ideally, based on a set of reusable parts, a software manufacturer can generate a software product based on the requirements of its customer. Software product line engineering sple refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production. Software product line engineering sple is a growing area showing promising results in research and practice. Software product lines research issues in engineering and. Properly decomposing a product line into features, and correctly using features in all engineering phases, is core to the immediate and longterm success of such a system. A framework for software product line practice, version 5. The product line concept is about more than a new technology. Check out the new text on feature oriented software product lines. Software product lines in automotive systems engineering article in sae international journal of passenger cars electronic and electrical systems 11. The remainder of this survey is structured as follows. Software product lines spl, or software product families 2, 3, are emerging as a paradigm shift towards modeling and developing software system families rather than individual systems.
In summary software product lines epitomize the concept of strategic, planned reuse. Software product lines in automotive systems engineering. Keynote at conference on software engineering and data engineering sede june 2009. The results obtained within the projects have been implemented in several large industries e. Software organizations of all types and sizes are discovering that when skillfully implemented. A software product line is a set of softwarereliant systems that share a common, managed set of features satisfying a particular market or mission area, and are built from a common set of core assets in a prescribed way. The systems and software product line conference splc is a premier forum where researchers, practitioners, and educators can present and discuss the most recent ideas, trends, experiences, and challenges in the area of software and system product lines engineering. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. Requirements engineering for software product lines. Software product line an overview sciencedirect topics. The basis of sple is the explicit modelling of what is common and what differs between product variants. With explanations of fundamental concepts further illuminated by realworld experience, this book spells. The software product line spl is an emerging methodology for developing software products. Practices and patterns, the seis first product line case study, the sei framework for product line practice, the simple modeling language for product line economics, and the international software product line conference.
The software product line conference splc provides a forum for practitioners, researchers and educators to present and discuss the most recent ideas, innovations, trends, experiences, and concerns in software product lines and software product family engineering. Abstract the software product line approach is a strategy for producing softwareintensive products. In order to foster its further development and acceptance in industry, it is necessary to assess the quality of the research so that. The projects originated from the need of the industry to improve software engineering performance by organizing product development in product lines. This collection includes two decades of sei work on software product lines. Software product lines refers to engineering techniques for creating a portfolio of similar software systems from a shared set of software assets using a common means of production. Software product line engineering foundations, principles and. A software product line is a set of softwareintensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission. It provides an architecture that is based on commonality as well as planned variabilities. A software product line is a portfolio of similar softwarebased systems and products produced from a shared set of software assets using a common means of production. Feature models kan90, cza00 are frequently used for this. Software product line engineering is a paradigm to develop software product lines and as such supports reuse, productivity and quality of the systems.
Inthis article we tackle this problem by describing the design and automatedderivation of the product variants of a software product line using an easy to understand, practical example. The main difference fromnormal, oneofakind software development is a logical separationbetween the development of core, reusable software assets the platform,and actual applications. Product line engineering ple is important because of remarkable efficiencies it has shown in the engineering process. Software product lines are quite common in our daily lives, but before a product family can be successfully established, an extensive process has to be followed. Productfamily engineering pfe, also known as productline engineering, is a synonym for domain engineering created by the software engineering institute, a term coined by james neighbors in his 1980 dissertation at university of california, irvine. Software product lines however, before we introduce the example, well take a small detour into the basis of sple. Software product lines enjoy increasingly wide adoption in the software industry. Software product lines reconcile mass production and standardization with mass customization in software engineering. As automotive manufacturers and suppliers design and implement. This is a roundtable discussion on modeldriven software develoment and product line engineering. Reue thamakes business sense linda northrop 2 7ca rneg imlo u v sty what is a software product line. Driven and software product line engineering wiley. Software product lines however, before we introduce the example, we will take a small detour into the basis of sple.
Siemens digital industries software provides software design management by integrating application lifecycle managements alm software engineering data and processes with the rest of your product lifecycle management plm tools, data, and processes. Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of similar software systems from a shared set of software assets using a common means of production. A few words first international council on systems. An introductory textbook on this topic is by pohl et al.
Software product line engineering sple offers a solution to these not quite new, but increasingly challenging, problems cle01. Most authors focus on the technical and process aspects and assume an organizational model consisting of a domain engineering unit and several application engineering units. Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of. Mcgregor, clemson university and luminary software, u. Software product lines are quite common in our daily lives, but before a product family can be successfully established, an. Software product line spl engineering refers to the engineering and management techniques to create, evolve, and sustain a software product line. The principal goal of modelling variability techniques is to configure.
482 276 1487 634 500 937 595 1366 373 1203 1291 1358 351 595 338 387 1382 355 1247 67 514 1339 287 964 869 1349 87 380 44 560 1181 1256 1350 25 746 923 820 241 1433