Variant and Variability Management with · Efficient Variant Modelling • accumulation of...

25
www.pure-systems.com all you need for product lines © pure-systems GmbH 2008 Variant and Variability Management with Dr. Danilo Beuche Dr. Danilo Beuche Dr. Danilo Beuche Dr. Danilo Beuche danilo.beuche@pure danilo.beuche@pure danilo.beuche@pure danilo.beuche@pure- - -systems.com systems.com systems.com systems.com

Transcript of Variant and Variability Management with · Efficient Variant Modelling • accumulation of...

Page 1: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product lines© pure-systems GmbH 2008

Variant and Variability Management with

Dr. Danilo BeucheDr. Danilo BeucheDr. Danilo BeucheDr. Danilo [email protected]@[email protected]@pure----systems.comsystems.comsystems.comsystems.com

Page 2: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 2© pure-systems GmbH 2008

Who Needs Product Lines?Who Needs Product Lines?Who Needs Product Lines?Who Needs Product Lines?

Page 3: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 3© pure-systems GmbH 2008

About pureAbout pureAbout pureAbout pure----systemssystemssystemssystems

� Focus: Support for Development of Variant Rich SystemsFocus: Support for Development of Variant Rich SystemsFocus: Support for Development of Variant Rich SystemsFocus: Support for Development of Variant Rich Systems

� Business AreasBusiness AreasBusiness AreasBusiness Areas

− Development Tools

− Software Development

− Consulting & Professional Services

− Training

� CustomerCustomerCustomerCustomer

− Mainly embedded systems manufacturers

� Founded 2001, Location Magdeburg, GermanyFounded 2001, Location Magdeburg, GermanyFounded 2001, Location Magdeburg, GermanyFounded 2001, Location Magdeburg, Germany

Page 4: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 4© pure-systems GmbH 2008

The Version HellThe Version HellThe Version HellThe Version Hell

Product 1 Product 2 Product 3 Product 4

1.0 1.1 1.3 2.0

1.0 1.2 2.1 2.4

1.0 1.0 2.3 4.0

Component A

Component B

Component

Page 5: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 5© pure-systems GmbH 2008

Orthogonality of Variants and VersionsOrthogonality of Variants and VersionsOrthogonality of Variants and VersionsOrthogonality of Variants and Versions

Version / Time

Variants

v1.0 v1.2 v1.3 v1.4 v2.0 v2.2

Page 6: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 6© pure-systems GmbH 2008

ALM and Variant ManagementALM and Variant ManagementALM and Variant ManagementALM and Variant Management

Variant Management with pure::variantsVariant Management with pure::variantsVariant Management with pure::variantsVariant Management with pure::variants

RequirementRequirementRequirementRequirement

ManagementManagementManagementManagement

Caliber RM

RequisitePro

DOORS

Requirements

Design andDesign andDesign andDesign and

DevelopmentDevelopmentDevelopmentDevelopment

Together

SW Architect

TAU/Rhapsody

ConfigurationConfigurationConfigurationConfiguration

ManagementManagementManagementManagement

StarTeam

ClearCase

Synergy

Source

PortfolioPortfolioPortfolioPortfolio

ManagementManagementManagementManagement

Tempo

Portf. Manager

Focal Point

Portfolios

QualityQualityQualityQuality

ManagementManagementManagementManagement

Silk

ClearQuest

Tester/Change

Test Mgmt.

Application Lifecycle Management (ALM)Application Lifecycle Management (ALM)Application Lifecycle Management (ALM)Application Lifecycle Management (ALM)

BorlandBorlandBorlandBorland

IBMIBMIBMIBM

TelelogicTelelogicTelelogicTelelogic

MKSMKSMKSMKS

purepurepurepure----systemssystemssystemssystems

Page 7: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 7© pure-systems GmbH 2008

pure::variantspure::variantspure::variantspure::variants

Integration into Development ProcessesIntegration into Development ProcessesIntegration into Development ProcessesIntegration into Development Processes

• keep and use existing code base and tool environment

• version management support

• independent from technology, applicable to HW and SW based systems

Efficient Variant ModellingEfficient Variant ModellingEfficient Variant ModellingEfficient Variant Modelling

• accumulation of configuration knowledge

• validation of variant configurations

