В данном разделе суммируются ограничения для каждого вида понятий (классов, соотношений между классами, свойств и характеристик) в процессе эволюции ссылочных словарей.
Неизменность классов
Существование характеристического класса нельзя отрицать в процессе эволюции. Дело в том, что каждый характеристический класс позволяет определить некоторые характеристики, любой класс, существующий в момент времени time = t, продолжает существовать в момент t' при t'>t .
Примечание 1 - Чтобы сделать модель управления изменениями более гибкой, предполагается, что класс может устаревать. При этом он маркируется как "не рекомендуемый для использования", может быть заменен другим классом и продолжает принадлежать новым версиям ссылочного словаря.
Указанный принцип говорит, что новейшая версия ссылочного словаря способна интерпретировать все ранее определенные характеристики. На каждом пользователе ссылочного словаря лежит ответственность за принятие решения: при каких условиях и до какого момента времени не рекомендуемые для использования элементы должны храниться в словаре пользователя.
Проблема неизменности имеет особенности для классов категоризации. Классы категоризации не используются при определении характеристик, поэтому данные классы могут быть погашены (модифицированы) без создания проблемы обеспечения обратной совместимости.
Неизменность свойств
Аналогично, все свойства, существующие в момент времени time = t, должны по-прежнему существовать в момент t' при t'>t. Свойства также могут устаревать. Но при этом ни условия существования, ни значения заданного элемента не могут изменяться. Область значений свойств может участвовать в процессе эволюции. Принимая во внимание требование обеспечения обратной совместимости, область значений может только увеличиваться. При этом отдельные значения время от времени маркируются как не рекомендуемые для использования.
Неизменность соотношения "класс-подкласс"
Соотношения типа "класс-подкласс" - это соотношения между классами и всеми подклассами. Эти соотношения - прямые или удовлетворяющие свойству транзитивности. Соотношение "класс-подкласс" поддерживает наследственность между суперклассом и подклассом. Выполнение требования неизменности заданного соотношения "класс-подкласс" между двумя классами С1 (суперклассом) и С2 (подклассом) зависит от последствий реализации данного соотношения для характеристик, определенных подклассом:
- если С2 не наследует от С1 какой-либо элемент (свойство, тип, значение, ...), используемый в характеристике, то соотношение "С1-С2" может быть погашено. Последствия реализации данного соотношения для N версии и N пересмотра определяются правилами управления изменением словаря;
- если С2 наследует от С1 некоторый элемент (свойство, тип, значение, ...), используемый в реализации характеристики С2, то соотношение "С1-С2" погашено быть не может.
Отметим, что данное ограничение допускает существенную эволюцию иерархии соотношений "класс-подкласс", например, допускает включение промежуточных классов между двумя классами, связанными соотношением "класс-подкласс".
Неизменность характеристик
Из факта, что свойство Р применимо в классе С в момент времени time = t, следует, что Р остается применимым в С в момент t' при t'>t.
Примечание 2 - Для этого совсем не требуется, чтобы одни и те же применимые свойства всегда использовались для описания экземпляров одного и того же класса. Свойства, используемые для характеристики элемента, не зависят от эволюции ссылочного словаря. Они зависят, в основном, от требований приложения, использующего ссылочный словарь.
Примечание 3 - Если свойство Р1 объявлено как применимое в классе С2, являющимся подклассом C1, то Р1 может стать применимым в классе С1 без возникновения проблемы обеспечения обратной совместимости, так как свойство применимости является унаследованным.