ГОСТ Р ИСО/МЭК 8824-3-2002
Введение
Разработчикам приложений требуется нотация для определения структурированных типов
данных для передачи семантики. Она обеспечивается ГОСТ Р ИСО/МЭК 8824-1 и ГОСТ Р
ИСО/МЭК 8824-2. Нотация требуется также для дополнительных ограничений допустимых значе ний.
Примерами таких ограничений являются: ограничение на диапазон некоторого(ых) компонен тами),
или использование заданного множества информационных объектов для ограничения
компонента «Object-ClassFieldType®, или использование «AtNotation» для спецификации отношений
между компонентами.
В настоящем стандарте устанавливается нотация для общего случая спецификации ограничения.
П р и м е ч а н и е 1 — По историческим причинах! специальный случай «ограничение подтипа» определя
ется в ГОСТ Р ИСО/МЭК 8824-1.
Нотация ограничения может появляться (в круглых скобках) после любого использования
синтаксической конструкции «Туре», и целью настоящего стандарта является определение того, что
в общем случае входит в круглые скобки.
П р и м е ч а н и е 2 — Многократные ограничения «каждое внутри своих круглых скобок) могут приме
няться к одному и тому же типу «Туре», гак как результатом ограничения «Туре» формально является сама
конструкция «Туре».
Когда ограничение применяется к текстуально самой внешней конструкции «Туре», то в
результате создается новый тип. который явзяется подтипом исходного (порождающего) типа.
Подтип порождающего типа сам может быть использован в определении других подтипов того
же самого порождающего типа при других использованиях нотации ограничения. Таким образом,
подмножество значений, составляющих подтип, может быть определено либо ограничением диапа
зона порождающего типа, либо спецификацией подтипа как объединение множеств значений.
П р и м е ч а н и е 3 — Нотация «ValueSet*, определенная в ГОСТ Р ИСО/МЭК 8824-1. пункт 13.5. обес
печивает способы дальнейших спецификаций подтипов.
Ограничения также могут использоваться для создания подтипа порождающего типа (как
описано выше), когда нотация вкладывается в другой тип. Однако некоторые ограничения связи
компонента «component relation», текстуально включенные после «Туре» (в определении типа «мно
жество* или «последовательность»), не используются для ограничения множества возможных зна
чений «Туре», за которым они следуют (указывающий компонент). Они специфицируют связь между
значением указывающего компонента и значением одного или нескольких других типов «Туре» в
том же самом типе «множество* или «последовательность* (которые называются указываемыми
компонентами).
Ограничения связи компонентов могут быть показаны как подтипы типа «последовательность»,
в которой они вкладываются, а не обязательно указывающий тип.
Ограничение на компонент «ObjectClassFieldType* может применяться путем ограничения типа
или значения в компоненте с использованием множества информационных объектов. Такие огра
ничения называются табличными ограничениями, так как они определяются в терминах «ассоции
рованной таблицы» множества объектов. Ограничения связи компонентов, определенные в
настоящем стандарте, являются специальным случаем табличных ограничений.
Наконец,для типа «Туре* можетбыть создан подтип путем спецификации множества значений
в подтипе с помощью человекочитаемого текста. Такое ограничение называется ограничением,
определенным пользователем. Например, ограничение, определенное пользователем, может быть
специфицировано для битовой строки (BIT STRING), ограничивая ее значения множеством
значе ний. созданных кодированием заданного типа АСН. I.
Целью настоящего стандарта является установление нотации, которая должна использоваться
для спецификации табличных ограничений (включая ограничения связи компонентов) и ограниче
ний, определенных пользователем.
П р и м е ч а н и е 4 — Вообще говоря, полная поддержка спецификации ограничений гибким способом
(в частности, ограничений связи компонентов, ограничений подтипа и ограничений, определенных пользова
телем с формально определенным зелом) потребовала бы нотацию, сопоставимую по мощности с
языками программирования. Такая мощность может быть разумно обеспечена только установлением связи
нотации
IV