39
www.sparxsystems.com Collaborative Modeling Collaborative Modeling for Interoperability for Interoperability Standards Standards Ben Constable Chief Operations Officer Sparx Systems IM Users Group Meeting, Milan 2010

Collaborative Modeling for Interoperability Standards

Embed Size (px)

DESCRIPTION

Collaborative Modeling for Interoperability Standards. Ben Constable Chief Operations Officer Sparx Systems. CIM Users Group Meeting, Milan 2010. Overview. Collaborative Modeling What does it involve? Examples in Utilities, Geospatial and beyond… Challenges, Tools and Techniques - PowerPoint PPT Presentation

Citation preview

Page 1: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Collaborative Modeling for Collaborative Modeling for Interoperability StandardsInteroperability Standards

Ben Constable

Chief Operations Officer

Sparx Systems

CIM Users Group Meeting, Milan 2010

Page 2: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

OverviewOverview

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

Page 3: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Collaborative modeling and open Collaborative modeling and open standardsstandards

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

Page 4: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Collaborative modeling and open Collaborative modeling and open standardsstandards

Examples In IndustryInternational Electrotechnical Commission (IEC) CIM

ISO/TC 211 HMMG

JRC, INSPIRE

GeoSciML

UN/CEFACT’s Modeling Methodology (UMM)

Many others…

Page 5: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

What are other SDOs doing with Enterprise What are other SDOs doing with Enterprise Architect?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

Page 6: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Development of GeoSciMLDevelopment 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.”

Page 7: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Sample Real-World Global Model Sample Real-World Global Model DeploymentDeployment

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

Page 8: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Sample Real-World Global Model Sample Real-World Global Model DeploymentDeployment

Page 9: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

OverviewOverview

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

Page 10: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Multi-site ModelsMulti-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

Page 11: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Team based modeling – the challengesTeam 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…

Page 12: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Collaborative modeling concepts and Collaborative modeling concepts and toolstools

Shared (DBMS) Repository

Version Control

Model Baseline Merge

Role-based security

Model Auditing

Page 13: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Multi-site Models – How?Multi-site Models – How?

Ideal Scenario: Single, Shared (Master) Repository

Site 2

Site 3Site 1

Site n

Assumes good connectivity between each site

Page 14: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Multi-site Models – How?Multi-site Models – How?

Alternative Scenario: Local Replicas

Site 2

Site 3Site 1

Site n

Allows broad replication even across slow links

Page 15: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Performance: Big models, complex infoPerformance: Big models, complex info

Enterprise Models can be HUGE!

End-to-end models can yield 100,000’s of Elements!

Need robust, scalable solutions…

Page 16: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Performance: Big models, complex infoPerformance: 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…

Page 17: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Shared RepositoriesShared 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

Page 18: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

How to maximize parallel work How to maximize parallel work SAFELYSAFELY

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

Page 19: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

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!

Safe parallel work: Role-Based Safe parallel work: Role-Based SecuritySecurity

Page 20: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Role-Based SecurityRole-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!

Page 21: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

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

Safe parallel work: Version ControlSafe parallel work: Version Control

Page 22: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Version Control: What the user sees Version Control: What the user sees

Packages Checked-in (Locked)

Packages Checked-out (Editable)

Page 23: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Versions in Enterprise Architect modelsVersions in Enterprise Architect models

Two Basic Approaches:1. Entire Model Repository: Simple, ‘coarse’, no concurrency

2. 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

Page 24: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Versions in Enterprise Architect modelsVersions 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

Page 25: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Versions in Enterprise Architect modelsVersions 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)

Page 26: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Version Controlled PackagesVersion 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 formatNote: Default is XMI 1.1 (includes UML 2.1 info!)

More Info: http://www.sparxsystems.com/WhitePapers/Version_Control.pdf

Page 27: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Version Control: Behind the scenes Version Control: Behind the scenes interfaces interfaces

Data Exchange Format: XMI (fi le based) Data Exchange Format: SQL

Enterprise Architect

Subv ersion Repository

CVS Repository CVS Client

Subv ersion Client

Model Repository

TFS Repository TFS Client

SCC Repository SCC Client

Page 28: Collaborative Modeling for  Interoperability Standards

Version Control: Multiple Users, Local Version Control: Multiple Users, Local Models Models

Shared :Subv ersion Repository

USER 1 :Enterprise Architect USER 2 :Enterprise Architect USER N :Enterprise Architect

USER N :Model RepositoryUSER 2 :Model RepositoryUSER 1 :Model Repository

USER 1 :Subv ersion Client USER 2 :Subv ersion Client USER N :Subv ersion Client

. . .

XMI File

XMI File

«flow»

XMI File«flow»

XMI File«flow»

XMI File

«flow»

«flow» «flow» «flow»

Page 29: Collaborative Modeling for  Interoperability Standards

Version Control: Multiple Users, Shared Version Control: Multiple Users, Shared Model Model Shared :Subv ersion Repository

USER 1 :Enterprise Architect USER 2 :Enterprise Architect USER N :Enterprise Architect

USER 1 :Subv ersion Client USER 2 :Subv ersion Client USER N :Subv ersion Client

. . .

XMI File

Shared :Model Repository

XMI File

«flow»

«flow»

XMI File

«flow»

XMI File«flow»

XMI File«flow»

Page 30: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Model MergeModel 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 levelBetween 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 PackageThink version, not ad-hoc model merge

Page 31: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Model MergeModel 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 class2. New Class added and associated to TopologicalNode class3. 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 do2. Review and selectively merge User B’s changes to IEC 61970

Option 2 required if User A has own changes

Page 32: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

User A: Original modelUser A: Original modelclass TopologicalNodeTerminal

IdentifiedObject

Core::Terminal

IdentifiedObject

