300 likes | 419 Views
Collaborative Modeling for Interoperability Standards. Ben Constable Chief Operations Officer Sparx Systems. CIM Users Group Meeting, Genval 2009. Overview. Collaborative Modeling What does it involve? Examples in Utilities, Geospatial and beyond… Challenges, Tools and Techniques
E N D
Collaborative Modeling for Interoperability Standards Ben Constable Chief Operations Officer Sparx Systems CIM Users Group Meeting, Genval 2009
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 • Presentation by VIENNA team: B2B with UMM / EA
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
Collaborative modeling and open standards • Examples In Industry • International Electrotechnical Commission (IEC) CIM • ISO/TC 211 HMMG • JRC, INSPIRE • GeoSciML • UN/CEFACT’s Modeling Methodology (UMM) • Many others…
What are other standards orgs 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, 2K 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
Development of GeoSciML • GeoSciML – 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/WebHome • Case Study says distributed package management critical: “…so that participants in different countries and time zones can concurrently work on the model.”
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 • Presentation by VIENNA team: B2B with UMM / EA
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…
Collaborative modeling tools • Version Control • Model Baseline Merge • Shared (DBMS) Repositories • Role-based security • Model Auditing
Versions in Enterprise Architect models • Two Basic Approaches: • 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
Versions in Enterprise Architect models • 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
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)
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!)
Version Control: What the user sees Packages Checked-in (Locked) Packages Checked-out (Editable)
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
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 TopologicalNode class 2. New Class added and associated to TopologicalNode class 3. Aggregation to Terminal class deleted (accident?!) 4. Updated notes for attribute TopologicalNode. sShortCircuit • 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
X Merge with XMI?
Enterprise Architect Baseline Merge User B User A
Enterprise Architect Baseline Merge + User B User A
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: • MySQL • MS SQL Server • Oracle
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!
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
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 • Presentation by VIENNA team: B2B with UMM / EA
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 • Presentation by VIENNA team: B2B with UMM / EA