Upload
francis-alvarez
View
30
Download
4
Embed Size (px)
DESCRIPTION
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
Citation preview
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
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
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
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…
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
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.”
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
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…
www.sparxsystems.com
Collaborative modeling toolsCollaborative modeling tools
Version Control
Model Baseline Merge
Shared (DBMS) Repositories
Role-based security
Model Auditing
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
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
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)
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!)
www.sparxsystems.com
Version Control: What the user sees Version Control: What the user sees
Packages Checked-in (Locked)
Packages Checked-out (Editable)
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
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»
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»
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
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
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
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
www.sparxsystems.com
Enterprise Architect Baseline MergeEnterprise Architect Baseline Merge
User AUser B
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
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
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!
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
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
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