CIM Users Group представила версию 2.0 открытого инструмента CIM-compare, предназначенного для сравнения двух версий UML-модели Common Information Model (CIM) и автоматического формирования отчёта обо всех обнаруженных изменениях.

Инструмент может быть полезен разработчикам и экспертам, работающим с моделями на базе IEC 61970, IEC 61968 и IEC 62325, а также с корпоративными расширениями CIM.

CIM-compare сравнивает исходную и новую версии модели и позволяет выявлять изменения в пакетах, классах, атрибутах, связях и UML-диаграммах. Результат формируется в виде HTML-отчёта, который можно просматривать в обычном браузере.

Ключевые изменения в CIM-compare 2.0: группировка изменений, пословный diff, отметки на UML-диаграммах и компактные отчёты
Ключевые новшества CIM-compare 2.0: группировка изменений по типу (добавлены / удалены / перемещены / изменены), пословное сравнение текста, отметки изменений прямо на UML-диаграммах и заметно более компактные отчёты (с 5,9 МБ до менее 1 МБ).

Что изменилось в версии 2.0

Одним из основных нововведений стал полностью переработанный HTML-отчёт. Элементы модели теперь группируются по характеру изменения: добавлены, удалены, перемещены или изменены. Сводная информация одновременно работает как фильтр, добавлены структура пакетов и поиск.

Для изменённых названий и описаний реализовано сравнение текста с подсветкой отличий непосредственно на уровне отдельных слов.

Отдельно переработана работа с UML-диаграммами. Изменения теперь могут отмечаться непосредственно на изображении диаграммы: инструмент показывает добавленные, удалённые, изменённые, перемещённые и стилистически изменённые элементы, а также формирует перечень изменившихся связей.

Отчёты стали значительно компактнее

Ещё одно изменение касается размера результатов сравнения. По умолчанию CIM-compare 2.0 включает в отчёт прежде всего изменившиеся элементы, не перегружая его неизменной частью модели.

По данным разработчиков, размер демонстрационного отчёта сократился с 5,9 МБ до менее чем 1 МБ. Для больших CIM-моделей это упрощает просмотр результатов и обмен отчётами между участниками проекта.

Зачем это энергетическим компаниям

Контроль изменений CIM становится особенно важным по мере перехода энергетических компаний от использования стандарта «как есть» к созданию собственных профилей, расширений и корпоративных информационных моделей.

При выпуске очередной версии такой модели необходимо понимать:

  • какие классы и атрибуты появились или были удалены;
  • изменилась ли семантика существующих объектов;
  • были ли классы перенесены между пакетами;
  • как изменились ассоциации между объектами;
  • какие UML-диаграммы требуют пересмотра;
  • как изменения базовой версии CIM повлияют на корпоративное расширение.

Автоматическое сравнение версий позволяет заменить значительную часть ручного анализа модели и сделать процедуру управления версиями более воспроизводимой. Это может быть особенно полезно при разработке корпоративных профилей CIM, интеграции информационных моделей различных систем и сопровождении собственных пространств имён.

Open Source

CIM-compare развивается как открытый проект CIM Users Group. Исходный код и документация доступны публично. Инструмент ориентирован на работу с CIM-моделями и их расширениями, в том числе представленными в UML/XMI.

Одновременно с версией 2.0 вышло обновление 2.0.1. Оно добавляет поддержку Java 24 и более новых версий, включая Java 25, без дополнительных настроек, а также исправляет отображение отдельных метаданных атрибутов.

Появление CIM-compare 2.0 делает инструмент существенно удобнее именно для экспертного анализа эволюции CIM-моделей — задачи, которая становится всё более актуальной по мере распространения CIM в проектах интеграции и построения единого информационного пространства электроэнергетики.