• No results found

Product Line Development - Seite 8/42 Strategy

N/A
N/A
Protected

Academic year: 2021

Share "Product Line Development - Seite 8/42 Strategy"

Copied!
42
0
0

Loading.... (view fulltext now)

Full text

(1)

An infrastructure on top of

configuration management

Michalis Anastasopoulos

(2)

Outline

•  Foundations

•  Problem Statement

•  Contribution

(3)

Foundations

Product Line Engineering (PLE) is an approach that comes with

true order-of-magnitude improvements

-

cost

-

schedule

-

quality

(4)

Focus of this work

To control

– over time –

(5)

When is this type of control necessary?

Typically in bigger product line organizations

in which reusable and specialized artifacts

evolve in parallel

(6)

Seite 6/42

IWPSE-EVOL’09

Copyright © Fraunhofer IESE 2009

High-level Product Line Development Process

Development with reuse

(7)

Main Evolution Control Scenarios

Controlling changes made on reusable assets

(called core assets)

Controlling changes made on product-specific assets

(called instances) derived from core assets

Controlling changes on product-specific assets that have been

(8)

What does evolution control actually mean? (1/2)

(9)

What does evolution control actually mean? (1/2)

Control loop in SPL evolution

Change Request

(10)

Configuration Management (1/2)

Configuration Management (CM) is a mature and established

discipline for managing the evolution of (single) systems

Basic Functions of Configuration Management

-  Identification

-  Control

-  Status Accounting

(11)

Configuration Management (2/2)

In practice there are two main strategies addressing

the PLE evolution control scenarios

-

Branching

(12)

Main line of development

Branching Example

Special line of development (e.g. Product A) Special line of development (e.g. Product B)

Branch off Branch off

Integrate back to mainline

Propagate Propagate to

(13)

Build Management Example: Linux Kernel

Build selected

system

(14)

Outline

•  Foundations

•  Problem Statement

•  Contribution

(15)

Problem statement

Configuration management is an established technology

yet it does not directly address the PLE evolution scenarios

The user has to combine

many low-level operations

for

performing each of the evolution scenarios

This can become a problem as

(16)
(17)
(18)

Seite 18/42

Illustrative Example: Sample Instantiations (black box)

Product 1

(19)

Illustrative Example: Traceability given through CM

Product 1 branch of S

Product 1 branch of A

(20)

Illustrative Example: Complexity of CM

1.  Open the version graph of S

2.  Identify the product branches (there may be many other temporary

branches next to the product branches)

3.  For each product branch look for new S versions since the last

synchronization between family and Application Engineering

4.  For each new version of S query the configuration management system

for the changes made in that version

5.  Filter out product-specific changes and identify changes that may affect

S

(21)

Outline

•  Foundations

•  Problem Statement

•  Contribution

(22)

Contribution

The 5 steps discussed above could be subsumed under a single

logical command

-

findInstanceChanges(S)

This logical command would encapsulate and automate the

underlying Configuration Management operations

The contribution lies in the

definition

and

realization

of logical

commands like the above that

(23)
(24)
(25)
(26)

Sample

(27)

Outline

•  Foundations

•  Problem Statement

•  Contribution

(28)

Current Validations

Controlled Experiment

(29)

Controlled Experiment

•  H1: The proposed method significantly reduces

the effort in terms of time necessary for performing evolution control operations

-  Framework Engineering

-  Application Engineering

•  H2: The proposed method significantly

increases the efficiency for controlling the evolution of a product line

-  repository complexity increase rate

(30)

Seite 30/42

IWPSE-EVOL’09 Amsterdam, 24.08.2009

Copyright © Fraunhofer IESE 2009

Setup

Variable Type

The approach in use Independent Students experience Independent Necessary time Dependent Complexity increase Dependent Correctness Dependent Family Engineering Application Engineering CL 2, 7, 9, 10 1, 6, 8, 13 SVN 3, 5, 11 4, 12, 14

Family Engineer Application Engineering Task 1 Create core assets Create instances

Task 2 Change core assets Change instances

Task 3 Find instances of core assets

Find the origins of instances (i.e. core assets they have been derived

Variables

Groups

(31)

Results

H1

28%

improvement

in average

(32)

Results

H2

H2

does

not

validate

(only H2.2

validates)

(33)

Analysis H2

H2.1 (complexity reduction) did not validate

-

false usage led to many unnecessary versions

-

however the CL gives by default more freedom and the

probability of creating many unnecessary version is high

H2.2 (correctness) did validate

-

CL users solved all tasks correctly

(34)

Statistical Analysis of Experiment Results

No statistical significance could be achieved

-  Not enough data points were available

Statistical Tests performed thus far

-  t-test not applicable (chi-test negative, no normal distributions)

-  wilcoxon-test applicable but showed no significance

-  (pending) two-way analysis of variance suffering from limited

(35)

Simulation Study

Goal

-  to overcome the significance problems

Approach

-  Gain more data points through simulation

(36)
(37)

Simulation Results

Simulation increased the observations to 289 from 32

19% improvement could be shown

Statistical significance could be shown

(38)

Further results of simulation: Service time analysis

8%

(39)

Conclusions

•  Controlling the evolution of Product Lines is difficult in current practice

-  CM used by default

-  yes traditional CM does not explicitly address the scenarios in PLE

•  Solution approach is to encapsulate CM

-  explicitly address PLE scenarios

-  hide away the complexity

-  automate

•  Initial Validations were positive

(40)

Feedback Questions

•  Have you seen this problem in practice?

•  Do you see something missing from this

research?

•  Do you see formalization as a necessary

ingredient?

(41)

Debate Questions

•  Can processes solve evolution problems?

-  e.g. formal change processes

•  Which field of Software Evolution research is

missing currently sound empirical studies the most?

•  What are proper ways of obtaining empirical

(42)

Thank you for your attention!

Contact Information

Michail Anastasopoulos: [email protected]

+49 (631) 6800-2264

Discussion,

Questions,

References

Related documents

Hipotesis penelitian yang menyatakan bahwa latihan rentang gerak sendi bawah secara aktif berpengaruh terhadap keluhan polineuropati perifer penderita DM tipe 2 yang

Introduction to Sociology The study materials listed below are recommended by Excelsior College as the most appropriate resources to help you study for the examination.. For

ptors by tbose familial' with 1JFO reports and explaDatlons. AnalySis of l1ebt inteasity of objects made trOll duplicate rather thaD .orll1aa1 film. IlUch less

Fines and imprisonment: If a party knowingly engages in illegal trafficking, while knowing that the fish or wildlife or plants were taken, possessed, transported or sold in

Immediately after baking, the speci fic volume of bread loaves containing waxy wheat flour was significantly higher (p < 0.05) than the Karl 92 control, and was highest for bread

Specifically, the thesis considers how the use of multiple creative learning methods may enhance undergraduate learning and the role that creative visualisation and guided imagery

“Our business experiences constant change – this will help me give better change management and planning

The objective of this study was to evaluate the test-retest reliability of a clinical procedure measuring trajectories with a haptic handheld stylus in a virtual environment and