Automated and ResourceAutomated and ResourceAutomated and ResourceAutomated and Resource----Efficient Variant GenerationEfficient Variant GenerationEfficient Variant GenerationEfficient Variant Generation

• source code packaging (e.g. from version management repositories)

• generation of code, documents, bills of material

Page 8: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 8© pure-systems GmbH 2008

Production Plan

Feature ModelFeature ModelFeature ModelFeature Model Family ModelFamily ModelFamily ModelFamily Model

Variant ModelVariant ModelVariant ModelVariant Model Variant RealizationVariant RealizationVariant RealizationVariant Realization

Collection of Features and Relations Collection of Family Elements

Desired/Required Features

Problem SpaceProblem SpaceProblem SpaceProblem Space

Single ProblemSingle ProblemSingle ProblemSingle Problem

Solution SpaceSolution SpaceSolution SpaceSolution Space

Single SolutionSingle SolutionSingle SolutionSingle Solution

Development with Variant ManagementDevelopment with Variant ManagementDevelopment with Variant ManagementDevelopment with Variant Management

Variant

Page 9: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 9© pure-systems GmbH 2008

Example Weather Station: Product VariantsExample Weather Station: Product VariantsExample Weather Station: Product VariantsExample Weather Station: Product Variants

VariantVariantVariantVariant FeatureFeatureFeatureFeature

Thermometer: Display, Temperature

Indoor: Display, Temperature, Pressure

Outdoor: Display, Temperature, Pressure, Wind

Deluxe: + PC Data Recording

Internet Edition: + TCP/IP

PC Interfaces: + Serial Interface RS232

+ USB Interface

Page 10: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 10© pure-systems GmbH 2008

PCConnectionPCConnection

Conflicts: 'Trace'

Problem Space Problem Space Problem Space Problem Space –––– Feature ModelFeature ModelFeature ModelFeature Model

partial view

WeatherMon

DebuggingSupport

Output

Trace

Display

RS232Line

USBLine

Page 11: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 11© pure-systems GmbH 2008

Example Weather Station: HardwareExample Weather Station: HardwareExample Weather Station: HardwareExample Weather Station: Hardware

Wind

Temp

RS232

Pressure

USB

µController (AVR)

4kB RAM, 8kB Flash

UDP/IP or Plain Text over USB/RS232

Sensors

I2C

Display

Page 12: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 12© pure-systems GmbH 2008

Solution Space Solution Space Solution Space Solution Space –––– Family ModelFamily ModelFamily ModelFamily Model

partial view

hasFeature('Trace') and conflictsFeature('PCConnection')

hasFeature('Display')

hasFeature('RS232') or hasFeature('Trace')

hasFeature('USBLine')

hasFeature('Trace')

hasFeature('PCConnection')

WeatherStationSolutions

PCLine

Trace

Display

ps:class: RS232Line

ps:class: USBLine

Page 13: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 13© pure-systems GmbH 2008

Matrix View Matrix View Matrix View Matrix View –––– Element Selection StatesElement Selection StatesElement Selection StatesElement Selection States

� The Matrix view enables

quick overview for multiple

variants. Here the selection

is shown (default

visualization).

� Each column represents a

variant, rows are selectable

elements like features

� Other visualizations can

show variant specific defect

and test states.

Page 14: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 14© pure-systems GmbH 2008

Product IntegrationProduct IntegrationProduct IntegrationProduct Integration

Development ToolsDevelopment ToolsDevelopment ToolsDevelopment Tools

DOORS Simulink ClearCase Codegenerators

Generic Data

Variability Data Varia

nt D

ata

........

Page 15: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 15© pure-systems GmbH 2008

Extensions integrate pure::variants optimally into existing tool chains.

Synchronizer for DOORSDOORSDOORSDOORS

Synchronizer for CaliberRMCaliberRMCaliberRMCaliberRM

Connector for MATLAB / SimulinkMATLAB / SimulinkMATLAB / SimulinkMATLAB / Simulink

Connector for Source Code ManagementSource Code ManagementSource Code ManagementSource Code Management

Connector for Version Control SystemsVersion Control SystemsVersion Control SystemsVersion Control Systems

Connector for SAPSAPSAPSAP

Connector for ClearQuestClearQuestClearQuestClearQuest

Connector for ClearCaseClearCaseClearCaseClearCase

Connector for BugzillaBugzillaBugzillaBugzilla

