В.В. Девятков, Д.В. Ошкало
2
ректности синхронизации требует более строгого определения и бу-
дет дано позже.
В настоящее время наиболее распространенной является синхро-
низация, осуществляющая трансформацию одной модели в другую
таким образом, что последняя уничтожается, а вместо нее создается
новая версия. Такая синхронизация неработоспособна в тех случаях,
когда изменения были внесены независимо в обе модели. Для этого
случая требуется другой механизм синхронизации.
Кроме того, синхронизация может затрагивать более двух моде-
лей, однако мы ограничимся механизмом синхронизации двух моде-
лей, поскольку он является основой для других синхронизаций.
Универсальный (пригодный для всех случаев) механизм синхро-
низации пока не разработан. Рассмотрение же отдельных механизмов
синхронизации является, на наш взгляд, излишним. Поэтому остано-
вимся на том, что их объединяет.
Основные подходы к разработке механизмов синхронизации мо-
делей можно разбить на две группы: декларативные и императивные
(операционные).
Декларативные подходы основаны на использовании языков опи-
сания механизмов синхронизации, позволяющих представить меха-
низм в виде множества правил таким образом, чтобы они гарантиро-
ванно были безопасными с точки зрения определенных критериев.
Для этого требуется точная формулировка критериев и процедуры
проверки правил на соответствие им. Создание универсальных язы-
ков описания правил синхронизации и процедур проверки критериев
правильности приблизило бы решение проблемы синхронизации мо-
делей. Однако универсального языка синхронизации не существует.
Наиболее удачным примером можно считать QVT-Relations, разрабо-
танный OMG и являющийся на сегодня стандартом описания транс-
формаций моделей[1, 3]. Средствами данного языка можно описы-
вать правила трансформации и двунаправленного переноса измене-
ний между моделями, но многие правила синхронизации в нем не
реализованы или реализованы не полностью. Это обусловливает со-
здание предметно- и проблемно-ориентированных языков для вы-
полнения каких-либо специфических задач синхронизации [4].
Императивный подход к проектированию систем синхронизации
предполагает создание алгебры преобразований, так как операции
трансформации моделей по своей сути являются алгебраическими
операциями над моделями и их элементами [5–10]. Операции и их
свойства, как правило, зависят от конкретной предметной области и
требований, предъявляемых к системе.
Известны попытки объединения декларативного и императивного
подходов [7, 11].