model versioning for product line engineering€¦ · model versioning for product line engineering...

24
MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn | Tim Michaelis (PrehCarConnect), Roman Bretz(LieberLieber)

Upload: others

Post on 06-Oct-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

MODEL VERSIONING FOR

PRODUCT LINE ENGINEERING

Supported by Enterprise Architect and LemonTree

10.11.2017 | TdSE‘17, Paderborn |

Tim Michaelis (PrehCarConnect), Roman Bretz(LieberLieber)

Page 2: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© Preh Car Connect GmbH, LieberLieber Software GmbH, 20172

AGENDA

COMPANY

PRESENTATION MOTIVATION

CHALLENGES ON

MODEL LEVEL

DISTRIBUTED

MODELING

SUPPORT

CONCLUSION

Page 3: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

COMPANY

PRESENTATION

Page 4: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 5: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 6: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 7: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

MOTIVATION

Page 8: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© Preh Car Connect GmbH, LieberLieber Software GmbH, 20178

DRIVERS AND CHALLENGES

CostPressure

Innovation Pressure

Growing Complexity

Safety Standards

Page 9: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© Preh Car Connect GmbH, LieberLieber Software GmbH, 20179

STRATEGIES TO ADDRESS THE CHALLENGES

Optimize Development

Model Based System Engineering

Product Line = Platform Approach

Page 10: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 11: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 12: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 13: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

CHALLENGES ON

MODEL LEVEL

Page 14: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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)

Page 15: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 16: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

DISTRIBUTED

MODELING SUPPORT

Page 17: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 18: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© Preh Car Connect GmbH, LieberLieber Software GmbH, 201718

WHAT IS MISSING?

Handling of large models

Handling of connected models

Page 19: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 20: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© Preh Car Connect GmbH, LieberLieber Software GmbH, 201720

PRODUCT LINE SUPPORT INTEGRATED IN EA

Building-Block Browser

Dependency Analyzer

Model Impact Analyzer

Page 21: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 22: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

CONCLUSION

Page 23: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn

© 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

Page 24: MODEL VERSIONING FOR PRODUCT LINE ENGINEERING€¦ · MODEL VERSIONING FOR PRODUCT LINE ENGINEERING Supported by Enterprise Architect and LemonTree 10.11.2017 | TdSE‘17, Paderborn