-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
The CIMreader is currently coded for CIM 17 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#"
- xmlns:cim="http://iec.ch/TC57/2013/CIM-schema-cim16#" ← our original namespace
- xmlns:cim="http://iec.ch/TC57/2012/CIM-schema-cim17#"
- xmlns:cim="http://iec.ch/TC57/CIM100#"
- 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