Project

General

Profile

CIM Issues #5111

Versioning of CIM packages

Added by Chavdar Ivanov over 2 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Author/Contact Info:
Chavdar Ivanov
Base Release:
Solution to be Applied To:
CIM18v03
Solution Version:
CIM18v03
Solution Applied By:
Chavdar Ivanov
Completion Date:
02/11/2023
CIM Keywords:
Breaking Change:
No
Breaking Change Description:
CIM Impacted Groups:
WG13
Requestor:
Standard(s):

61970-301

Version:
CIM18
Clause:
Sub-Clause:
Paragraph:
Table:
Originally Closed in Version:
Origination Date:
Origination ID:
Originally Assigned To:
Yang Feng

Description

CIM is growing and the efforts on maintenance, model management, structured development, managing dependencies, etc are increasing. There is versioning of the 3 main packages 61970, 61968 and 62325. There are dependency diagrams on high level.
However there is a need to version subpackages, e.g. Base, Dynamics, Wires, Core, etc. This will allow the following
- provide a clear indication which package is changes in a given release. For instance it could well happen that Core does not changes for StateVariables and users will clearly know that from the version of the package
- facilitate documentation handling
- allows better understanding which profiles are affected if a package is modified. Dependency diagrams will also help here.
- enable an approach that deal with vocabularies related to sub packages, e.g. Core vocabulary, Wires vocabulary, etc
...

Issue was discussed multiple times in WG13 and members find versioning of packages a good approach. There are also options to version on class level, but this is considered too much.


Proposed Solution

There are at least 2 options on how to add the version
- add a version class in each package
- add a tagged value on the package. This could be a number xx.yy.zz to indicate major.minor.revision numbers, but it could also be URI http://iec.ch/TC57/CIM/{package name}/xx.yy where xx is major version and yy is minor version, e.g. http://iec.ch/TC57/CIM/Core/17.40

Such solution can already be applied in the Dynamics package and subpackages as it is in CDV stage. The version information will then be printed in 61970-302:Ed2. 301 and other standard will follow according to their release plan


Decision

UTF13 decided to apply the versioning to Base and Dynamics packages and subpackages starting from CIM18
all URIs will get v 1.0
The domain is uca, e.g. http://ucaiug.org/CIM/Dynamics/1.0

Version and URI are only changed in official releases at least in the begining of development of the package. For instance working drafts may not get newer versions.


Release Notes

Two tag values were added to the UML
uri which has the URI of the package, e.g. http://ucaiug.org/CIM/Dynamics/1.0
version which is the version of the package, e.g. 1.0.0

Also available in: Atom PDF