1 / 22

Collaborative Modeling Best Practices for Distributed Teams

Collaborative Modeling Best Practices for Distributed Teams. Ben Constable Chief Operations Officer Sparx Systems. CIM Users Group Meeting, Milan 2010. Overview. Collaborative Modeling Concepts Team Deployment Version Control Modeling workflows for Distributed Teams

gili
Download Presentation

Collaborative Modeling Best Practices for Distributed Teams

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Collaborative Modeling Best Practices for Distributed Teams Ben Constable Chief Operations Officer Sparx Systems CIM Users Group Meeting, Milan 2010

  2. 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. Team based modeling – the challenges • Widely distributed teams • Shared development of standards • Big models and wide scope • Change control, merging work, revisions etc

  4. Sample Real-World Global Model Deployment

  5. Multi-site Models – How? • Ideal Scenario: Single, Shared (Master) Repository Site 2 Site 1 Site 3 Site n • Assumes good connectivity between each site

  6. Multi-site Models – How? • Alternative Scenario: Local Replicas Site 2 Site 1 Site 3 Site n • Allows broad replication even across slow links

  7. Version Control: What the user sees Packages Checked-in (Locked) Packages Checked-out (Editable)

  8. Version Control: Behind the scenes interfaces

  9. Version Control: Multiple Users, Local Models

  10. 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. 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. 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. Managing Cross-Package Dependencies • Collaborative Modeling Project: ADDRESS • See: 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. 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. 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. Merging Changes from Complete Models • Example Workflow: • ‘Editor1’ is assigned to Work Package 1 (WP1) • Editor1 adds a new Use Case, Diagram and ‘Use’ relationship • No other updates occur to WP1 by other editors • Changes to WP1 submitted to Model Manager via Baseline • Model Manager reviews and merges into Model Master • Demonstration: • Baseline Merge Complete Changes

  18. Merging Changes from incomplete models • Example Scenario • Editor1 makes further updates • Meanwhile, Editor2 submits other changes to WP1 for merge • Editor1 now submits changes to WP1 • Model Manager must preserve Editor2’s changes while incorporating Editor1’s new updates (resolve conflicts) • Demonstration: • Selectively merge changes from Editor1’s Baseline

  19. 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. 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. 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!

More Related