model versioning and enterprise architect
TRANSCRIPT
![Page 1: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/1.jpg)
17.07.2017
LieberLieber SoftwareDr. Konrad Wieland
Model Versioningand Enterprise Architect
![Page 2: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/2.jpg)
LieberLieber Software2
Sparx Systems
Argentina
Sparx Systems
Spain
Sparx Systems
Central Europe
Sparx Systems
Japan
Sparx Systems
New ZealandSparx Systems
Sister Companies
Sparx Systems
HQ
Sparx Systems
HQ
Sparx Systems
India
![Page 3: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/3.jpg)
LieberLieber Software3
My Background
• OOM & Model Engineering, TU Vienna
• 2011 PhD: Model Versioning, TU Vienna
• Sparx Trainer & Consultant
• LieberLieber Product Manager
![Page 4: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/4.jpg)
LieberLieber Software4
![Page 5: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/5.jpg)
LieberLieber Software5
Who Needs Modeling?
Information Management
Companies collecting, controlling and managing information
• Insurance companies• Telecommunication
companies• Banks• etc.
Cyber Physical Systems
Manufacturers of embedded devices
• Automotive• Healthcare• Defense• Railway• Customer Electronics• etc.
Application Development
Companies developing application software
• Web Applications• Mobile Applications• Desktop Applications• etc.
Allianz
Commerzbank
AXA Swisscom
…VW
DaimlerBMW
Siemens
…Airbus SAP
Software AG
…
![Page 6: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/6.jpg)
LieberLieber Software6
Modeling Infrastructure is Challenge for EveryoneInformation
ManagementCyber Physical
SystemsApplication
Development
Modeling Infrastructure
Tools Supporting Modeling Methodologies
Consultancy for Methodologies, etc.
Hosting ofModeling Infrastructure
Configuration Management (Versioning)
Tools Integration
Variant Management
Web Access
Team Collaboration
Connected Models, Distributed Modeling
![Page 7: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/7.jpg)
LieberLieber Software7
Agenda
• Motivation
• Built-In Feature
• Third Party Market
• Conclusion
![Page 8: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/8.jpg)
LieberLieber Software8
Enterprise Architect Chellange
Team Collaboration
Configuration Management
![Page 9: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/9.jpg)
LieberLieber Software9
Collaboration in General
Face to Face Interactions
decision rooms, single display
groupware, shared table, wall displays,
roomware,…
Continuous Task
team rooms, large public display, shift
work groupware, project
management,…
Remote Interaction
video conferencing, instance messaging,
chats, virtual worlds, shared screens,
multi-user editors,…
Communication & Coordination
email, bulletin boards, blogs,
asynchronous conferencing, group
calenders, workflow, wikis,
version control,…
Time/Space
Groupware Matrix
R. Johansen. GroupWare: Computer Support for Business Teams. The Free Press, 1988.
Same Time
synchronousDifferent Time
asynchronous
Sam
e P
lace
colo
cate
d
Dif
fere
nt
Pla
ce
rem
ote
![Page 10: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/10.jpg)
LieberLieber Software10
Configuration Management, Change Management and Collaborative Modeling
Working collaboratively
on a model is hard
Versioning for EA
Models is hard and
error-prone
Tracking Changes in
Models is very complex
RESULT Modeling with EA is often used
without Configuration Management
![Page 11: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/11.jpg)
EA Built-in Features
![Page 12: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/12.jpg)
LieberLieber Software12
EA Built-in Features
• Manage multiple file copies
• Package Baselines
• XMI Export/Import with Merge Sets
• Reusable Asset Service
• VCS Integration
• (Time-Aware Modeling)
![Page 13: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/13.jpg)
LieberLieber Software14
Typical Versioning Concepts
Manage Multiple File Copies
Easy to use Works for one person well Good Performance
Change Management not possible Configuration Management not possible Teamwork not possible Comparison of EAP-Files not possible Transfer content only via XMI
![Page 14: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/14.jpg)
LieberLieber Software15
Typical Versioning Concepts
Package Baseline Easy to use Works for teams as package backup well Not bad for review of one changed diagram
Change Management only with high effort Configuration Management only with high effort Comparison between the baselines not possible Slow for big packages No overview of available baselines For review of complex changes not usable Selective restore (merge) not usable Many elements properties not visible Blows up the EAP-files 3-way Diff and Merge not supported Cross package dependencies causes problems
![Page 15: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/15.jpg)
LieberLieber Software16
Typical Versioning Concepts
XMI Export/Import
• Merge Sets
• Reusable Asset Service
• XMI in VCS (EA Integration)
![Page 16: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/16.jpg)
XMI Merge Using Baseline Merge Sets• Used when users are editing separate parts (as in separate elements, diagrams or sub-packages)
within the same containing package
Allows integrating work from multiple people DBMS and files-based Used when users are editing separate parts (as
in separate elements, diagrams or sub-packages) within the same containing package
Better than simple import Kind of 3-way merge
Only union (Vereinigungsmenge) Complex handling of multiple files No Conflict Resolution Not intended to change the same element Configuration Management only with high effort Similar problem than baseling because of similar
technique used
![Page 17: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/17.jpg)
LieberLieber Software18
Reusable Asset Service (RAS)
• XMI not in VCS, but in a shared repository, accessible via Cloud Service
For each Package, the RAS automatically identifies the:
• Version of the Package held in the registry
• Diagrams and elements (including child Package elements) contained by the Asset Package
• Dependencies on parent Packages of any external elements that the Asset Package references
• Dependencies on MDG Technologies
![Page 18: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/18.jpg)
LieberLieber Software19
RAS
![Page 19: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/19.jpg)
LieberLieber Software20
RAS
![Page 20: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/20.jpg)
LieberLieber Software21
RAS
![Page 21: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/21.jpg)
LieberLieber Software22
Verana’s private EAP-File
SVN Server
Typical Versioning Concepts
EA VCS Integration Out of the box available Team work possible Model under Configuration Control No conflicts (good & bad)
Working independently of each other not possible
Requires high discipline and effort Model structure according to versioning
paradigm Change Management only with high effort Bad performance for big models For review of complex changes not usable Selective restore (merge) not usable Many elements properties not visible Cross package dependencies causes problems Many CVS solutions not supported (e.g. Git)
VerenaBob
Bob’s private EAP-File
1
2
Package 1.xml XML Document
Package 2.xml XML Document
Sub-Package.xml XML Document
Bob’s private SVN checkout
Package 1.xml XML Document
Package 2.xml XML Document
Sub-Package.xml XML Document
Verena’s private SVN checkout
Package 1.xml XML Document
Package 2.xml XML Document
Sub-Package.xml XML Document
1
2
![Page 22: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/22.jpg)
LieberLieber Software23
Summary Built-In features
1. Multiple File Copies
2. Baselines
3. XMI Export/Import incl. Merge Files
4. SVN Integration (“Pessimistic Versioning”)
5. (Time-aware Modeling)
Independent of DBMS/file-based repository!
![Page 23: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/23.jpg)
LieberLieber Software24
VCS – Version Control Systems• Pessimistic (EA):
• Model is locked Sequential work
• Optimistic:• Parallel work, but conflicts possible
![Page 24: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/24.jpg)
LieberLieber Software25
Why not using traditional diff tools?
• Switch of notation – mental map? • Hard to understand changes• Impossible to understand the intention behind changes
![Page 25: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/25.jpg)
LieberLieber Software27
Why is Three-Way Diff and Merge so ImportantTwo-Way Diff compares two Models to each other
TempLevel Attribute is missing in Verena’s version Bob or Verena has changed?
Has Bob added or renamed? Or has Verena deleted or renamed?
Same attribute has different names EnergyHighLevel and EnergyLowLevel
Bob or Verena has changed? Has Bob renamed? Or has Verena renamed?
VerenaBob
compare
![Page 26: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/26.jpg)
LieberLieber Software28
Why is Three-Way Diff and Merge so Important
Version Predecessor
VerenaBob
compare compare
TempLevel Attribute is missing in Verena’s version Verena has deleted !
Verena and Bob they both have differently renamed the attribute EnergyLevel, Bob to EnergyHighLevel and Verena to EnergyLowLevel !
Three-Way Diff compares each Model to their both predecessor
![Page 27: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/27.jpg)
LieberLieber Software29
Why 3-way Diff is useful?
2-way diff: Common base version is not considered
Changes are hard to understand
Merge cannot cover all intentions
![Page 28: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/28.jpg)
LieberLieber Software30
3-Wege-Diff and Merge
Research Project 2011:
K. Wieland: "Conflict-tolerant Model Versioning"; PhD Thesis, Institute of Software Technology & Interactive Systems, TU Vienna 2011.
V1.1 V1.2
V1‘
Copy
V2.1 V2.2
DiffModel
V0
t
V2.1‘
Copy
V3.1 V3.2
DiffModel
![Page 29: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/29.jpg)
LieberLieber Software31
Why is Three-Way Diff and Merge so Important
Allows me to see during merging if it my changes or theirs
Enables branching of models
Same approach as for source code (since 60ies)
![Page 30: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/30.jpg)
LieberLieber Software32
LemonTree © 3rd Party EA Tool Standalone Application
Compares & Merges EA Models
EAP-files and MBSE (e. g. MS SQL) are supported
3-way diff and merge is supported
Integrates into VCS (e. g. SVN, Git, PTC, etc.)
Versioning of complete EAP-Files (similar to text files)
![Page 31: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/31.jpg)
LieberLieber Software33
Especially for Safety Projects
“In general, standards such as IEC 61508 demand the application of configuration management.
This refers to all artifacts, including UML models.
The solution from LieberLieber is our key to revealing the changes that have been made to a revision.”
STEFAN MÜLLERHIMA PAUL HILDEBRANDT GMBH
SAFETY-RELATED AUTOMATION SOLUTIONS
![Page 32: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/32.jpg)
New challenges can be tackled now
![Page 33: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/33.jpg)
LieberLieber Software36
Collaborative Modeling under Version ControlFr
ank
Ver
ena
VC
S ModelVersion V1
Time08:32
Check Out09:05
Check Out11:34
Check In12:56
Check In
VersionV2 =
V1+V1‘‘
VersionV3 =
V1+V1‘‘+V1‘
Merge Changes
+ Change V1‘
+ Change V1‘‘
VersionV1
VersionV1
![Page 34: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/34.jpg)
LieberLieber Software37
Review of Model ChangesR
evie
w T
eam
Mo
del
er
Time10.09.15
Released for review
17.07.13new version
released
ModelVersion
V0.4
Model
Version V0.4‘
Model
Version V0.4‘‘
Version V0.5
Version V0.6 =
0.4 + 0.5 + 0.4‘‘
Version V1.0
13.09.15Review with adaptations
13.09.15Adaptations
15.09.152nd Review with
adaptations
16.09.15Adaptations
accepted
Are the reviews considered?
Integrate review comments
![Page 35: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/35.jpg)
LieberLieber Software38
Model BranchesFe
atu
re T
eam
Bas
is T
eam
VC
S
MainVersion
A1
Time01.03.13
Branch created29.07.13merged
BranchVersion
B1
Model Version A2 =
A1+A1.4+B1.6
V B1.1‘
V
B1.1‘‘
V B1.3‘V
B1.4‘‘
V
B1.4‘
BranchV B1.2
BranchV B1.3
BranchV B1.4
BranchV B1.5
BranchV B1.6
MainVersion
A1.2
MainVersion
A1.4
V A1.2‘
V
A1.3‘
MainVersion
A1.3
V
A1.1‘
Merge only some features
![Page 36: Model Versioning and Enterprise Architect](https://reader031.vdocuments.site/reader031/viewer/2022020700/61f3a810f1d11c095a2f2cd7/html5/thumbnails/36.jpg)
LieberLieber Software39
Conclusion
• Team Collaboration vs. Configuration Management
• Change tracking is essential
• Many techniques, but how do I want to work?
• Features of VCS are necessary for today‘s challenges