ГОСТ Р ИСО/МЭК 8824-2-200!
12.2 Множество информационных объектов, которые должны быть класса, указанного «Е)е-
finedObjectClass*, является множеством, определяемым конструкцией «ObjectSet*
ObjectSet :: = «{» ObjectSetSpec *}*
ObjectSetSpec :: =
RootElementSetSpec |
RootElenientSetSpec «,*«...» |
«- - ■»I
«. ..»«,* AddidionalElementSetSpec |
RootElementSetSpec «,* « .. .* «,* AdditionalElememSetSpec
Конструкции «RootElenientSetSpec» и «AdditionalElementSetSpec* определены в ГОСТ P
ИСО/МЭК 8824-1 и позволяют специфицировать множество информационных объектов в терминах
информационных объектов или их множеств из управляющего класса. В множестве должен быть
хотя бы один информационных объект, если в «ObjectSetSpec» не задается третъя альтернатива («... *).
Впоследнем случае многоточие указывает, что множество объектов первоначально пусто, но объекты
будут динамически добавляться к нему прикладной программой.
Примечания
1 Элементы, на которые указывает «ObjectSetSpec*. являются объединением элементов, указываемых
«RootElement SetSpec* и «AdditionalElcmcmSctSpec®.
2 В отличие от расширяемых типов, таких как множество или последовательность, или ограничений
расширяющих подтипов, которые являются статическими относительно множества «понятных» значений,
устанавливаемых для каждой версии спецификации АСН. 1. расширяемое множество объектов можетдинами
чески расти и сжиматься в пределах данной версии. Действительно, оно может расширяться и сжиматься с
данным экземпляром использования прикладной программы по мерс того, как программа динамически
определяет и уничтожает объекты.
12.2.1Результат арифметической установки, применяемой к множествам расширяемых объ
ектов, определен в ГОСТ Р ИСО/МЭК 8824-1, раздел 46.
12.3 Если расширяемое множество объектов А указывается в определении другого множества
объектов В. то его маркер расширения наследуется В.
12.4 Если конструкция «ValueSetFromObjects* (см. раздел 15) определена с использованием
расширяемого множества объектов, то результирующее множество значений не наследует маркер
расширения от множества объектов.
12.5 Если тип ограничен табличным ограничением (см. 10.3 ИСО/МЭК 8824-3) и множество
объектов, указанных в табличном ограничении, яазяется расширяемым, то тип не наследует маркер
расширения от множества объектов. Если тип предназначается для того, чтобы быть расширяемым, то
маркер расширения должен быть явно добаазен к его «ElementSetSpecs*.
12.6 Нотация для «ObjectSetElements* следующая:
ObjectSet Elements : : =
Object |
DefmedObjectSet |
ObjectSetFromObjects |
ParameterizedObjectSet
Элементы, специфицированные этой нотацией, определяются использованной альтернативой
следующим образом:
а) если используется альтернатива «Object*, то определяется только объект, который также
обозначен. Этот объект должен быть объектом управляющего класса;
б) если используется любая из оставшихся альтернатив, то определяются все объекты множе
ства. обозначенные так же. Объекты должны быть объектами управляющего класса. Если исполь
зуется альтернатива «DefinedObjectSet*, то множество объектов есть то, которое указано. Если
используется альтернатива «ObjectSetFromObjects*. го множество объектов такое, как определено в
разделе 15. Если используется альтернатива «ParameterizedObjectSet*, то множество объектов такое,
как определено в ИСО/МЭК 8824-4, 9.2.
12.7 Пример
Множество информационных объектов, неформально описанное в примечании к 3.4.11, может
быть специфицировано следующим образом:
14