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

The tool can be useful for 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 original and new versions of a model and identifies changes in packages, classes, attributes, associations and UML diagrams. The result is produced as an HTML report that can be viewed in an ordinary web browser.

Key changes in CIM-compare 2.0: grouped changes, word-level diff, change markers on UML diagrams and compact reports
Key new features of CIM-compare 2.0: changes grouped by type (added / deleted / moved / modified), word-level text comparison, change markers directly on UML diagrams and much more compact reports (from 5.9 MB to under 1 MB).

What has changed in version 2.0

One of the main new features is a completely redesigned HTML report. Model elements are now grouped by the nature of the change: added, deleted, moved or modified. The summary doubles as a filter, and a package structure and search have been added.

For changed names and descriptions, the text is compared with the differences highlighted at the level of individual words.

Work with UML diagrams has also been reworked. Changes can now be marked directly on the diagram image: the tool shows added, deleted, modified, moved and restyled elements, and also produces a list of changed associations.

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 has been reduced from 5.9 MB to less than 1 MB. For large CIM models, this makes it easier to review the results and to share reports between project participants.

Why this matters to power companies

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

When a new version of such a model is released, 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 the associations between objects have changed;
  • which UML diagrams need to be revised;
  • how changes in the base version of CIM will affect the corporate extension.

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

Open Source

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

Alongside version 2.0, update 2.0.1 has also been released. It adds support for Java 24 and later, including Java 25, without additional configuration, and fixes the display of certain attribute metadata.

CIM-compare 2.0 makes the tool considerably more convenient specifically for the expert analysis of how CIM models evolve — a task that is becoming increasingly relevant as CIM spreads in integration projects and in building a single information space for the power industry.