TopologicalNode

+ energiz ed: Boolean [0..1]+ loadCarrying: Boolean [0..1]+ netInjectionP: ActivePower [0..1]+ netInjectionQ: ReactivePower [0..1]+ observabilityFlag: Boolean [0..1]+ phaseAngle: AngleRadians [0..1]+ voltage: Voltage [0..1]

«UCTE»+ r0PerR: Float [0..1]+ x0PerX: Float [0..1]+ xPerR: Float [0..1]+ sShortCircuit: ApparentPower [0..1]

IdentifiedObject

ConnectivityNode

PowerSystemResource

Core::ConnectivityNodeContainer

+Terminal 0..*

+TopologicalNode

0..1

+Terminals

0..*

+ConnectivityNode

0..1

+TopologicalNode

0..*

+ConnectivityNodeContainer

0..1

+ConnectivityNodes

0..*

+TopologicalNode

0..1

+ConnectivityNodes

0..*

+ConnectivityNodeContainer

1

Page 33: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

User B: Updated modelUser B: Updated modelclass TopologicalNodeTerminal

IdentifiedObject

TopologicalNode

+ energiz ed: Boolean [0..1]+ loadCarrying: Boolean [0..1]+ netInjectionP: ActivePower [0..1]+ netInjectionQ: ReactivePower [0..1]+ observabilityFlag: Boolean [0..1]+ phaseAngle: AngleRadians [0..1]+ voltage: Voltage [0..1]+ newAttribute: int

«UCTE»+ r0PerR: Float [0..1]+ x0PerX: Float [0..1]+ xPerR: Float [0..1]+ sShortCircuit: ApparentPower [0..1]

IdentifiedObject

ConnectivityNode

PowerSystemResource

Core::ConnectivityNodeContainer

NewClass

+ConnectivityNodes

0..*

+TopologicalNode

0..1

+ConnectivityNodes

0..*

+ConnectivityNodeContainer

1

+NewRole 1

+NewClass 1

+TopologicalNode

0..*

+ConnectivityNodeContainer

0..1

Page 34: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Merge with XMI?Merge with XMI?

X

Page 35: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Enterprise Architect Baseline MergeEnterprise Architect Baseline Merge

User AUser B

Page 36: Collaborative Modeling for  Interoperability Standards

Enterprise Architect Baseline MergeEnterprise Architect Baseline Merge

class TopologicalNodeTerminal

IdentifiedObject

Core::Terminal

IdentifiedObject

TopologicalNode

+ energiz ed: Boolean [0..1]+ loadCarrying: Boolean [0..1]+ netInjectionP: ActivePower [0..1]+ netInjectionQ: ReactivePower [0..1]+ observabilityFlag: Boolean [0..1]+ phaseAngle: AngleRadians [0..1]+ voltage: Voltage [0..1]

«UCTE»+ r0PerR: Float [0..1]+ x0PerX: Float [0..1]+ xPerR: Float [0..1]+ sShortCircuit: ApparentPower [0..1]

IdentifiedObject

ConnectivityNode

PowerSystemResource

Core::ConnectivityNodeContainer

+Terminal 0..*

+TopologicalNode

0..1

+Terminals

0..*

+ConnectivityNode

0..1

+TopologicalNode

0..*

+ConnectivityNodeContainer

0..1

+ConnectivityNodes

0..*

+TopologicalNode

0..1

+ConnectivityNodes

0..*

+ConnectivityNodeContainer

1

class TopologicalNodeTerminal

IdentifiedObject

TopologicalNode

+ energiz ed: Boolean [0..1]+ loadCarrying: Boolean [0..1]+ netInjectionP: ActivePower [0..1]+ netInjectionQ: ReactivePower [0..1]+ observabilityFlag: Boolean [0..1]+ phaseAngle: AngleRadians [0..1]+ voltage: Voltage [0..1]+ newAttribute: int

«UCTE»+ r0PerR: Float [0..1]+ x0PerX: Float [0..1]+ xPerR: Float [0..1]+ sShortCircuit: ApparentPower [0..1]

IdentifiedObject

ConnectivityNode

PowerSystemResource

Core::ConnectivityNodeContainer

NewClass

+ConnectivityNodes

0..*

+TopologicalNode

0..1

+ConnectivityNodes

0..*

+ConnectivityNodeContainer

1

+NewRole 1

+NewClass 1

+TopologicalNode

0..*

+ConnectivityNodeContainer

0..1

+ User AUser B

class TopologicalNodeTerminal

IdentifiedObject

Core::Terminal

IdentifiedObject

TopologicalNode

+ energiz ed: Boolean [0..1]+ loadCarrying: Boolean [0..1]+ netInjectionP: ActivePower [0..1]+ netInjectionQ: ReactivePower [0..1]+ observabilityFlag: Boolean [0..1]+ phaseAngle: AngleRadians [0..1]+ voltage: Voltage [0..1]+ newAttribute: int

«UCTE»+ r0PerR: Float [0..1]+ x0PerX: Float [0..1]+ xPerR: Float [0..1]+ sShortCircuit: ApparentPower [0..1]

IdentifiedObject

ConnectivityNode

NewClass

PowerSystemResource

Core::ConnectivityNodeContainer

+Terminal 0..*

+TopologicalNode

0..1

+Terminals

0..*

+ConnectivityNode

0..1

+TopologicalNode

0..*

+ConnectivityNodeContainer

0..1

+NewRole 1

+NewClass 1

+ConnectivityNodes

0..*

+TopologicalNode

0..1

+ConnectivityNodes

0..*

+ConnectivityNodeContainer

1

Page 37: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Model AuditingModel 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

Page 38: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

OverviewOverview

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

Page 39: Collaborative Modeling for  Interoperability Standards

thank you for your attention!