derrickoswald / derrickoswald/CIMSpark
CIM 100
- Dominant language
- Scala
- Stars
- 19
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
The CIMreader is currently coded for [CIM 17](http://cimug.ucaiug.org/Current%20Official%20CIM%20Model%20Releases/Forms/Custom%20All%20Documents.aspx) or rather one specific combination of CIM17 (iec61970cim17v34_iec61968cim13v12_iec62325cim03v17a.eap) that has been labeled CIM100.
For generality, the CIMReader needs to be able to:
- allow for two or more different sets of CIM model classes by version in the source code repository
- identify one set as the default version (softlink?)
- allow for static compilation of client code against a specific model
- identify the model version to be used on import using the CIM header namespace, which maybe needs a heuristic based on namespaces seen in the wild, e.g.:
- xmlns:cim="[http://iec.ch/TC57/2016/CIM-schema-cim17#](https://ec.europa.eu/research/participants/documents/downloadPublic?documentIds=080166e5af3ae0ff&appId=PPGMS)"
- xmlns:cim="http\://iec.ch/TC57/2013/CIM-schema-cim16#" ← our original namespace
- xmlns:cim="[http://iec.ch/TC57/2012/CIM-schema-cim17#](https://raw.githubusercontent.com/GRIDAPPSD/Powergrid-Models/master/blazegraph/test/IEEE8500.xml)"
- xmlns:cim="[http://iec.ch/TC57/CIM100#](https://raw.githubusercontent.com/GRIDAPPSD/Powergrid-Models/master/blazegraph/test/IEEE8500.xml)"
- allow for dynamic programmatic selection of model version classes based on the RDF header (perhaps altering the Java classpath so that client code need not be concerned with a specific version, i.e. import cim17.model vs. import cim16.model) unless they use new or changed classes
- allow for older models (CIM16, CIM15, CIM14) in the same jar file
- allow for conversion between versions, either upgrade or downgrade
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at the CIMReader entry point and inspect how the current CIM100 model classes are stored and selected. Compare that flow with the listed CIM namespaces and determine the repository and build changes needed for multiple model versions. Done means the requested version selection, compatibility with older models, and version conversion behavior are defined and covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala, spark
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100