SW Product line engineering 
1 
SW Product Line Engineering 
-Keshav Kumar 
Automotive SW Product line Architect
SW Product line engineering 
2 
Agenda 
•Introduction 
Definition, Need, Motivation 
•Terminology 
Mass customization, Platform, Application Engg 
•Product Line Variability 
Variability Methods, Ref Archi, Views, 
Variant Handling 
•Domain Engineering 
•Application Engineering 
•Benefits
SW Product line engineering - Definition 
3 
Development style of products - Changes with time 
Individual and Standard software 
Mass Customization- Large scale production of goods tailored 
to 
individual customer’s need
SW Product line engineering - Definition 
SW Platform- A SW Platform is a set of SW subsystem and interfaces that 
form a common structure from which a set of derivative products can be 
efficiently developed and produced. -Meyer and Lehnerd 1997 
4 
1980-1991 – 35% increase in sales
SW Product line engineering - Definition 
A software product line is a set of software-intensive 
systems that share a common, managed set of 
features satisfying the specific needs of a particular 
market segment or mission and that are developed 
from a common set of core assets in a prescribed way. 
5 
- Software Engineering Institute | Carnegie Mellon
SW Product line engineering - Product Line 
Variability 
6 
Current challenges- 
Increasing number of features and functions 
Reduce the amount of data 
Mastering of Complexity 
Variant Management 
Maintainability - by Reuse and single source 
Scalability - by intelligent data config methods 
Complexity - by separation 
Flexibility - by intelligent binding and configuration methods
SW Product line engineering - Product Line 
Variability 
7 
Domain 
Engineering 
Should have good interaction 
Application 
Engineering 
SW 
Product 
Build a robust platform 
Cust-specific app 
in a short time
SW Product line engineering - Product Line 
Variability 
8 
Domain Engineering- Domain engineering is the process of 
Software product line engineering in which the commonality and the 
variability of the product line are defined and realized. 
Application Engineering- Application engineering is the process 
Of software product line engineering in which the applications of the 
Product line are built by reusing domain artifacts and exploiting the 
Product line variability.
SW Product line engineering - Product Line 
Variability 
9
SW Product line engineering - Product Line 
Variability 
10 
Goals- Domain Engineering 
Define the commonality and the variability of the SW product line. 
Scope- Define the set of application the SW product line is planned for. 
Define and construct reusable artifacts that accomplish the desired 
variability
SW Product line engineering - Product Line 
Variability 
11 
Goals- Application Engineering 
High reuse- of Domain asset while defining/developing an app 
Exploit- the commonality and variability of SW product line during app 
development 
Document- the app artifacts, i.e. app requirements, archi, components, and tests, 
and relate them to the Domain artifacts 
Bind the variability- according to the app needs from requirement over archi, to 
components, and test cases 
Estimation- The impacts of differences b/w app and domain requirements on 
archi, components and tests
SW Product line engineering - Motivation 
12 
Reduction of Development Costs 
Enhancement of Quality 
Reduction of Time to Market
SW Product line engineering - Motivation 
13 
Approx. 3 Systems 
(Software Engineering) 
Up-Front 
Investment 
Break-Even 
Point 
Cost of development- Single Systems Vs Product line Engineering
SW Product line engineering - Motivation 
14 
Time to market- with and without Product line Engineering
SW Product line engineering - Steps 
Creating the Platform 
Preparing for mass customization 
Commonality first, differences later 
Introducing flexibility 
Flexibility is the key 
Variability 
Sharing platforms b/w product lines 
Reorganizing the Company 
15
SW Product line engineering - Benefits 
16
References 
17 
1. Software Product Line Engineering(Klaus Pohl, Guenter Boeckle, 
Frank van der Linden) 
2. AUTOSAR Variant Handling 
3. http://www.sei.cmu.edu/productlines 
4. https://www-950.ibm.com

SW Product Line Engineering

  • 1.
    SW Product lineengineering 1 SW Product Line Engineering -Keshav Kumar Automotive SW Product line Architect
  • 2.
    SW Product lineengineering 2 Agenda •Introduction Definition, Need, Motivation •Terminology Mass customization, Platform, Application Engg •Product Line Variability Variability Methods, Ref Archi, Views, Variant Handling •Domain Engineering •Application Engineering •Benefits
  • 3.
    SW Product lineengineering - Definition 3 Development style of products - Changes with time Individual and Standard software Mass Customization- Large scale production of goods tailored to individual customer’s need
  • 4.
    SW Product lineengineering - Definition SW Platform- A SW Platform is a set of SW subsystem and interfaces that form a common structure from which a set of derivative products can be efficiently developed and produced. -Meyer and Lehnerd 1997 4 1980-1991 – 35% increase in sales
  • 5.
    SW Product lineengineering - Definition A software product line is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way. 5 - Software Engineering Institute | Carnegie Mellon
  • 6.
    SW Product lineengineering - Product Line Variability 6 Current challenges- Increasing number of features and functions Reduce the amount of data Mastering of Complexity Variant Management Maintainability - by Reuse and single source Scalability - by intelligent data config methods Complexity - by separation Flexibility - by intelligent binding and configuration methods
  • 7.
    SW Product lineengineering - Product Line Variability 7 Domain Engineering Should have good interaction Application Engineering SW Product Build a robust platform Cust-specific app in a short time
  • 8.
    SW Product lineengineering - Product Line Variability 8 Domain Engineering- Domain engineering is the process of Software product line engineering in which the commonality and the variability of the product line are defined and realized. Application Engineering- Application engineering is the process Of software product line engineering in which the applications of the Product line are built by reusing domain artifacts and exploiting the Product line variability.
  • 9.
    SW Product lineengineering - Product Line Variability 9
  • 10.
    SW Product lineengineering - Product Line Variability 10 Goals- Domain Engineering Define the commonality and the variability of the SW product line. Scope- Define the set of application the SW product line is planned for. Define and construct reusable artifacts that accomplish the desired variability
  • 11.
    SW Product lineengineering - Product Line Variability 11 Goals- Application Engineering High reuse- of Domain asset while defining/developing an app Exploit- the commonality and variability of SW product line during app development Document- the app artifacts, i.e. app requirements, archi, components, and tests, and relate them to the Domain artifacts Bind the variability- according to the app needs from requirement over archi, to components, and test cases Estimation- The impacts of differences b/w app and domain requirements on archi, components and tests
  • 12.
    SW Product lineengineering - Motivation 12 Reduction of Development Costs Enhancement of Quality Reduction of Time to Market
  • 13.
    SW Product lineengineering - Motivation 13 Approx. 3 Systems (Software Engineering) Up-Front Investment Break-Even Point Cost of development- Single Systems Vs Product line Engineering
  • 14.
    SW Product lineengineering - Motivation 14 Time to market- with and without Product line Engineering
  • 15.
    SW Product lineengineering - Steps Creating the Platform Preparing for mass customization Commonality first, differences later Introducing flexibility Flexibility is the key Variability Sharing platforms b/w product lines Reorganizing the Company 15
  • 16.
    SW Product lineengineering - Benefits 16
  • 17.
    References 17 1.Software Product Line Engineering(Klaus Pohl, Guenter Boeckle, Frank van der Linden) 2. AUTOSAR Variant Handling 3. http://www.sei.cmu.edu/productlines 4. https://www-950.ibm.com