© PROSTEP AG ● 2012
SECESA 2012
18th October 2012
Lisbon, Portugal
Achim Seibertz
Dr. Markus Brandstätter
Dr. Karsten Theis
Compositional Variability Management -
© PROSTEP AG ● 2012
Product Variants Explosion
Automotive Example (Audi A6)
76
10880
432
45
54
152
4704
1764
18816
38
3696
132
13
10
20
608
76
608
Exterior mirror mount
Seat
Door handle cover
Fuel tank
Storage box front left
Glove box
Door panel front right
Door panel rear
Door panel front left
A6 old
A6 new
http://www.alders-vmc.de/alders/alders_images/downloads/6.artikel_automobil_produktion-januar_05-p_38-42.pdf
© PROSTEP AG ● 2012
The Variant Dilemma
31.10.2012 3
Objects
Level
Situation
Product variants are not only represented in their systems & components
but also in the corresponding engineering & documentation artifacts
Product
Customer requests
individual product
and new technologies
Product options,
option sets
and their relations
Which options can be combined ?
Web-Configurator & ERP
Engineering & Documentation Artifacts
Domain specific
approaches for
managing variability
Engineering documentation
artifacts and their relations
Which artifacts belong to a certain
product configuration?
Requirements
Models
SW-Impl.
Tests
System & Component
Systematic reuse to
reduce the number of
components
PDM/ALM & BOM-System
Variant components
and their relations
Which components have to be in the
same configuration and which not?
© PROSTEP AG ● 2012
Versions, Variants & Relations
© PROSTEP AG ● 2012
Versions, Variants & Relations
© PROSTEP AG ● 2012
Versions, Variants & Relations
© PROSTEP AG ● 2012
Versions, Variants & Relations
Variant Management Challenges
All information can be variant
Different engineering tools use
different variant management
concepts and data models
The limited cross-domain variant
management leads to high
maintenance & configuration
effort
Traceability Challenges
Traceability of versions and
variants cross domains
Information encapsulation by
file based data storage
Non-integrated tool chains
(horizontal & vertical)
… & horizontal information flow
Vertical…
7 31.10.2012
© PROSTEP AG ● 2012
Domain specific approaches to manage
variability
31.10.2012 8
Variant management via #ifdef,
C++-Templates, Make, CVS
Variant management via attributes and filter,
e.g. in DOORS
Variant management via code rules,
e.g. in Teamcenter
Variant management via spreadsheets,
e.g. in Excel
Variant management by specific
modeling means, e.g. “enabled
sub-systems” in Simulink
Hard to read, comprehend and maintain
Few/no data transfer between the systems / tools
© PROSTEP AG ● 2012
Variant management using Feature-Models
Car
needs
excludes
Chassis
Transmission
Engine
Cruise Control
Off-Road
Sport
Automatic
Manual
Standard
ACC
V1
V2
Electric
Gasoline
Diesel
OR
Alternative
(XOR)
mandatory
optional
# 112 variants w/o constraints
Semantics given by propositional logic
Supports use of formal solvers (SAT Solvers)
# 15 variants left with constraints
Arbitrary constraints possible
© PROSTEP AG ● 2012
Compositional Variant Management
10/31/2012 10
Requirements
Raumkonzept Raumangebot vorne inkl. Ein- / Ausstieg Raumangebot hinten inkl. Ein- / Ausstieg Ablagekonzept Kofferraum / Zuladung
VDA Volumen Gesamtfahrzeug min/max in l, Länge, Breite und Tiefe des Kofferraums in mm
Zugänglichkeit Kofferraum Gesamtfahrzeug Höhe der Ladekante in mm, Höhe der Ladeöffnung und Breite der Ladeöffnung in mm
Heckscheibenneigung Gesamtfahrzeug in Grad
Anzahl und Lage Golfbags Gesamtfahrzeug J,.D. Power Maßgrößen
MB-Warenkorb Gesamtfahrzeug besondere einzuhaltende Vorgaben, z.B. Anzahl der Sprudelkisten/Samsonitekoffer
Functional Spec. System Design Software-Arch. Implementation Unit-Test System-Test Integration-Test Sign-Off Test
Variant information
and structures along
the life cycle
Transformation into a
generic variance
representation
Composition of the
different variance
models
Unified represention of
different variance
information
Product-Variants© PROSTEP AG ● 2012
Application
(Application of the specified variability information
for Product & Technical Configuration)
Domain
(Variability Specification of Product Features &
associated Technical Architecture)
Compositional Variant Management
Methodology
Vehicle Feature 4 Chassis Feature 3 Feature 2 Powertrain Feature 1 Vehicle Chassis Feature 3 Powertrain Feature 1Product Feature Model
(150% Structure)
Product Configuration
(100% Structure)
Technical Architecture
(150% Structure)
Technical Configuration
(100% Structure)
Mapping
Customer Req. Spec.
Requirements Structure Vehicle
System Req. Spec.
CRS Req. 1 CRS Req. 2 …. SRS Req. 1 SRS Req. 2 …. …..
Customer Req. Spec.
Requirements Structure Vehicle
Function B CRS Req. 1 CRS Req. 2
SRS Req. 2
© PROSTEP AG ● 2012
v.control
– Unique Technology Demonstrator
Example: Simultaneous Configuration
© PROSTEP AG ● 2012
Selected References
31.10.2012 13
„Development of a seamless variant management concept for
model based function development“
Our Job
Specification of a
Feature-Model
based concept
Requirements Engineering & Management
Architectur-Design
Modeling & Code-Generation
Validation & Verification
Calibration
Bridge between engineering department and system
vendor
Proof of Concept with v.control
Systems
Vector-Informatik – eASEE
The Mathworks - MATLAB/Simulink
dSPACE – TargetLink/RCP/CalDesk
Time Frame:
18 Month
„Development and implementation of a variant based
requirements management for the engine development
department“
Our Job
Definition of the Master-Specification Concept
Coordination of the involved departments
Creation of training material & demos
Implementation in the existing IT-System
Roll-Out support
Systems
IBM Rational DOORS
© PROSTEP AG ● 2012
Questions & Discussion
Achim Seibertz
Senior Manager
Advanced Methods & Technology
[email protected]
Dr. Markus Brandstätter
Senior Consultant
Advanced Methods & Technology
[email protected]
Dr. Karsten Theis
Head of Business Unit Systems Engineering
[email protected]
© PROSTEP AG ● 2012
Backup
© PROSTEP AG ● 2012
v.control – Key Features
Graphical feature model based
variability specification
Logic based constraint formulation
Consistency checks based on
formal analysis proving
Rule based configuration with
impact propagation
Compositional approach to specify
dependencies with work products
(e.g. BOM entries)
Simultaneous Configuration
Optimization
© PROSTEP AG ● 2012
Domain specific approaches to manage
variability – Examples 1/2
Variant management in PDM systems
Set of rules grow rapidly by adding new configuration conditions and variants due to
clone and own approach of the engineers
Example:
(( IF2 + IC4 + IV0 + IA0 + ID2 + IQ1 ))/(( IF2 + IC4 + IV0 + IA0 + ID4 + IQ1 ))/(( IF2 + IC4 + IV0 +
IA0 + ID5 + IQ1 ))
identical with
( ID5/ID2/ID4 ) + IF2 + IQ1 + IA0 + IV0 + IC4
Variability is often only represented in leaf nodes of the product structure
31.10.2012 17
Specification of
Variant Positions
Specification of the
corresponding Conditions
© PROSTEP AG ● 2012
Variant management in function nets
150% Function net
Domain specific approaches to manage
variability – Examples II
31.10.2012 18 pinKm pin Date pinDoService CbsWd MotorOil Adaptive pinSensorsMo Cbs ComputeServiceDate Cbs Display CbsWdSparkPlugs pin SensorsSp pinDoService CbsReset pin Sensors Mo pin Sensors Sp p o u tDi s p la y B a s ic pinKm pinDate pinKm pinDate CbsWd ParticleFilter Adaptive pinDoService pinKm pinDate pinSensorsPf pin Sensors Pf pin D o S e rv ic e pout Availability poutAva il a b il ity poutAva il a b il ity CbsWd SparkPlugs Linear CbsWd SparkPlugs Adaptive p o u tS e rv P f p o u tS e rv S p p o u tS e rv M o pinAvailabilityPf pinAvailabilitySp pinAvailabilityMo pout ServiceDate pin ServiceDate pout Reset pinReset CarTime Car Mileage Sensors MotorOil Sensors SparkPlugs Sensors Particle Filter Car Service Car Display Cbs pinKm pin Date pinDoService CbsWd MotorOil Adaptive pinSensorsMo Cbs ComputeServiceDate Cbs Display pin SensorsSp pinDoService CbsReset pin Sensors Mo pin Sensors Sp p o u tDi s p la y B a s ic pinKm pinDate pinKm pinDate p in DoS e rv ic e pout Availability poutAva il a b il ity CbsWd SparkPlugs Adaptive p o u tS e rv S p p o u tS e rv M o pinAvailabilitySp pinAvailabilityMo pout ServiceDate pin ServiceDate pout Reset pinReset CarTime Car Mileage Sensors MotorOil Sensors SparkPlugs Car Service Car Display CbsConfiguration
100% Function net
© PROSTEP AG ● 2012
Common Variability Language (CVL)
Was ist die CVL?
Domänenübergreifende Sprache zur
Spezifikation
und
Berechnung
von
Varianten in Produktmodellen
Basiert
auf dem
OMG Metamodell
und ist somit z.B. in UML und SysML
gleichermaßen einsetzbar
Ist ein
Subset
der „Object Constraint Language“ (
OCL
)
Beinhaltet:
Definition
der wichtigsten
Begriffe
Beschreibung aller
gängigen Beschreibungsmethoden für Varianten
Status der CVL?
Request for Proposal
(RFP)
31.10.2012 19
© PROSTEP AG ● 2012
Common Variability Language (CVL)
Scope?
Domain-independent language for the
specification
and
resolving
variability in product line models
Based
on
OMG Metamodell
and ready for use e.g. in UML und SysML
Subset
of „Object Constraint Language“ (
OCL
)
Including:
Definition
of
key
terms
and
concepts
Status?
Request for Proposal
(RFP)
31.10.2012 20
© PROSTEP AG ● 2012
Common Variability Language (CVL)
Overview – interaction between CVL and MOF-based models
31.10.2012 21