Connector for Reporting with BIRTReporting with BIRTReporting with BIRTReporting with BIRT

CVS

ExtensionsExtensionsExtensionsExtensions

Page 16: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product lines© pure-systems GmbH 2008

Simulink Model with Variation PointsSimulink Model with Variation PointsSimulink Model with Variation PointsSimulink Model with Variation Points

Page 17: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product lines© pure-systems GmbH 2008

pure::variants based Simulink Configuratorpure::variants based Simulink Configuratorpure::variants based Simulink Configuratorpure::variants based Simulink Configurator

Page 18: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 18© pure-systems GmbH 2008

Matrix View Matrix View Matrix View Matrix View –––– Element Test StatesElement Test StatesElement Test StatesElement Test States

� The test state visualization

shows for all selected

features the success of the

related tests (indicated by

different icons).

� It is visible here that not all

variants have the same set

of tests.

Page 19: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 19© pure-systems GmbH 2008

Matrix View Matrix View Matrix View Matrix View –––– Element Defect StatesElement Defect StatesElement Defect StatesElement Defect States

� The defect state

visualization shows for all

selected features the

existence of the related

open defects (indicated by

different icons).

� It is visible here that not all

variants have the same set

of defects.

Page 20: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 20© pure-systems GmbH 2008

Product VariantsProduct VariantsProduct VariantsProduct Variants

pure::variants Professional

− models are stored locally in file

system as XML

− collaboration using standard

software configuration management

tools such as CVS, Subversion,

Perforce, ...

− versioning and branching handled by

software configuration management

tool

pure::variants Enterprise

− models are stored in a centralized

database

− collaboration in real-time, changes

will be automatically visible to any

connected user

− integrated reporting and history

− versioning and branching handled by

pure::variants server

− all functionalities of p::v Professional

Page 21: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 21© pure-systems GmbH 2008

p::v Serverp::v Serverp::v Serverp::v Server

pure::variants pure::variants pure::variants pure::variants ---- Integration as Key ConceptIntegration as Key ConceptIntegration as Key ConceptIntegration as Key Concept

p::v Runtime SystemC++ API- DLL/COM/OLE

p::v Eclipse Clientp::v Eclipse Clientp::v Eclipse Clientp::v Eclipse Client

p::v Java Core

p::v Eclipse Plugins

SOAP Interface

Java API- Java Interfaces

Eclipse API- Eclipse Extension Points

Page 22: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 22© pure-systems GmbH 2008

Example DanfossExample DanfossExample DanfossExample Danfoss

ProblemProblemProblemProblem

− For 4 market segments control software is provided by different, worldwide

distributed teams (about 70 persons). Software is based on very similar

hardware.

− Reuse mostly „ad-hoc“.

− Cost and development effort were high.

TaskTaskTaskTask

− Migration to controlled and systematic reuse based on common software

plattform.

Page 23: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 23© pure-systems GmbH 2008

Example DanfossExample DanfossExample DanfossExample Danfoss

Our RoleOur RoleOur RoleOur Role

− Participation during process definition

− Coaching and evaluation of newly setup platform team

− Supporting the migration to pure::variants

ResultsResultsResultsResults

− 1st stage of migration finished successfully after 6 month: all projects

develop based on common plattform

− 2nd stage of migration (introduction of pure::variants) almost completed

− Double number of products with about the same development capacity

Page 24: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 24© pure-systems GmbH 2008

Example Automotive SupplierExample Automotive SupplierExample Automotive SupplierExample Automotive Supplier

ProblemProblemProblemProblem

− Configuration of control software with about 2000 features could not be

handled efficent manually.

TaskTaskTaskTask

− Modelling of complete configuration knowledge in pure::variants and

generation of configuration files.

− Distributed real-time remote access to models and configurations.

Page 25: Variant and Variability Management with · Efficient Variant Modelling • accumulation of configuration knowledge • validation of variant configurations Automated and ResourceAutomated

www.pure-systems.comall you need for product linesSlide 25© pure-systems GmbH 2008

Example Automotive SupplierExample Automotive SupplierExample Automotive SupplierExample Automotive Supplier

Our RoleOur RoleOur RoleOur Role

− Product supplier

− Adapation of pure::variants to customer demands: integration of customer

specific rule language.

ResultsResultsResultsResults

− Configurations are created in minutes instead of days.