Collaborative Modeling for Interoperability Standards
Shared by: hcj
-
Stats
- views:
- 2
- posted:
- 4/15/2012
- language:
- English
- pages:
- 39
Document Sample


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
GeoSciML
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, 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 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/WebH
ome
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:
MySQL
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. 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 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 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/WhitePapers/Version_Control.pdf
www.sparxsystems.com
Version Control: Behind the scenes
interfaces
Data Exchange Format: XMI (file based) Data Exchange Format: SQL
Subv ersion Subv ersion
Repositor y Client
Enterprise Architect
TFS Repository
TFS Client
Model Repository
CV S Repository CV S Client
SCC Repositor y
SCC Client
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 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
www.sparxsystems.com
User A: Original model
class T opologicalNodeT erminal
I dent ifiedObject +Connectiv ity Node +Terminals
ConnectivityNode I dent ifiedObject
0..1 0..* Core: : T erminal
+Terminal 0..*
+Connectiv ity Nodes
0..*
0..*
+Connectiv ity Nodes
+TopologicalNode +TopologicalNode
0..1 0..1
I dent ifiedObject
T opologicalNode
+ energiz ed: Boolean [0..1]
+ loadCarry ing: Boolean [0..1]
+TopologicalNode + netInjectionP: Activ ePow er [0..1]
+Connectiv ity NodeContainer + netInjectionQ: Reactiv ePow er [0..1]
0..*
1 + observ ability Flag: Boolean [0..1]
+ phaseAngle: AngleRadians [0..1]
PowerSy st emResource
+Connectiv ity NodeContainer + v oltage: Voltage [0..1]
Core: : ConnectivityNodeContainer
«UCTE»
0..1
+ r0PerR: Float [0..1]
+ x0PerX: Float [0..1]
+ xPerR: Float [0..1]
+ sShortCircuit: ApparentPow er [0..1]
www.sparxsystems.com
User B: Updated model
class T opologicalNodeT erminal
I dent ifiedObject
ConnectivityNode
+Connectiv ity Nodes
0..*
0..*
+Connectiv ity Nodes
+TopologicalNode
0..1
I dent ifiedObject
T opologicalNode
+ energiz ed: Boolean [0..1]
+ loadCarry ing: Boolean [0..1]
+TopologicalNode + netInjectionP: Activ ePow er [0..1]
+Connectiv ity NodeContainer + netInjectionQ: Reactiv ePow er [0..1]
0..*
1 + observ ability Flag: Boolean [0..1]
+ phaseAngle: AngleRadians [0..1]
PowerSy st emResource
+Connectiv ity NodeContainer + v oltage: Voltage [0..1]
Core: : ConnectivityNodeContainer
+ new Attribute: int
0..1
«UCTE»
+ r0PerR: Float [0..1]
+ x0PerX: Float [0..1]
+ xPerR: Float [0..1]
+ sShortCircuit: ApparentPow er [0..1]
+New Role 1
+New Class 1
New Class
www.sparxsystems.com
Merge with XMI?
www.sparxsystems.com
Enterprise Architect Baseline Merge
User B User A
www.sparxsystems.com
Enterprise Architect Baseline Merge
class T opologicalNodeT erminal
I dent ifiedObject +Connectiv ity Node +Terminals
ConnectivityNode I dent ifiedObject
0..1 0..* Core: : T erminal
class T opologicalNodeT erminal
+Terminal 0..*
+Connectiv ity Nodes
I dent ifiedObject class T opologicalNodeT erminal
ConnectivityNode
0..*
0..* I dent ifiedObject +Connectiv ity Node +Terminals
ConnectivityNode I dent ifiedObject
+Connectiv ity Nodes
+
+Connectiv ity Nodes 0..1 0..* Core: : T erminal
+TopologicalNode +TopologicalNode
0..* +Terminal 0..*
0..*
Nodes
+Connectiv ity 0..1
+Connectiv ity Nodes 0..1
0..*
0..*
+TopologicalNode +Connectiv ity Nodes
I dent ifiedObject
0..1
T opologicalNode
User B User A
+TopologicalNode +TopologicalNode
I dent ifiedObject 0..1 0..1
T opologicalNode + energiz ed: Boolean [0..1]
+ loadCarry ing: Boolean [0..1]
+ energiz ed: Boolean [0..1] I dent ifiedObject
+TopologicalNode + netInjectionP: Activ ePow er [0..1] T opologicalNode
+ loadCarry ing: Boolean [0..1]
+Connectiv ity NodeContainer
+TopologicalNode + netInjectionP: Activ ePow er [0..1] + netInjectionQ: Reactiv ePow er [0..1]
+Connectiv ity NodeContainer 0..* + energiz ed: Boolean [0..1]
1 0..* + netInjectionQ: Reactiv ePow er [0..1] + observ ability Flag: Boolean [0..1] + loadCarry ing: Boolean [0..1]
1 + observ ability Flag: Boolean [0..1]
+TopologicalNode
+ phaseAngle: AngleRadians [0..1] + phaseAngle: AngleRadians [0..1] + netInjectionP: Activ ePow er [0..1]
PowerSy st emResource PowerSy st emResource Voltage [0..1] +Connectiv ity NodeContainer + netInjectionQ: Reactiv ePow er [0..1]
Core: : ConnectivityNodeContainer
+Connectiv ity NodeContainer + v oltage: +Connectiv ity NodeContainer + v oltage: Voltage [0..1]
1
0..*
+ observ ability Flag: Boolean [0..1]
Core: : ConnectivityNodeContainer+ new Attribute: int
0..1 + new Attribute: int + phaseAngle: AngleRadians [0..1]
«UCTE» PowerSy st emResource
0..1 +Connectiv ity NodeContainer + v oltage: Voltage [0..1]
+ r0PerR: Float [0..1] «UCTE»
Core: : ConnectivityNodeContainer
«UCTE»
+ x0PerX: Float [0..1] 0..1
+ xPerR: Float [0..1]
+ r0PerR: Float [0..1] + r0PerR: Float [0..1]
+ sShortCircuit: ApparentPow er [0..1] + x0PerX: Float [0..1] + x0PerX: Float [0..1]
+ xPerR: Float [0..1]
+New Role 1 + xPerR: Float [0..1] + sShortCircuit: ApparentPow er [0..1]
+ sShortCircuit: ApparentPow er [0..1]
+New Class 1
+New Role 1
New Class
+New Class 1
New Class
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!
Get documents about "