Software product lines engineering

Some software has the same application architecture, some run on the same execution platforms, and others support the same segment of the business. The results obtained within the projects have been implemented in several large industries e. Software product families have already been proposed by parnas in 1976 1. Experiences adopting software product line development without a product line architecture. This technology allows us to build a safer system that is manufactured to close tolerances that seamlessly integrates into your application.

Feature models kan90, cza00 are frequently used for this. 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. Synergies and experience conference in october 2006 in leipzig. A product line is a set of products that together address a particular market segment or fulfill a particular mission. 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. Welcome to the automated software design researchgroup. Splc 2019 systems and software product line conference. 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. 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.

It was recorded at the modeldriven development and product lines. Software product lines represent perhaps the most exciting paradigm shift in software development since the advent of highlevel programming languages. The software product line spl is an emerging methodology for developing software products. Software product line engineering sple is a growing area showing promising results in research and practice.

A framework for software product line practice, version 5. 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. Spl engineering embraces the ideas of mass customization and software reuse. Keynote at conference on software engineering and data engineering sede june 2009. Software product line engineering are you interested in producing software products or softwareintensive systems at lower costs, in shorter time, and with. It provides an architecture that is based on commonality as well as planned variabilities.

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. Producing a set of related products as a product line has allowed organizations to achieve increased quality and. 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. In order to foster its further development and acceptance in industry, it is necessary to assess the quality of the research so that. Software product lines however, before we introduce the example, well take a small detour into the basis of sple.

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. With explanations of fundamental concepts further illuminated by realworld experience, this book spells. This process is known as productfamily engineering. Software product lines in automotive systems engineering. Software product line an overview sciencedirect topics. Software product lines in automotive systems engineering article in sae international journal of passenger cars electronic and electrical systems 11. 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. 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. Software organizations of all types and sizes are discovering that when skillfully implemented.

Check out the new text on feature oriented software product lines. 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 elearning software product lines. 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. Many approaches to creating software product lines have emerged that are based on modeldriven engineering. Requirements engineering for software product lines. Software product line engineering with feature models. The product line concept is about more than a new technology. There are annual conferences dealing with product line engineering, e. 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. An introductory textbook on this topic is by pohl et al. 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 covers activities such as domain scoping, modeling the variability of reusable artifacts, configuring and deriving. Carnegie mellon university software engineering institute 4500 fifth avenue pittsburgh, pa 1522612 4122685800. Productfamily engineering can be defined as a method that creates an underlying architecture of an organizations product platform. Abstract the software product line approach is a strategy for producing softwareintensive products. The remainder of this survey is structured as follows. Featureoriented software product lines springerlink. Proceedings of the 11th asiapacific software engineering conference apsec 2004, busan, s. 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. Analysis strategies for software product lines 3 we refer the reader to a recent survey benavides et al. 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 few words first international council on systems. Engineering utilizing the latest in computer design software, our engineers will custom design a system to meet your needs. Software product line engineering is a paradigm to develop software product lines and as such supports reuse, productivity and quality of the systems. 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.

Pdf a framework for software product line engineering. Driven and software product line engineering wiley. Unlike conventional software development paradigms that aim to develop single systems, sple considers the development of a family of software systems. Software product lines research issues in engineering. This is a roundtable discussion on modeldriven software develoment and product line engineering. Software product lines are quite common in our daily lives, but before a product family can be successfully established, an. Software product lines reasoning any organization that develops software creates multiple software applications that have some characteristics in common. 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. Conference events include opportunities to hear industry leaders realworld. 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. Product line approaches are wellknown in many manufacturing industries, such as consumer electronics, medical systems and automotive 1.

Reue thamakes business sense linda northrop 2 7ca rneg imlo u v sty what is a software product line. 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 lines research issues in engineering and. The basis of sple is the explicit modelling of what is common and what differs between product variants. Software engineering institute sei where he gained recognition as co creator of the book software product lines. 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. In summary software product lines epitomize the concept of strategic, planned reuse. Software product line engineering foundations, principles and. The strategic and technical benefits delivered by ple are impacting the way companies build, deliver, evolve, and compete with their 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. Software area editor david weiss discusses the benefits of using software product line engineering to produce software families. 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. The main difference fromnormal, oneofakind software development is a logical separationbetween the development of core, reusable software assets the platform,and actual applications.

Software product lines spls, or software product line development, refers to software engineering methods, tools and techniques for creating a collection of. Product line engineering ple is important because of remarkable efficiencies it has shown in the engineering process. The projects originated from the need of the industry to improve software engineering performance by organizing product development in product lines. 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. Software product line engineering sple offers a solution to these not quite new, but increasingly challenging, problems cle01. This collection includes two decades of sei work on software product lines.

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. 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. There are essential product line activities and practices areas. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management.

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. 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. Software product lines however, before we introduce the example, we will take a small detour into the basis of sple. 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. Software product line spl engineering refers to the engineering and management techniques to create, evolve, and sustain a software product line. Engineeringproduct lines production equipment company. 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 principal goal of modelling variability techniques is to configure. 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 enjoy increasingly wide adoption in the software industry. 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. Mcgregor, clemson university and luminary software, u.

In recent years, approaches with a similar background have rapidly emerged within software engineering, so called software product line spl approaches 2, 3. 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. Software product lines reconcile mass production and standardization with mass customization in software engineering. Software product lines software engineering institute. The strategy encompasses organizational management, technical management, and software engineering aspects of product production.