introducing software product lines in model-baseddesign processes: an industrial experience

27
WICSA 2016 – Venice, Italy – April 7 th Introducing Software Product Lines in Model-Based Design Processes: an Industrial Experience Domenico Amalfitano Vincenzo De Simone Anna Rita Fasolino Mario Lubrano Stefano Scala

Upload: reverse-university-of-naples-federico-ii

Post on 14-Feb-2017

24 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

Domenico AmalfitanoVincenzo De SimoneAnna Rita Fasolino Mario Lubrano

Stefano Scala

Page 2: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Context◦ Automotive software development process

adopted in FCA Software Factory Motivation

◦ Improve efficiency of this software development process

Proposed Solution◦ Introduction of a Software Product Lines

approach for (semi)automatically producing Product Architectures starting from specification documents

Page 3: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Variability of the Automotive Domain● 222 different vehicle models available in

US in 20151

◦ 43 of these were newly introduced models● Tailoring of vehicles models due to

◦ Customers requirements◦ Cultural preferences◦ Different Laws

● Impacts on features provided by cars, such as:◦ Safety functions ◦ Driving Assistance systems

1 http://ww.statista.com/statistics/200092/total-number-of-car-models-on -the-us-market-since.1990/

Page 4: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Complexity of Automotive Embedded SoftwareMore features provided by electronics an software

◦ Increasing in the number of Electronic Control Units (ECUs) networked through the body of the car

Page 5: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Complexity of Automotive Embedded Software - 2Complexity of automotive embedded software increases

Excerpt of http://www.informationisbeautiful.net/visualizations/million-lines-of-code/

Page 6: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Variability Management Issue●Variability must be managed to avoid

that the same functions are developed several times

◦Case-by-case basis or opportunistic reuse strategies are adopted• Error prone• Not efficient

◦More systematic reuse approaches need to be introduced

Page 7: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Software Product Lines (SPL) ●SPL are a well-know solution for

handling variability and complexity of software development ◦ “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” 1

1 P. Clements and L. Northrop, Software Product Lines: Practices and Patterns.

Page 8: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Considered Industrial Context●FCA Software Factory (SWF) devoted to

the development of application software ◦ for Instrument Panel Cluster (IPC) ECUs. ◦exploiting Model Based Design (MBD)

process

Page 9: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Adopted Software Development Process Issues1. No systematic reuse strategies

applied◦ Exploitation of clone-and-own and copy-

paste-modify approaches when there is the need to implement same or very similar features for each new vehicle model

2. Difficulties in propagating modification or bug-fixing involving common parts of different software

◦ Need of traceability links between these software

Page 10: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Introduction of SPL in the adopted software development process

Page 11: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Proposed solution●Introduce SPL in the SW Architecture

and Design Phase◦ For the (semi)automatic generation of

Product architectures (PA): tailored for specific vehicle models, starting from the specification documents, defining a Feature Profile (FP) to specify

the features to provide and the values for configuring them.

relying on a SPL infrastructure, named AutoMative.

Page 12: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

The introduction of SPL in FCA ●To introduce the SPL we executed

two processes:◦Domain Engineering Process

for developing the SPL infrastructure

◦Application Engineering Process for generating the IPC software products by exploiting

the SPL infrastructure

Page 13: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Domain Engineering ProcessIdentify the IPC features and define

its Product Line Architecture (PLA) that represent the design that is common to all SPL products

Execution of 4 activities:1. Identify Features2. Design PLA3. Define Extraction Rules4. Develop the SPL infrastructure

Page 14: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

1. Identify FeaturesFor defining the IPC Feature

Model

◦ Identification of the main features of the IPC and the relationships among them by manually analyzing specification documents of multiple vehicle models. Specification documents in Excel and

Word format

Page 15: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

2. Design the PLAThe IPC PLA was designed as a

composition of configurable MATLAB/Simulink (MS) models (Additive approach)◦ For each identified feature, a MS model

was defined in terms of: Its composing parametric subsystems and

their Variation Points (VP)s The configurable interconnections among

these subsystems The rules to instantiate and configure both

subsystems and their interconnections

Page 16: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

2. Design the PLA – the followed approachFor defining the configurable

subsystems we: ◦ Analyzed the specification

documents◦ Performed a reverse engineering

process to extract reusable models from existing

architectural models

Page 17: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

3. Define the Extraction RulesNeeded to produce a FP starting from

Excel specification documents of a given vehicle model.

They define how to identify Feature VPs and extract their values and how to map them in the FP

They were defined executing reverse engineering process on different kinds of specification documents

Page 18: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

3. Define the Extraction Rules – An example

Excerpt of Specification Documents

Excerpt of Feature Profile

Page 19: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

4. Develop the SPL Infrastructure AutoMative●To support the automation of the

Application Engineering process●The Infrastructure should:

◦handle the defined PLA, the configurable subsystems, the extraction and the transformation rules

◦produce PA tailored for a specific vehicle model

Page 20: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Application Engineering Process●It relys on the execution of 2

activities◦Definition of the FP • automatic generation of FP if the specification

documents comply with the models obtained in the Extraction Rules Phase

• need manual effort on the contrary◦Generation of the PA

generate the MATLAB/Simulink model by instantiating and configuring the needed parametric subsystems and their interconnections

Page 21: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Application of the Proposed ApproachApplication of the approach for obtaining the IPC PA tailored for the Fiat Tipo in a decoupled project

●Initialization of AutoMative Infrastructure by defining the PLA and by implementing the parametric subsystems related to the identified main features

●Definition of the FP according to the specification documents related to the Fiat Tipo

●Generation of the PA by instantiating and configuring of the subsystems according to the produced FP

Page 22: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Application of the Proposed Approach - 2

Feature#

Implemented Parametric Subsystems

# Identified Variation

Points

# InstantiatedParametric Subsystems

# Filled Variation

Points

F1 18 93 40 164

F2 17 76 124 418

F3 13 104 208 1664

F4 3 196 3 196

We considered a subset of 4 main features of the IPC

Page 23: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Application of the Proposed Approach - Costs Domain Engineering Process

◦ Six man-month for developing AutoMative

◦ Eleven man-month for the initialization of the infrastructure

Application Engineering◦ Tens of seconds to generate the FP when

no further manual filling is needed, hours otherwise

◦ Minutes for generating the PAs

Page 24: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Application of the Proposed Approach - Discussions SPL introduced without impacts on

the entire development process The produced PAs can be processed

by the code generation tools Improvement in the development of

the architectural models: ◦ current development practices:

several weeks◦ exploiting AutoMative: hours

less MATLAB/Simulink design skills required

Page 25: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Conclusions We introduced a SPL approach in the SW

Architecture and Design phase of the software development process adopted in FCA SWF

We developed an SPL infrastructure aimed at semi-automatically producing IPC PAs tailored for vehicle models

We applied the approach and the infrastructure to develop IPC for the Fiat Tipo in a decoupled project showing its feasibility

Page 26: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Future Work Integrate the infrastructure with the

other tools adopted by the company devoted to the configuration and change management

Application of the SPL paradigm to the other software development phases

◦ Requirements◦ Testing

Page 27: Introducing Software Product Lines in Model-BasedDesign Processes: an Industrial Experience

WICSA 2016 – Venice, Italy – April 7th

Thanks for your attention

Questions?

Further Information:http://reverse.dieti.unina.it

@REvERSE_UNINA

[email protected]