Top Banner
www.sparxsystems.com Collaborative Modeling Collaborative Modeling for Interoperability for Interoperability Standards Standards Ben Constable Chief Operations Officer Sparx Systems IM Users Group Meeting, Genval 2009
30

Collaborative Modeling for Interoperability Standards

Dec 31, 2015

Download

Documents

francis-alvarez

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 - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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, Genval 2009

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

Presentation by VIENNA team: B2B with UMM / EA

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

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

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

Presentation by VIENNA team: B2B with UMM / EA

Page 8: 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 9: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Collaborative modeling toolsCollaborative modeling tools

Version Control

Model Baseline Merge

Shared (DBMS) Repositories

Role-based security

Model Auditing

Page 10: 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 11: 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 12: 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 13: 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!)

Page 14: 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 15: 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 16: 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 17: 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 18: 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 19: 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 20: 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 21: 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 22: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Merge with XMI?Merge with XMI?

X

Page 23: Collaborative Modeling for  Interoperability Standards

www.sparxsystems.com

Enterprise Architect Baseline MergeEnterprise Architect Baseline Merge

User AUser B

Page 24: 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 25: 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 26: 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 27: 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 28: 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

Presentation by VIENNA team: B2B with UMM / EA

Page 29: 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

Presentation by VIENNA team: B2B with UMM / EA

Page 30: Collaborative Modeling for  Interoperability Standards

thank you for your attention!