model versioning for product line engineering€¦ · model versioning for product line engineering...
TRANSCRIPT
MODEL VERSIONING FOR
PRODUCT LINE ENGINEERING
Supported by Enterprise Architect and LemonTree
10.11.2017 | TdSE‘17, Paderborn |
Tim Michaelis (PrehCarConnect), Roman Bretz(LieberLieber)
© Preh Car Connect GmbH, LieberLieber Software GmbH, 20172
AGENDA
COMPANY
PRESENTATION MOTIVATION
CHALLENGES ON
MODEL LEVEL
DISTRIBUTED
MODELING
SUPPORT
CONCLUSION
COMPANY
PRESENTATION
© Preh Car Connect GmbH, LieberLieber Software GmbH, 20174
PREH CAR CONNECT GMBH
1997 1998 2002 2007 2010 2012 2014 2016
Automotive business is established
„Werra 1“, first car radio from TechniSat, hits the market
Started delivery of the Ultra Low Radio into Volkswagen serial production
Started mass production of RNS 315 - navigation systems for Volkswagen Group
Volkswagen Group Award for TechniSatAutomotive
Started mass production of Volkswagen MIB2
Strategic realignment with Joyson and Preh
„NAVI-DRESDEN 1“, the first in-car-navigation system, hits the market
© Preh Car Connect GmbH, LieberLieber Software GmbH, 20175
PREH CAR CONNECT GMBH
Navigation & Driver Assistance
Telematics & Data ServicesConnectivity
Tuner & Multimedia
4 core competencies in Research & Development
© Preh Car Connect GmbH, LieberLieber Software GmbH, 20176
LIEBERLIEBER SOFTWARE GMBH
UNSERE KOMPETENZEN
Model-based Systems Engineering
Infrastruktur für die Modellierung
Integration von Daten mit Enterprise Architect
MOTIVATION
© Preh Car Connect GmbH, LieberLieber Software GmbH, 20178
DRIVERS AND CHALLENGES
CostPressure
Innovation Pressure
Growing Complexity
Safety Standards
© Preh Car Connect GmbH, LieberLieber Software GmbH, 20179
STRATEGIES TO ADDRESS THE CHALLENGES
Optimize Development
Model Based System Engineering
Product Line = Platform Approach
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201710
Derivate / Customer Project
Platform
PRODUCT LINE ENGINEERING WORKFLOW
Analysis Input Domain Analysis Domain DesignDomain
Implementation
Application Analysis
Application Design
Application Implementation
Product
Customer Requirements
Platform Assets
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201711
Derivate / Customer Project
Platform
PLATFORM ASSET LIFECYCLE
Customer Project Branch B
Customer Project Branch A
Platform Release Branch
Platform Trunk
Platform Develop Branch
V1.0 V1.1 V2.0
Source Code Management fits perfectly
Versions management
Branching andmerging
Tagging versionsDistributed andconcurrent work
on same asset
Conflictresolution
Version Tag
Possible Conflict
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201712
Domain AnalysisRequirements Design
ModelImplementation
Source Code
Platform
Derivate / Customer Project
SOURCE CODE MANAGEMENT FITS PERFECTLY
Why not to reuse same approach on model level?
Product
Platform Assets
Platform Assets
Product
CHALLENGES ON
MODEL LEVEL
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201714
LEMON TREE BASED MODEL VERSIONING
Compares and Merges Enterprise Architect Models
Three-way diff and merge
Native VCS integrationSVN, Git, PTC, etc.
Versioning complete EAP-Files as simple as text files
EAP-files and MBSE supportedMS SQL, Oracle, etc.
https://en.wikipedia.org/wiki/Merge_(version_control)
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201715
WHY IS THREE-WAY DIFF AND MERGE SO IMPORTANT?
Branching for models
Same approach as used for source code
Reviewing of modelchanges
DISTRIBUTED
MODELING SUPPORT
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201717
WHAT IS MISSING?
Resulting Models
Model Types
Original Model
Big Fat Model
Platform
Platform Building Block X
Platform Building Block Y
…
Derivate
Reference Model
Customer Integration
Model A
Customer Integration
Model B
Different lifecycles of
platformand
derivates
Too large for Git
Model splitting is required
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201718
WHAT IS MISSING?
Handling of large models
Handling of connected models
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201719
GOAL OF PREH AND LIEBERLIEBER COOPERATION
Same way of flexible usage of the building-blocks within customer projects
on both source code and model level
Each version of a building-block on source code and
model level is labeled with
unique identifiers
Customer projects can import a
dedicated version of a building-block and switch to any other version later
Building-block can be modified within a customer project
and on the platform level independently
Platform decides when and how to integrate building-
blocks modified within the
customer projects
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201720
PRODUCT LINE SUPPORT INTEGRATED IN EA
Building-Block Browser
Dependency Analyzer
Model Impact Analyzer
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201721
PlatformDerivate / Customer Project
TASK OF LIEBERLIEBER SOLUTION
MySql Server
Customer A Model
Customer B Model
...
Git Server
Building-Block X Model
Building-Block Y Model
...
Platform ArchitectCustomer Project
Architect
CONCLUSION
© Preh Car Connect GmbH, LieberLieber Software GmbH, 201723
CONCLUSION
Done
• Model Versioning
• Packages exporting / importing
• Performance so far sufficient
Next steps• Splitting model, dependency handling
• Git integration for splitted models
Future work
• Concept for variant management
• Different architecture abstraction level (system and software)
• Integration of requirements management