variant and variability management with · efficient variant modelling • accumulation of...
TRANSCRIPT
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
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?
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
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
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
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
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
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
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
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
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
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
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.
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
........
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
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
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
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.
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.
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
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
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.
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
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.
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.