Collaborative Modeling for Interoperability Standards Ben Constable Chief
Collaborative Modeling for Interoperability Standards Ben Constable Chief Operations Officer Sparx Systems CIM Users Group Meeting, Milan 2010 www. sparxsystems. com
Overview Collaborative Modeling What does it involve? Examples in Utilities, Geospatial and beyond… Challenges, Tools and Techniques Team-based modeling: What are the challenges? Model sharing via Version Control Reconciling changes to models (merging) Q&A www. sparxsystems. com
Collaborative modeling and open standards Interoperability standards typically: Use models and abstractions to: • • • Manage complexity – size and scope Communicate to widely distributed audiences Reduce risk of technology obsolescence Use open modeling standards: • • • Often OMG’s Unified Modeling Language (UML) For example IEC’s Common Information Model (CIM), OGC’s Reference Model (ORM) Involve many collaborating stakeholders and editors • • Widely dispersed geographically Numerous and varied member organizations www. sparxsystems. com
Collaborative modeling and open standards Examples In Industry International Electrotechnical Commission (IEC) CIM ISO/TC 211 HMMG JRC, INSPIRE Geo. Sci. ML UN/CEFACT’s Modeling Methodology (UMM) Many others… www. sparxsystems. com
What are other SDOs doing with Enterprise Architect? ISO/TC 211 Harmonized Model Maintenance Group (HMMG) Maintenance of the ISO 19100 family of models Standard meta models for Geospatial domain Non-trivial size and scope (~240 Packages, 2 K Elements) HMMG adopted UML 2. 1 and Enterprise Architect for modeling Tool migration effort mirrors CIMug effort via XMI • More info CIM User Group: http: //cimug. ucaiug. org UN/CEFACT’s UMM Modeling standard for describing inter-organizational business process More info: http: //umm-dev. org/tools/uml-case-tools www. sparxsystems. com
Development of Geo. Sci. ML – CGI’s application of GML for geoscience data Interoperability: Platform-neutral publishing and interchange of geoscience data between organizations, systems, services etc. Collaboration: UML meta-model: https: //www. seegrid. csiro. au/twiki/bin/view/CGIModel/Web. Home Case Study says distributed package management critical: “…so that participants in different countries and time zones can concurrently work on the model. ” www. sparxsystems. com
Sample Real-World Global Model Deployment The Organization: A Leader in the Media & Communications domain Develops large-scale, complex systems Global company, > 10, 000 employees, offices worldwide The Models: Globally Distributed: Europe, Asia, Middle East, North America Requirements Scoping, High-Level and Detailed Design Large-scale Model Driven Development 10, 000’s of elements per model, > 100 concurrent users www. sparxsystems. com
Sample Real-World Global Model Deployment www. sparxsystems. com
Overview Collaborative Modeling What does it involve? Examples in Utilities, Geospatial and beyond… Challenges, Tools and Techniques Team-based modeling: What are the challenges? Model sharing via Version Control Reconciling changes to models (merging) Q&A www. sparxsystems. com
Multi-site Models Why do we want to do this? Globally distributed development teams Require a shared view of the system(s) requirements Increase productivity via parallel work Inherent Challenges: Connecting multiple teams to the shared view Offline editing is often necessary Models can be huge, performance must be managed Disparate roles must collaborate remotely & harmoniously 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 There are tools that help… www. sparxsystems. com
Collaborative modeling concepts and tools Shared (DBMS) Repository Version Control Model Baseline Merge Role-based security Model Auditing www. sparxsystems. com
Multi-site Models – How? Ideal Scenario: Single, Shared (Master) Repository Site 1 Site 3 Site 2 Site n Assumes good connectivity between each site www. sparxsystems. com
Multi-site Models – How? Alternative Scenario: Local Replicas Site 1 Site 3 Site 2 Site n Allows broad replication even across slow links www. sparxsystems. com
Performance: Big models, complex info Enterprise Models can be HUGE! End-to-end models can yield 100, 000’s of Elements! Need robust, scalable solutions… www. sparxsystems. com
Performance: Big models, complex info Use a Database Repository Robust modeling tools use a DBMS! Load on Demand (‘Lazy Load’) Only give me what I need when I need it! Network optimization (‘WAN Optimizer’) Widely distributed environment must reduce the network chatter Getting teams connected is a first step, having them work effectively is another matter… www. sparxsystems. com
Shared Repositories How DBMS repositories help: Concurrent users edit/view the same model instance No need for synchronization DBMS server can support large teams, large models Host a single ‘Master View’ Requires some DB administration to setup Commonly used for DBMS based repositories: My. SQL MS SQL Server Oracle www. sparxsystems. com
How to maximize parallel work SAFELY Multiple distributed editors Consider: Who uses the model? For what purpose? Approaches must: Enable concurrency Reduce risk of ‘collision’ Managing concurrent access Role-based Security Version Control procedures www. sparxsystems. com
Safe parallel work: Role-Based Security Access Controls Restrict editing privileges per role Individual user permissions Group permission (Business Analysts, Architects, QA etc) Refined Workflow Require login to the model repository Locking modes: “Require user lock to edit”, “Optional Lock” Locking granularity: View, Package or Element level Not to be confused with operating system or DBMS security! www. sparxsystems. com
Role-Based Security Shared models, concurrent editors … Access controls needed! Individual user permissions Group permission (Analysts/BAs, Architects, QA etc) Role-based security: Require individuals or groups to login to the model repository Restricted editing privileges based on role Locking granularity: View, Package or Element level Different locking/security modes available: “Require user lock to edit”, “Optional Lock” Not to be confused with operating system or DBMS security! www. sparxsystems. com
Safe parallel work: Version Control Benefits: Supports concurrent work Maintain history of changes Compare current vs prior state Roll-back changes Package-Based Versions: Stored using open standard for model exchange, XMI Granularity: Down to Package (‘Folder’), Sub-Packages www. sparxsystems. com
Version Control: What the user sees Packages Checked-in (Locked) Packages Checked-out (Editable) www. sparxsystems. com
Versions in Enterprise Architect models Two Basic Approaches: 1. 2. Entire Model Repository: Simple, ‘coarse’, no concurrency Package-based: Supports concurrent work Package-Based Versions: Packages serialized as XMI (XML Metadata Interchange) file 1 Package Version = 1 XMI file Applies to Root (Model), View, Parent or Child Packages www. sparxsystems. com
Versions in Enterprise Architect models Enterprise Architect allows version comparisons: Compare utility operates on Baseline vs Current State: The ‘live’ Package in the model repository Baseline (snapshot): XMI-based version of the same package www. sparxsystems. com
Versions in Enterprise Architect models 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) www. sparxsystems. com
Version Controlled Packages Basic concepts of version control apply: A mechanism for managing concurrent work Maintain a history of changes Changes can be ‘rolled back’ Revisions stored in XMI format Note: Default is XMI 1. 1 (includes UML 2. 1 info!) More Info: http: //www. sparxsystems. com/White. Papers/Version_Control. pdf www. sparxsystems. com
Version Control: Behind the scenes interfaces www. sparxsystems. com
Version Control: Multiple Users, Local Models
Version Control: Multiple Users, Shared Model
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 www. sparxsystems. com
Model Merge Scenario: User A (Gatekeeper) maintains the baseline/master model User B (Editor) supplies these changes to IEC 61970 Topology: 1. New Attribute added to existing Topological. Node class 2. New Class added and associated to Topological. Node class 3. Aggregation to Terminal class deleted (accident? !) 4. Updated notes for attribute Topological. Node. s. Short. Circuit User A has two options: 1. Overwrite Package IEC 61970 from User B – no work to do 2. Review and selectively merge User B’s changes to IEC 61970 Option 2 required if User A has own changes www. sparxsystems. com
User A: Original model www. sparxsystems. com
User B: Updated model www. sparxsystems. com
Merge with XMI? X www. sparxsystems. com
Enterprise Architect Baseline Merge User B www. sparxsystems. com User A
Enterprise Architect Baseline Merge User B + User A
Model Auditing Do we need to track model changes in real-time? Large enterprises have strict governance rules Changes to specifications can be expen$$$ive Need to know: Who changed What and When Model Auditing capability provides: A fine-grained change log for model elements Change log is continuous vs ‘point-in-time snapshot’ (c/f version control baseline) Filtering and highlighting of model differences Accountability for model changes made over time Exportable as a permanent record of change www. sparxsystems. com
Overview Collaborative Modeling What does it involve? Examples in Utilities, Geospatial and beyond… Challenges, Tools and Techniques Team-based modeling: What are the challenges? Model sharing via Version Control Reconciling changes to models (merging) Q&A www. sparxsystems. com
thank you for your attention!
- Slides: 39