Download presentation
Presentation is loading. Please wait.
Published byArchibald Holmes Modified over 9 years ago
1
www.sparxsystems.com Collaborative Modeling Best Practices for Distributed Teams Ben Constable Chief Operations Officer Sparx Systems CIM Users Group Meeting, Milan 2010
2
www.sparxsystems.com Overview Collaborative Modeling Concepts Team Deployment Version Control Modeling workflows for Distributed Teams Managing cross-package dependencies Merging Changes from incomplete models Applying Version Control Q & A
3
www.sparxsystems.com Team based modeling – the challenges Widely distributed teams Shared development of standards Big models and wide scope Change control, merging work, revisions etc
4
www.sparxsystems.com Sample Real-World Global Model Deployment
5
www.sparxsystems.com Multi-site Models – How? Ideal Scenario: Single, Shared (Master) Repository Site 2 Site 3 Site 1 Site n Assumes good connectivity between each site
6
www.sparxsystems.com Multi-site Models – How? Alternative Scenario: Local Replicas Site 2 Site 3 Site 1 Site n Allows broad replication even across slow links
7
www.sparxsystems.com Version Control: What the user sees Packages Checked-in (Locked) Packages Checked-out (Editable)
8
www.sparxsystems.com Version Control: Behind the scenes interfaces
9
Version Control: Multiple Users, Local Models
10
www.sparxsystems.com Versions in Enterprise Architect models Package-Based Versions: Packages serialized as XMI (XML Metadata Interchange) file 1 Package Version = 1 XMI file Enterprise Architect allows version comparisons: Compare utility operates on Baseline vs Current State Current State: The ‘live’ Package in the model repository Baseline (snapshot): XMI-based version of the same package Baseline may take one of these physical forms: ‘Model Baseline’ (Snapshot stored in the model) XMI exported file (Snapshot exists on disk) Version controlled Package (Snapshot in VC Repository)
11
www.sparxsystems.com Overview Collaborative Modeling Concepts Team Deployment Version Control Modeling workflows for Distributed Teams Managing cross-package dependencies Merging Changes from incomplete models Applying Version Control Q & A
12
Managing Cross-Package Dependencies Examples of Cross-Package Dependencies: UML Connector between Elements in different Packages (eg Inheritance) Classifier referenced from an external package (eg. Attribute type) Move Elements between packages Model contains all related packages. Avoids info loss during XMI export/import
13
www.sparxsystems.com Model Merge When it’s needed: Concurrent work on a single package needs synchronization Offline work needs to be ‘uploaded’ Selective roll-back of changes Selective inclusion of changes (‘Phase based’ development) Occurs at the package level Between versions of a package 1-way merge of Model Baseline to live Package Baseline may exist in another model, file (eg. version control) Requires same starting Package Think version, not ad-hoc model merge
14
www.sparxsystems.com Managing Cross-Package Dependencies Collaborative Modeling Project: ADDRESS See: http://www.addressfp7.org/http://www.addressfp7.org/ From the ADDRESS website: ADDRESS is a large-scale Integrated Project co-founded by the European Commission under the 7th Framework Programme, in the Energy area for the "Development of Interactive Distribution Energy Networks". ADDRESS stands for: Active Distribution network with full integration of Demand and distributed energy RESourceS.
15
www.sparxsystems.com Managing Cross-Package Dependencies Under the current ADDRESS modeling approach: Minimal dependencies between Working Packages (WP*) Local instances used when defining Sequence models Some cross-Package dependencies remain: Classifier References (From Lifelines to Actor classifier in common Role model) ‘Use’ connector from Actor in Role model to Use Case element in WP* Benefits from a Model Manager (‘Gate Keeper’) Changes Made in WP* submitted to Model Manager Use Baseline Merge to update ‘Master’ Model
16
www.sparxsystems.com Managing Cross-Package Dependencies Consider some possible synchronization scenarios: Merging changes made in a complete model (only one external editor supplies) Merging changes made in an incomplete model (out of date with respect to ‘Master’) How Version Control could streamline the above processes in larger scale Disclaimer: The following suggested workflows may be applicable to the ADDRESS project and other distributed modeling projects within CIMug in future. However, this information does not represent the official position of the ADDRESS project or its methodology.
17
www.sparxsystems.com Merging Changes from Complete Models Example Workflow: 1.‘Editor1’ is assigned to Work Package 1 (WP1) 2.Editor1 adds a new Use Case, Diagram and ‘Use’ relationship 3.No other updates occur to WP1 by other editors 4.Changes to WP1 submitted to Model Manager via Baseline 5.Model Manager reviews and merges into Model Master Demonstration: Baseline Merge Complete Changes
18
www.sparxsystems.com Merging Changes from incomplete models Example Scenario 1.Editor1 makes further updates 2.Meanwhile, Editor2 submits other changes to WP1 for merge 3.Editor1 now submits changes to WP1 4.Model Manager must preserve Editor2’s changes while incorporating Editor1’s new updates (resolve conflicts) Demonstration: Selectively merge changes from Editor1’s Baseline
19
www.sparxsystems.com Applying Version Control Benefits Allows all editors to work with complete models Distribution of model information automated Conflicts avoided by version control locks Enables check-out of all cross-dependant packages Demonstration: Version Controlled Packages
20
www.sparxsystems.com Best Practices Summary Edit complete models, where possible Use Baseline Merge to selectively include changes, otherwise Assign ‘Model Manager’ to coordinate efforts Apply Version Control for wide distribution and ‘auto-update’ Editors use ‘Get All Latest’ to retrieve complete, up-to-date model Check out all cross-dependent packages, commit atomically More Info: http://www.sparxsystems.com/WhitePapers/Version_Control.pdf
21
www.sparxsystems.com Overview Collaborative Modeling Concepts Team Deployment Version Control Modeling workflows for Distributed Teams Managing cross-package dependencies Merging Changes from incomplete models Applying Version Control Q & A
22
thank you for your attention!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.