The CIM Users Group has released version 2.0 of the open-source CIM-compare tool, designed to compare two versions of a Common Information Model (CIM) UML model and automatically produce a report of all the changes found.

The tool can be useful to developers and experts working with models based on IEC 61970, IEC 61968 and IEC 62325, as well as with corporate CIM extensions.

CIM-compare compares the source and new versions of a model and makes it possible to identify changes in packages, classes, attributes, associations and UML diagrams. The result is produced as an HTML report that can be viewed in an ordinary browser.

Key changes in CIM-compare 2.0
Key new features of CIM-compare 2.0: grouping of changes by type (added / removed / moved / changed), word-level text comparison, marks of changes directly on UML diagrams and noticeably more compact reports (down from 5.9 MB to under 1 MB).

What changed in version 2.0

One of the main new features is the fully reworked HTML report. Model elements are now grouped by the nature of the change: added, removed, moved or changed. The summary information doubles as a filter, and a package structure and search have been added.

For changed names and descriptions, text comparison with highlighting of differences has been implemented directly at the level of individual words.

Work with UML diagrams has been separately reworked. Changes can now be marked directly on the diagram image: the tool shows added, removed, changed, moved and style-changed elements, and also builds a list of the associations that have changed.

Reports have become much more compact

Another change concerns the size of the comparison results. By default, CIM-compare 2.0 includes primarily the changed elements in the report, without overloading it with the unchanged part of the model.

According to the developers, the size of the demonstration report dropped from 5.9 MB to under 1 MB. For large CIM models this makes it easier to review the results and exchange reports between project participants.

Why this matters to energy companies

Controlling CIM changes becomes especially important as energy companies move from using the standard "as is" to creating their own profiles, extensions and corporate information models.

When releasing a new version of such a model, it is necessary to understand:

  • which classes and attributes have appeared or been removed;
  • whether the semantics of existing objects have changed;
  • whether classes have been moved between packages;
  • how associations between objects have changed;
  • which UML diagrams require review;
  • how changes in the base CIM version will affect the corporate extension.

Automatic comparison of versions makes it possible to replace a significant part of the manual analysis of a model and to make the version-management procedure more reproducible. This can be especially useful when developing corporate CIM profiles, integrating information models of different systems and maintaining one's own namespaces.

Open Source

CIM-compare is developed as an open project of the CIM Users Group. The source code and documentation are publicly available. The tool is aimed at working with CIM models and their extensions, including those represented in UML/XMI.

Alongside version 2.0, update 2.0.1 was released. It adds support for Java 24 and newer versions, including Java 25, with no additional configuration, and also fixes the display of certain attribute metadata.

The arrival of CIM-compare 2.0 makes the tool considerably more convenient precisely for expert analysis of the evolution of CIM models — a task that is becoming increasingly relevant as CIM spreads across integration projects and the building of a unified information space for the power industry.