Стр. 1
 

57 страниц

548.00 ₽

Купить официальный бумажный документ с голограммой и синими печатями. подробнее

Официально распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль".

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

Устанавливает формат структуры обмена, использующий кодирование открытым текстом данных об изделии, для которого концептуальная модель определена в языке EXPRESS (ГОСТ Р ИСО 10303-11). Формат обмена пригоден для передачи данных об изделии между вычислительными системами.

Определено преобразование из языка EXPRESS в синтаксис структуры обмена. В синтаксис структуры обмена может быть преобразована любая EXPRESS-схема

Переиздание. Май 2006 г.

Оглавление

1 Область применения

2 Нормативные ссылки

3 Определения

   3.1 Термины, определенные в ИСО/МЭК 8859-1

   3.2 Термины, определенные в ИСО/МЭК 10646-1

   3.3 Термины, определенные в ГОСТ Р ИСО 10303-1

   3.4 Термины, определенные в ГОСТ Р ИСО 10303-11

   3.5 Другие определения

   3.6 Сокращения

4 Основополагающие концепции и допущения структуры обмена

   4.1 Введение

   4.2 Нотационные и типографские соглашения

   4.3 Соответствие

5 Формальные определения

   5.1 Формальная нотация

   5.2 Определение основного алфавита

   5.3 Структура обмена

   5.4 Определение лексем

   5.5 CHB структуры обмена

   5.6 Разделители лексем

6 Лексемы

   6.1 Специальные лексемы

   6.2 Ключевые слова

   6.3 Кодирование простых типов данных

7 Структурированные типы данных

8 Заголовочная секция

   8.1 Объекты заголовочной секции

   8.2 Схема заголовочной секции

   8.3 Объекты заголовочной секции, определенные пользователем

9 Секции данных

   9.1 Экземпляры объектов секции данных

   9.2 Экземпляры объектов секции данных, определяемые пользователем

10 Отображение из EXPRESS в структуру обмена

     10.1 Отображение типов данных EXPRESS

     10.2 Отображение типов данных объекта из языка EXPRESS

     10.3 Отображение элемента EXPRESS для SCHEMA

     10.4 Отображение элемента EXPRESS для CONSTANT

     10.5 Отображение элемента EXPRESS для RULE

     10.6 Комментарии

11 Печатное представление структур обмена

Приложение А Представление файла на носителе данных

                          А.1 Содержание носителя с доступом к записям

                          А.2 Содержание носителя с доступом к строкам

                          А.3 Обработка многотомных файлов

Приложение В Соглашения по записи в синтаксической нотации Вирта

Приложение С Регистрация информационного объекта

                          С.1 Обозначение документа

                          С.2 Обозначение схемы

Приложение D Основной алфавит и набор графических символов

Приложение Е Форма заявки о соответствии реализации протоколу

                          Е.1 Соответствие заданной функции

                          Е.2 Ограничения реализации

Приложение F Множество EXPRESS-схем в структуре обмена

                         F.1 Допустимые ссылки

                         F.2 Определение совокупности схемы

Приложение G Руководство по распечатке структуры обмена

                         G.1 Явные директивы управления процессом обмена

                         G.2 Неявные директивы управления процессом печати

Приложение H Пример полной структуры обмена

                          Н.1 Введение

                          Н.2 Пример схемы

                          Н.3 Пример сокращенных имен

                          Н.4 Пример структуры обмена

Тематический указатель

Показать даты введения Admin

Страница 1

ГОСТ Р ИСО 10303-21-2002 ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Системы автоматизации производства и их интеграция

ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ

Часть 21

Методы реализации Кодирование открытым текстом структуры обмена

Издаиие официальное

ГОССТАНДАРТ РОССИИ Москва

Страница 2

ГОСТ Р ИСО 10303-21-2002

Предисловие

1    РАЗРАБОТАН Научно-исследовательским центром (НИЦ) CALS-техналогиЙ «Прикладная логистика» и Всероссийским научно-исследовательским институтом стандартизации (ВНИИстандарт)

ВНЕСЕН Техническим комитетом по стандартизации ТК 431 «CALS-технологии»

2    ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 20 декабря 2002 г. № 496-ст

3    Настоящий стандарт представляет собой аутентичный текст международного стандарта ИСО 10303-21:2002 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 21. Методы реализации. Кодирование открытым текстом структуры обмена*

4    ВЗАМЕН ГОСТ Р ИСО 10303-21-99

5    ПЕРЕИЗДАНИЕ. Май 2006 г.

С! И ПК Издательство стандартов, 2003 £> Стандартинформ. 2006

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии

II

Страница 3

ГОСТ I» ИСО 10303-21-2002

Содержание

1    Область применения....................................................... I

2    Нормативные ссылки...................................................... 1

3    Определения.............................................................2

3.1    Термины, определенные в ИСО/МЭК 8859-1 .................................2

3.2    Термины, определенные в ИСО/МЭК 10646-1................................2

3.3    Термины, определенные в ГОСТ Р ИСО 10303-1..............................2

3.4    Термины, определенные в ГОСТ Р ИСО 10303-11.............................2

3.5    Другие определения....................................................2

3.6    Сокращения..........................................................3

4    Основополагающие концепции и допущения структуры обмена......................3

4.1    Введение.............................................................3

4.2    Нотационные и типографские соглашения...................................3

4.3    Соответствие..........................................................3

5    Формальные определения...................................................3

5.1    Формальная нотация....................................................3

5.2    Определение основного алфавита ..........................................3

5.3    Структура обмена......................................................4

5.4    Определение лексем....................................................4

5.5    СНВ структуры обмена..................................................5

5.6    Разделители лексем.....................................................6

6    Лексемы................................................................6

6.1    Специальные лексемы...................................................6

6.2    Ключевые слова.......................................................6

6.3    Кодирование простых типов данных........................................6

7    Структурированные типы данных............................................. II

8    Заголовочная секция....................................................... 12

8.1    Объекты заголовочной секции............................................ 12

8.2    Схема заголовочной секции.............................................. 12

8.3    Объекты заголовочной секции, определенные пользователем..................... 17

9    Секции данных........................................................... 17

9.1    Экземпляры объектов секции    данных....................................... 17

9.2    Экземпляры объектов секции    данных, определяемые пользователем................ 18

10    Отображение из EXPRESS в    структуру обмена.................................. 18

10.1    Отображение типов данных EXPRESS...................................... 19

10.2    Отображение типов данных объекта из языка EXPRESS........................26

10.3    Отображение элемента EXPRESS для SCHEMA..............................36

10.4    Отображение элемента EXPRESS дчя CONSTANT............................36

10.5    Отображение элемента EXPRESS для RULE................................36

10.6    Комментарии........................................................36

11    Печатное представление структур обмена......................................36

Страница 4

ГОСТ Р ИСО 10303-21-2002

Приложение Л. Представление файла на носителе данных............................37

А.1 Содержание носителя с доступом к записям..................................37

Л.2 Содержание носителя с доступом к строкам..................................37

Л.З Обработка многотомных файлов...........................................38

Приложение В Соглашения по записи в синтаксической нотации Вирта.................38

Приложение С. Регистрация информационного объекта............................. . 39

С. 1 Обозначение документа.................................................39

С.2 Обозначение схемы....................................................39

Приложение D Основной алфавит и набор графических символов......................40

Приложение Е Форма заявки о соответствии реализации протоколу.....................41

Е.1 Соответствие заданной функции..........................................41

E.2    Ограничения реализации................................................41

Приложение F Множество EXPRESS-схем в структуре обмена.........................42

F.1    Допустимые ссылки....................................................42

F.2    Определение совокупности схемы.........................................44

Приложение G Руководство по распечатке структуры обмена..........................46

G.I    Явные директивы управления процессом печати..............................46

G.2    Неявные директивы управления процессом печати............................46

Приложение Н Пример полной структуры обмена..................................47

H.1    Введение............................................................47

Н.2 Пример схемы........................................................47

Н.З Пример сокращенных имен..............................................47

Н.4 Пример структуры обмена...............................................48

Тематический указатель......................................................49

IV

Страница 5

ГОСТ Р И СО 10303-21-2002

Введение

Стандарты серии ГОСТ I* ИСО 10303 распространяются на машинно-ориентированное представление данных об изделии и обмен этими данными. Целью является создание механизма, позволяющего описывать данные об изделии на протяжении всего его жизненного изделия независимо от конкретной системы. Характер такого описания делает его пригодным не только для обмена инвариантными файлами, но также и для создания баз данных об изделиях, коллективного пользования этими базами и архивации соответствующих данных.

Настоящий стандарт устанавливает механизм, который позволяет представлять данные об изделии для передами из одной вычислительной системы в другую, используя язык EXPRESS, описанный в ГОСТ Р ИСО 10303-11.

Основные разделы настоящего стандарта:

-    определение синтаксиса структуры обмена;

-    преобразование из EXPRESS-схемы в заданный синтаксис.

Примечай и я

1    Примеры использования EXPRESS в настоящем стандарт не соответствуют каким-либо правилам сгиля. Напротив, иногда в примерах используют искаженный стиль, чтобы сохранить место или сконцентрироваться на важных вопросах. Примеры не ставят целью отразить содержание информационных моделей, определенных в других частях стандартов серии ГОСТ Р ИСО 10303. Данные примеры предназначены для показа конкретных особенностей EXPRESS или структуры обмена. Многие примеры даны с аннотациями, не согласующимися с синтаксическими правилами настоящего стандарта. Такие аннотации введены символическими стрелками: или горизонтальными «-»», или вертикальными «Т». При составлении правил просмотра текста эти аннотации должны быть игнорированы. Должно быть также игнорировано любое сходство между примерами и нормативными моделями, определенными в других стандартах серии ГОСТ Р ИСО 10303. В настоящем стандарте приведены несколько примеров отображения. В некоторые примеры для улучшения читаемости вставлены дополнительные пробелы и новые строки. Эти пробелы и новые строки не должны появляться в структуре обмена.

2    Стандарт дополнен следующими приложениями:

-    А — описывающим правила представления файла на носителе данных;

-    В — описывающим соглашения но синтаксической нотации Вирта;

-    С — устанавливающим идентификаторы информационных объектов, присвоенные настоящему стандарту и описанной в нем схеме;

-    D — описывающим основной латинский алфавит и набор используемых графических символов:

-    Е — описывающим форму заявки о соответствии реализации протоколу (ЗСРГ1):

-    F — описывающим множество EXPRESS-схем в структуре обмена:

-    G — содержащим руководства по распечатке структуры обмена:

-    И — содержащим пример полной структуры обмена.

3    В настоящем стандарте объекты и конструкции языка EXPRESS в ряде случаев выделены полужирным шрифтом (например. fite_dcscription).

По сравнению с ГОСТ Р ИСО 10303-21-99 в настоящий стандарт внесены следующие изменения:

-    исключена структура SCOPE (&SCOPE/ENDSCOPE);

-    в структуру обмена может быть внесено несколько секций (разделов) данных;

-    в заголовочной секции структуры обмена по умолчанию может быть задан язык описания строковых атрибутов экземпляров объектов (сущностей), закодированных в секции данных;

-    в заголовочной секции структуры обмена может быть задана информация, описывающая контексты кодирования экземпляров объектов, используемые в секции данных;

-    значения перечислений могут кодироваться с использованием соответствующих сокращенных наименований (при их наличии).

Все структуры обмена, закодированные согласно ГОСТ Р 10303-21-99 и не входящие в структуру SCOPE, соответствуют настоящему стандарту.

V

Страница 6

ГОСТ Р ИСО 10303-21-2002 ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Системы автоматизации производства и их интеграция ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ

Часть 21

Методы реализации. Кодирование открытым текстом структуры обмена

Industrial automation systems and integration. Product data representation and exchange. Part 21. Implementation methods. Clear text encoding of the exchange structure

Дата введения 2003—07—01

1    Область применения

Настоящий стандарт устанавливает формат структуры обмена, использующий кодирование открытым текстом данных об изделии, для которого концептуальная модель определена в языке EXPRESS (ГОСТ Р ИСО 10303-11). Формат обмена пригоден для передачи данных об изделии между вычислительными системами.

Определено преобразование из языка EXPRESS в синтаксис структуры обмена. В синтаксис структуры обмена может быть преобразована любая EXPRESS-схема.

2    Нормативные ссылки

В настоящем стандарте использованы ссылки на следующие стандарты:

ГОСТ Р ИСО/МЭК 8824-1—2001 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть I. Спецификация основной нотации

ГОСТ Р ИСО 10303-1-99 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть I. Общие представления и основополагающие принципы

ГОСТ Р ИСО 10303-11-2000 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть II. Методы описания. Справочное руководство по языку EXPRESS

ГОСТ Р ИСО 10303-41-99 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 41. Интегрированные обобщенные ресурсы. Основы описания и поддержки изделий

ИСО 639-2—98* Коды для представления наименований языков. Часть 2. Код Alpha-3

ИСО 3788—90* Обработка информации. 9-дорожечная магнитная лента для обмена информацией шириной 12,7 мм (0.5 дюйма) с использованием фазового кодирования плотностью 126 перехода потока на миллиметр (3200 переходов потока па дюйм) — 63 символа на миллиметр (1600 символов на дюйм)

ИСО 8601—2000* Элементы данных и форматы обмена. Обмен информацией. Представление дат и времени

ИСО/МЭК 8859-1—98* Обработка информации. 8-бнтные однобайтные кодированные наборы графических символов. Часть 1. Латинский алфавит № I

ИСО/МЭК 8859-2—99* Обработка информации. 8-бнтные однобайтные кодированные наборы графических символов. Часть 2. Латинский алфавит № 2

* Оригиналы стандартов ИСО (ИСО/МЭК) — во ВНИИКИ Госстандарта России.

Издание официальное

I

Страница 7

ГОСТ Р ИСО 10303-21-2002

ИСО/МЭК S859-3—991 Обработка информации. 8-битиые однобайтные кодированные наборы графических символов. Часть 3. Латинский алфавит № 3

ИСО/МЭК 8859-4—99* Обработка информации. 8-битные однобайтные кодированные наборы графических символов. Часть 4. Латинский алфавит № 4

ИСО/МЭК 8S59-5—99* Обработка информации. 8-битные однобайтные кодированные наборы графических символов. Часть 5. Алфавит латинский / кириллица

ИСО/МЭК Х859-6—99* Обработка информации. 8-битные однобайтные кодированные наборы графических символов. Часть 6. Алфавит латинский / арабский

ИСО/МЭК Н859-7—874 Обработка информации. 8-битные однобайтные кодированные наборы графических символов. Часть 7. Алфавит латинский / греческий

ИСО/МЭК S859-8—99* Обработка информации. 8-битные однобайтные кодированные наборы графических символов. Часть 8. Алфавит латинский/иврит

ИСО/МЭК 8S59-9—994 Обработка информации. 8-битные однобайтные кодированные наборы графических символов. Часть 9. Латинский алфавит № 5

ИСО/МЭК 10646-1—2000* Обработка информации. Многобайтный кодированный набор символов. Часть 1. Архитектура и основной многоязычный уровень

3 Определения

3.1    Термины, определенные в ИСО/МЭК 8859-1

В настоящем стандарте использованы следующие термины:

-    байт;

-    символ;

-    графический символ.

3.2    Термины, определенные в ИСО/МЭК 10646-1

В настоящем стандарте использован термин основной многоязычный уровень.

3.3    Термины, определенные в ГОСТ Р ИСО 10303-1

В настоящем стандарте использованы следующие термины:

-    прикладной протокол:

-    структура обмена.

3.4    Термины, определенные в ГОСТ Р ИСО 10303-11

В настоящем стандарте использованы следующие термины:

-    экземпляр сложного объекта;

-    тип данных:

-    объект;

-    частное значение сложного объекта;

-    экземпляр простого объекта;

-    лексема.

3.5    Другие определения

В настоящем стандарте использованы следующие термины с соответствующими определениями:

3.5.1    основной алфавит (basic alphabet): Набор символов из ИСО 8859-1 от G (02/00) до G (07/14).

3.5.2    кодирование открытым текстом (clear text encoding): Кодирование информации с использованием последовательности кодов для символов в основном алфавите.

3.5.3    управляющая директива (control directive): Последовательность символов в основном алфавите.

3.5.4    ключевое слово (keyword): Особая последовательность символов, обозначающая объект или определенный тип в структуре обмена.

3.5.5    секция (section): Набор данных одной и той же категории информации.

3.5.6    последовательный файл (sequential file): Файл, который может быть доступен только последовательным способом.

3.5.7    разделитель лексем (token separator): Последовательность из одного или нескольких 8-битных байтов, которая разделяет любые две лексемы.

2

1

Оригиналы стандаргов ИСО (ИСО/МЭК) — во ВНИИКИ Госстандарта России.

Страница 8

ГОСТ Р ИСО 10303-21-2002

3.6 Сокращения

В настоящем стандарте использованы следующие сокращения:

ОМУ (BMP) — основной многоязычный уровень (Basic multilingual plane);

СНВ (WSN) — синтаксическая нотация Вирта (Wirth Syntax Notation)

4    Основополагающие концепции и допущения структуры обмена

4.1    Введение

Для того чтобы облегчить синтаксический анализ с помощью программных средств, структура обмена описана однозначной, контекстно-свободной грамматикой. Грамматика выражена в синтаксической нотации Вирта, которая описана в приложении В. Представление данных об изделии в структуре обмена определяется с использованием отображения из языка EXPRESS в синтаксис структуры обмена.

4.2    Нотационные и типографские соглашения

Любые кавычки, используемые в настоящем стандарте, не являются частью текста структуры обмена, но служат для отделения этого текста. Это положение применимо ко всем местам в тексте, где используются кавычки. Таблицы 2—4 определяют исключения из этого правила, гак как кавычки, используемые в этих таблицах, составляют часть правил СНВ.

Стандартами серии ИСО 8859 каждому символу присваивается обозначающее имя. Когда это имя используют в настоящем стандарте, для отличия от обычного текста, оно выделено курсивом. Так, запятую (comma) используют для cci.lt к и на ”, подчеркивание (low line) — для ссылки на а прописную букву A (capital letter Л) — для ссылки на «А».

В примерах настоящего стандарта, где требуются пояснения, они введены последовательностью

4.3    Соответствие

Установлены два уровня соответствия:

-    синтаксическое соответствие структуры обмена: структура обмена соответствует настоящему стандарту, если удовлетворены требования этого стандарта;

-    схематическое соответствие структуры обмена: экземпляры, представленные в структуре обмена, соответствуют схемам, указанным в заголовочной секции соответствующей структуры обмена, если удовлетворены все требования и ограничения данных схем и требования отображения каждого экземпляра или группы экземпляров, установленные в разделах 9 и 10.

Примечание —В приложении F определены методы оценки соответствия схемы, когда структура обмена содержит ряд секций данных, связанных с различными EXf’RESS-схсмами.

Синтаксическое соответствие является необходимым условием для схематического соответствия.

Настоящим стандартом установлены два класса синтаксического соответствия в зависимости от метода, выбранного для кодирования экземпляров сложных объектов (см. 10.2.5). Реализация, претендующая на синтаксическое соответствие настоящему стандарту, должна читать или (и) записывать файлы, которые демонстрируют синтаксическое соответствие по крайней мере в одном из этих двух классов соответствия.

Реализация, претендующая на схематическое соответствие настоящему стандарту, должна читать или (и) записывать файлы, которые демонстрируют схематическое соответствие наряду с синтаксическим соответствием.

5    Формальные опрелеления

5.1    Формальная нотация

В настоящем стандарте для определения синтаксиса структуры обмена использована синтаксическая нотация Вирта (СНВ), описанная в приложении В.

5.2    Определение основного алфавита

Алфавит структуры обмена определен как символы от G(02/00) до G(07/14) по ИСО/МЭК 8859-1. Этот алфавит представлен в структуре обмена набором 8-битных байтов с десятичными значениями от 32 до 126. Таблица 1 делит основной алфавит на подмножества. G(x/y) является нотацией для символа, находящегося в позиции (16 раз по .v) + у в кодовой таблице по ИСО/МЭК 8859-1.

3

Страница 9

ГОСТ Р ИСО 10303-21-2002

Примечание — Таблица D.1 определяет соогветствие между 8-бигными байтами и их графическим представлением в ИС'О/МЭК 8859-1.

Таблица 1 — Определение подмножеств основного алфавита по CHI3

SPACE = и

DIGIT = “0й

| ”8“

“Г

”9"

“2"

”3”

| “4"

1 ”5" |

“6 1

| “Г

LOWER = “а”

Ь"

“с”

‘ЧР

1 х

“Г

V

"h"

т

“к"

“Г

1 -т

“п”

“о”

“Р”

“q”

“у”

“г”

“z”

“S”

“t"

1 "и“|

V

“W”

“X”

UPPER = “А”

"В”

| “С” |

“D”

“Е” I

“F”

“G"

"1-Г

“1” 1

“Г

1 “К” 1

“L’*

“М”

“N”

“О”

•Р”

“Q”

“Y”

“R”

“Z”

| “S”

1 V •

"Т"

“U”

“V”

“W”

“X"

SPECIAL = “Г

1 —

•S’*

|

+,

1 V

1 V

Т

1 “Г

1 7”

1

I “Iй

REVERSE_SOLI DUS =

Т

'V

1 «=« | ИДЯ

1

1

Т

“Г 1

“Г

APOSTROPHE =

CHARACTER = SPACE | DIGIT | LOWER | UPPER | SPECIAL | REVERSE_SOLIDUS | APOSTROPHE

5.3    Структура обмена

Структура обмена должна быть представлена в виде последовательного файла с использованием кодирования открытым текстом. Структура обмена должна содержать заголовочную секцию и секцию данных. Заголовочная секция представляет данные, относящиеся к самой структуре обмена. Структура заголовочной секции определена в разделе 8. Секция данных представляет данные, которые должны быть переданы. Структура секции данных определена в разделе 9. Структура обмена определена с помошью СНВ в таблице 3.

Структура обмена является потоком 8-битных байтов, которые кодируются графическими символами основного алфавита. Графические символы группируются в распознаваемые последовательности. называемые лексемами. Лексемы могут быть отделены разделителями. Структуру обмена можно рассматривать как последовательность лексем и их разделителей.

5.4    Определение лексем

Лексемы, используемые в структуре обмена, определены средствами СНВ в таблице 2.

4

Страница 10

ГОСТ Р ИСО 10303-21-2002

Табли ца 2 — СНВ определений лексем

KEYWORD = USER DEFINED KEYWORD 1 STANDARD KEYWORD.

USER DEFINED KEYWORD

= “Г UPPER { UPPER | DIGIT \.

STANDARD KEYWORD

= UPPER { UPPER | DIGIT J .

SIGN

= |

INTEGER

= |SIGN| DIGIT { DIGIT ) .

REAL

= |SIGN| DIGIT { DIGIT } “.” { DIGIT } |“E” |SIGN" DIGIT { DIGIT } |.

NON Q CHAR

= SPECIAL | DIGIT | SPACE | LOWER | UPPER.

STRING

= “,M { NON 0 CHAR |

APOSTROPHE APOSTROPHE |

REVERSE SOLIDUS REVERSE SOLIDUS | CONTROL DIRECTIVE }

ENTITY INSTANCE NAME

= DIGIT { DIGIT ) .

ENUMERATION

= “ ” UPPER { UPPER | DIGIT }

HEX

= “0"| "1"| “2" | ’-3" | “4" | ”5" | “6"|

”T 1

“8" | ”9” | “A” j “B”| “C”| “D” | “E” |

“F\

BINARY

" (“0" 1 T 1 “2" 1 ”3" ) | HEX )

5.5 СНВ структуры обмена

Синтаксис структуры обмена установлен в таблице 3. Таблица 3 ссылается на лексемы, определенные в таблице 2. Отношение между синтаксисом и EXPRESS-схемой установлено в разделе 10.

Та б л и ца 3 — СНВ структуры обмена

EXCHANGE_FILE = “ISO-10303-21;”

HEADER_SECT10N D ATA_S ЕСТ IО N ( DATA_S ECTIО N }

“EN D-1SO-10303-21 H EADER,SECTION = “HEADER;”

HEADER_ENTITY HEADER_ENTIIY HEADER_ENTITY

|HEADER_ENTITY_L1ST1

“ENDSEC;”.

HEADER ENTITY,LIST = HEADER.ENTITY { HEADER_ENTITY ) .

HEADER ENTITY    = KEYWORD “(” [PARAMETER LIST| “)"

PARAMETER_LIST    = PARAMETER \ V PARAMETER }.

PARAMETER    = TYPED,PARAMETER |

UNTYPED PARAMETER | OMITTED PARAMETER.

TYPED_PARAMETER    = KEYWORD PARAMETER “)”.

UNTYPED PARAMETER =    | INTEGER | REAL | STRING | ENTITY JNSTANCE NAME

| ENUMERATION | BINARY | LIST.

OMITTED_ PARAMETER =

LIST    = “(” | PARAMETER | V PARAMETER    }|T-

DATA_SECTION    = “DATA" | “(” PARAMETER _L1ST T    I “Г

ENTITYJNSTANCE_LIST “ENDSEC;".

ENTITY INSTANCE_LIST    = { ENT1TY_1NSTANCE }.

ENTHY JNSTANCE = SIMPLE_ENTITY INSTANCE | COM PLEX_ENTTTY JNSTANCE SIM PLE_ENTITY_ INSTANCE = ENTITY, IN STAN С E_NA ME “=” SIMPLE_RECORD «?. COMPLEX JENT1TYJNSTANCE = ENTITY_INSTANCE_NAME    SUBSUPER RECORD “;

SIMPLE,RECORD    =    KEYWORD “<" | PARAMETER, LI ST | “)“.

SUBSUPER,RECORD    = (“SIMPLE RECORD_LlST

SIMPLE RECORD LIST = SIMPLE RECORD { SIMPLE RECORD }.

5

Страница 11

ГОСТ Р ИСО 10303-21-2002

5.6 Разделители лексем

Разделитель лексемы является элементом, отделяющим две лексемы. Разделителями являются пробел, явные директивы управления печатью и комментарии. Разделитель может появиться между терминальными или нетерминальными порождениями таблицы 3. В том месте, где может появиться один разделитель, может появиться любое число разделителей. Разделитель не должен появляться внутри лексем, за исключением того, что явные директивы управления печатью могут появляться внутри чисел в двоичном представлении и внутри строк. Директивы управления печатью определены в разделе 11.

Примечание — Пробелом является символ пробела, описанный в основном алфавите в 5.2. Разделители строк, такие как перевод строки или возврат каретки, могут быть использованы в структуре обмена в соответствии с приложением А. но они не входят в основной алфавит, и согласно этому приложению А должны быть проигнорированы при обработке структуры обмена. Поэтому разделители строк могут присутствовать в структуре обмена, включая разделители лексем.

Комментарий должен быть закодирован как косая черта, звездочка за которым следует любое число символов из основного алфавита, и завершаться Любое появление комбинации “♦/” после первого появления не имеет значения, т. е. комментарии не могут быть вложены. Все графические символы, появляющиеся внутри комментария, не имеют значения для структуры обмена и предназначены только для чтения людьми.

6 Лексемы

В структуре обмена лексема является специальной лексемой, ключевым словом или кодированием простого типа данных.

6.1    Специальные лексемы

Для открытия структуры обмена должна быть использована специальная лексема “ISO-10303-21;”, а для закрытия структуры обмена — “END-lSO-l()3()3-21;”.

Для того чтобы открыть или закрыть заголовочную секцию структуры обмена, должны быть использованы специальные лексемы “HEADER” или “ENDSEC” соответственно.

Для того чтобы открыть или закрыть секцию данных структуры обмена, должны быть использованы специальные лексемы “DATA” или “ENDSEC” соответственно.

Специальную лексему знак дагюра “$” используют для представления объекта, чье значение не представлено в структуре обмена.

Специальную лексему заез()очка используют для представления предмета, значение которого не представлено в структуре обмена, но может быть выведено из других величин в соответствии с правилами, приведенными в EXPRESS-схеме (см. 10.2.6).

Специальные лексемы точка с запятой скобки “)”, запятая и косая черта “/” используют как знаки препинания в структуре обмена.

6.2    Ключевые слова

Ключевые слова являются последовательностями графических символов, указывающими объект или определенный тип в структуре обмена. Ключевые слова должны состоять из прописных бука, цифр, подчеркивания и. возможно, восмицатешюго знака “!”. Восклицательный знак должен пояазяться не более одного раза и только как первый символ в ключевом слове.

Ключевые слова могут быть таковыми, определенными в схеме или заданными пользователем. Ключевые слова, которые не начинаются с воспитательного знака, являются определенными в схеме. Ключевые слова, которые начинаются с восклицатешюго знака, являются определенными пользователем. Определенное пользователем ключевое слово является идентификатором для поименованного типа (типа данных объекта или определенного типа) в EXPRESS-схеме, управляющей структурой обмена. Смысл ключевого слова, определенного пользователем, является предметом соглашения между партерами, использующими структуру обмена.

6.3    Кодирование простых типов данных

В структурах обмена используют кодирование шести простых типов данных: целое (integer), вещественно (real), строка (string), имя экземпляра объекта (entity instance name), перечисление (enumeration) и двоичное (binary).

6.3.1 Целое (Integer)

Целое должно быть закодировано как последовательность из одной или нескольких цифр, согласно таблице 2. которой может (но необязательно) предшествовать знак плюс “+” или минус

6

Страница 12

ГОСТ Р ИСО 10303-21-2002

Целое должно быть выражено в десятичном основании. Если целое не имеет знака, его считают положительным.

Пример Верное представление целого в файле 16 + 12 -349 012 00

Значение Положительное 16 Положительное 12 Отрицательное 349 Положительное 12 Нуль Ошибка

Содержит пробелы Содержнг точку

Содержит пробел между знаком плюс и цифрами

Неверное представление целого в файле 26 54 32.0 + 12

6.3.2    Вещественное (Real)

Вещественное должно быть закодировано, как указано в таблице 2. Кол должен состоять из

десятичной мантиссы, за которой (необязательно) следует десятичный показатель степени. Десятичная мантисса состоит в порядке следования из необязательного знака плюс “+” или минус последовательности из одной или более цифр, точки последовательности из нуля или нескольких цифр. Десятичный показатель степени состоит из прописной буквы Е, за которой следует необязательный знак п.1 юс “+” или минус ” с одной или несколькими цифрами.

Примечание — В настоящем стандарте не сделано никаких попыток выразить концепцию точности. Когда необходимо указать значение точности, посылающая и принимающая стороны должны достигнуть соглашения по лому вопросу. Там. где точность требуется как элемент описания типа данных объекта, ее значение должно быть включено в определение типа данных объекта в EXPRESS-схеме.

Пример Верное представление вещественного +0.0Е0 —О.ОЕ-О 1.5

Значение

0.0

0.0

1.5

-3217.8 25 миллионов

5.0

Ошибка

В обозначении показателя степени не допускается десятичная точка

В обозначении мантиссы требуется десятичная точка Запятая не допускается

В обозначении показателя степени должна быть хотя бы одна цифра

Десятичной точке должна предшествовать хотя бы одна цифра

В обозначении мантиссы требуется десятичная точка

—32.I78E+02 0.25ES 0.Е25 2.

5.0

Неверное представление вещественного I.2E3.

1Е05 1.000.00 З.Е

.5 1

6.3.3    Строка (String)

Строка должна быть закодирована как апостроф за которым следует нуль или несколько

8-битных байтов, и заканчиваться Нулевая строка (строка нулевой длины) должна быть закодирована последовательностью из двух апострофов “к’\ Внутри строки единичный апостроф должен

7

Страница 13

ГОСТ Р ИСО 10303-21-2002

быть закодирован как дна последовательных апострофа. Внутри строки единичная косая обратная черта “\” должна быть закодирована как две косые обратные черты 8-битные байты, разрешенные внутри строки, являются десятичными эквивалентами чисел от 32 до 126 (включительно) по ИСО/МЭК 8859-1, которые определяют графические символы основного алфавита.

Г1 ри меча н не — Таблица D.1 определяет соответствие между 8-битными байтами и их графическим представлением по ИСО/МЭК 8859-1. Кавычки при появлении в строке не должны дублироваться. В таблице 1 появляются двойные кавычки потому, что в СНВ они и&чяются метасимволом (см. приложение В).

Дополнительные символы должны быть закодированы с использованием шестнадцатеричных цифр (см. HEX в таблице 2), как определено в 6.3.3.1 и 6.3.3.2. СНВ управляющих директив для закодированных строк приведена в таблице 4.

Габл ица 4 — Управляющие директивы для строк

CONTROL DIRECTIVE = PAGE | ALPHABET | EXTENDED2

| EXTENDED4 | ARBITRARY.

PAGE = REVERSE_SOLIDUS “S” REVERSE SOLIDUS CHARACTER. ALPHABET = REVERSE SOLIDUS “P” UPPER REVERSE SOLIDUS. EXTENDED2 = REVERSE_SOLlDUS “X2" REVERSE SOLIDUS HEXJTWO { HEX_TWO } END_EXTENDED.

EXTENDED4 = REVERSE_SOLIDUS “X4" REVERSE_SOLIDUS HEX_FOUR { HEX_FOUR } END_EXTENDED. END_EXTENDED = REVERSEJiOLlDUS “X0" REVERSE SOLIDUS. ARBITRARY = REVERSE_SOLlDUS “X” REVERSE_SOLIDUS HEX_ONE. HEX_ONE = HEX HEX.

H EX_TWO = HEX_ONE HEX_ONE.

HEX_FOUR = HEX_TWO HEXTWO.

6.3.3.1 Кодирование парного апфавита по стандартам серии ИСО/МЭК 8859 внутри строки

В стандартах серии ИСО/МЭК 8859 G (х/у) является обозначением символа в “колонке” х “столбце" у, т.е. значением кода (16*х) + у в таблице кодов. Каждая часть ИСО/МЭК 8859 (ИСО/МЭК 8859-1 - ИСО/МЭК 8859-9) включает в себя основной алфавит (см. 5.2) как позиции от G (02/00) до G (07/14). Различные части стандартов серии ИСО/МЭК 8859 отличаются символами расширенного набора символов — позициями от G (10/00) до G (15/14). Для того чтобы включить в строку символы из расширенного набора, необходимо использовать управляющие директивы.

Управляющую директиву’ PAGE — обратная косая черта, прописная буква S, обратная косая черта (“\S\”) CHARACTER (см. таблицу 4) — используют в строке для того, чтобы позволить символу основного алфавита представить символ в соответствующей позиции расширенного алфавита. Управляющую директиву PAGE следует интерпретировать в строке как одиночный символ G |(х + 8) /у\, где G{х/у) — символ основного алфавита, следующего за “\S\”. Таким образом, если символ основного алфавита имеет значение кода v, его следует интерпретировать как символ со значением кода v + 128.

Для того чтобы указать, что только в данной строке последующие управляющие директивы обратная косая черта, прописная буква S, обратная косая черта будут интерпретироваться как ссылки на расширенный алфавит» определенный в той части стандартов серии ИСО 8859, которая определяется значением U PPER, должна быть использована управляющая директива обратная косая черта, прописная буква Р, UPPER, обратная косая черта. Прописная буква (обозначенная как UPPER) должна быть одной из следующих: “А”, “В”, “С”, “D”, “Е”, “F”, “G”, “Н”, “I”. В данном контексте буква А определяет ИСО/МЭК 8859-1; буква В — ИСО/МЭК 8859-2 и т.д. Если данная управляющая директива не появляется в строке, подразумевается значение “А”, т.е. должен быть тот расширенный алфавит, который определен в ИСО/МЭК 8859-1.

8

Страница 14

ГОСТ Р ИСО 10303-21-2002

Пример Хранящаяся строка CAT'

'Don't'


Содержание

CAT

Don't


Комментарии


Строка нулевой длины

’\S\Drger'

'h\S\tteP

•\PE\\S\*\S\U\S\b'


Argcr

hotel

Нет


Кириллица. ’Нет*


6.3.3.2 Кодирование внутри строки набора символов из стандартов серии ИСО/МЭК 10646

В ГОСТ Р ИСО 10303-11 (см. 8.1.6) определено, что в строке может появиться любой символ из стандартов серии ИСО/МЭК 10646. Настоящий стандарт устанавливает три управляющие директивы, которые позволяют кодировать символы из ИСО/МЭК 10646.

Стандарты серии ИСО/МЭК 10646 определяют каноническую форму, которая использует четыре восьмибитные группы для представления любого символа из полного множества кодирования. Эти символы определяют соответственно группу, уровень, ряд и ячейку. Дополнительно стандарты серии ИСО/МЭК 10646 определяют основной многоязычный уровень (ОМУ), представляющий уровень (X) группы 00 полного множества кодирования. Символы в ОМУ представлены двумя байтами, определяющими ряд и ячейку.

Г1 р и м с ч а и и с — ОМУ включает в себя символы, в основном используемые в алфавитных, послоговых и идеографических записях вместе с различными знаками и цифрами.

Для того чтобы показать, что очередная последовательность из кратных четырем шестнадцатеричным символом будет интерпретироваться как закодированная двухбайтным представлением символов из ОМУ по ИСО/МЭК 10646-1, должна быть использована управляющая директива обратная косая черта, прописная буква X, цифра два, обратная косая черта “\Х2\’\ Кодирование в строке в структуры обмена должно быть следующим:

-    каждый символ представления из стандартов серии ИСО/МЭК 10646, подлежащий кодированию, должен быть преобразован в два 8-битных байта, как определено в ИСО/МЭК 10646-1;

-    каждый из двух полученных в результате 8-битных байтов должен быть закодирован как два шестнадцатеричных символа в основном алфавите, соответствующих графическому представлению шестнадцатеричных цифр.

Пример I — Латинскую прописную букву В преобразуют с помощью таблицы 1 из ИСО/МЭК 10646-1 в шестнадцатеричное значение ‘0042*. Шестнадцатеричными цифрами, соответствующими этому значению, яатяются 0,0.4 и 2. Кодирование в структуре обмена с использованием основного алфавита представляет собой четыре последовательных символа: 0042.

Для того чтобы показать, что очередная последовательность из кратных восьми шестнадцатеричных значений должна интерпретироваться как закодированная четырехбайтным представлением символов из полного множества кодирования по стандартам серии ИСО/МЭК 10646, должна быть использована управляющая директива обратная косая черта, прописная буква X. цифра четыре, обратная косая черта “\Х4\’\ Кодирование в строке в структуре обмена должно быть следующим:

-    каждый символ в представлении из стандартов серии ИСО/МЭК 10646, который должен быть закодирован, следует преобразовать в четыре 8-бнтных байта, как определено в ИСО/МЭК 10646-1;

-    каждый из четырех получаемых в результате 8-битных байтов должен быть закодирован как два шестнадцатеричных значения из основного алфавита, соответствующих графическому представлению шестнадцатеричных цифр.

Пример 2 — Латинскую прописную букву В преобразуют с номошью таблицы 1 из ИСО/МЭК 10646-1 в шссгнаднатеричное значение '00000042*. Шестнадцатеричными цифрами являются 0, 0, 0. 0, 0. 0, 4 и 2. Кодирование в структуре обмена с использованием основного алфавита представляет собой восемь последовательных символов 00000042.

9

Страница 15

ГОСТ Р ИСО 10303-21-2002

Для того чтобы показать окончание кодирования символов по стандартам серии ИСО/МЭК 10646 в строке и возврат к прямому кодированию с использованием основного алфавита, должна быть использована управляющая директива обратная косая черта, прописная буква X. цифра ноль, обратная косая черта “\Х0\”.

6.3.3.3 Кодирование в строке единичного 8-битного байта

В строке может быть закодирован 8-битный байт со значением от 0 до 255. Для того чтобы указать, что следующие два шестнадцатеричных символа должны быть интерпретированы как 8-битный байт, должна быть использована управляющая директива обратная косая черта, прописная буква X. обратная косая черта “\Х\”. интерпретируемая как 8-битный байт ячейки символа уровня 0 ОМУ по стандартам серии ИСО/МЭК 10646.

Примечание— Символы, определенные в ИСО/МЭК 10646-1 и ИСО/МЭК 8859-1, должны быть указаны в соответствующем диапазоне.

Пример Хранящаяся строка 'sec \X\A7 4. Г 'line one\X0Alinc two'


Содержание см. 4.1 строка один строка два


Комментарии

содержит новые строки


6.3.3.4    Максимальная длина строки

Максимальная длина строки, сохраняемая в структуре обмена, ограничена 32769 8-битными байтами, включая начальный и конечный апострофы. Если в хранящуюся строку включены кавычки, обратная косая черта, апострофы, директивы управления печатью (см. раздел 11) или символы, закодированные в соответствии с 6.3.3.1, 6.3.3.2 или 6.3.3.3, максимальная длина действительного содержания строки будет меньше, чем 32767 графических символов. Действительным содержанием является последовательность графических символов, полученная после того, как будут выполнены соглашения по кодированию.

6.3.4    Имена экземпляров объектов

Имя экземпляра объекта должно быть закодировано как знак номера за которым следует целое без знака. Целое должно представлять любую комбинацию из одной или нескольких десятичных цифр. По меньшей мере одна цифра не должна быть “0”. Предшествующие нули в имени экземпляра объекта не имеют значения.

СНВ для имен экземпляров объектов приведена в таблице 2 в правиле подстановки ENTITY INSTANCE NAME.

11 р и м с р Правильное выражение имени #12

#023

Неправильное выражение имени

#+023

#00.1

74

#439А6

Значение

Именует экземпляр объекта или ссылается на экземпляр объекта с идентификатором 12

Именует экземпляр обьекга или ссылается на экземпляр объекта с идентификатором 23

Ошибка

Содержит знак

Содержит десятичную точку

Не начинается со знака номера

Содержит символы алфавита


Если имена экземпляров объектов появляются внутри списка атрибутов экземпляра объекта, то их используют как ссылки на другие экземпляры объектов. Разрешены ссылки как вперед, так и назад.

6.3.5 Перечисляемые значения

Перечисляемое значение должно быть закодировано как последовательность прописных букв или цифр, начинающаяся с прописной буквы, ограниченная точками. Смысл заданного перечисляемого значения задается EXPRESS-схемой и соответствующими определениями из объявлений перечисляемого типа.

10

Страница 16

ГОСТ Р ИСО 10303-21-2002

Пример Правильное перечисляемое выражение STELL.

Неправильное перечисляемое выражение RED

.123.

Значение

Показывает значение STELL Ошибка

Пропущена точка в конне Начинается не с алфавитного символа


6.3.6 Двоичное число (Binary)

Двоичным числом является последовательность битов (0 или 1). Двоичное число должно быть закодировано так, как определено следующей процедурой:

-    подсчитывают количество битов в последовательности. Называют результат р:

-    определяют число п. 0<=/»<= 3, так что к = р + п является кратным четырем;

-    дополняют слева двоичное число п нулевыми битами. Разделяют последовательность на группы по четыре бита;

-    перед последовательностью вводят четырехбитное представление л;

-    если десятичный эквивалент 4-битной группы 9 или меньше, чтобы получить 8-битный байт, добавляют к десятичному значению 48; если десятичный эквивалент 4-бнтной группы больше 9, чтобы получить 8-битный байт, добаааяют к десятичному значению 55.

Примечание — Эго преобразование двоичного числа в шестнадцатеричное;

-    закодированное двоичное число состоит из А/4+1 шестнадцатеричных цифр. Первая цифра является значением п. За ней следуют шестнадцатеричные цифры, представляющие двоичное число;

-    двоичное число отделяют кавычками

Г1 р и м с р

Двоичное значение 'null' или 'empty'

0


Представление

..0"

••30й

"31*

"23В"


ШОП

100100101010


■092А"


7 Структурированные типы данных

Единственным структурированным типом данных, который появляется в структуре обмена, является LIST (список), как это определено в таблице 3. Список яшмется последовательностью (возможно пустой) из PARAMETER (параметров), каждый из которых может быть:

-    кодированием простого типа, как описано в 6.3, или

-    специальной лексемой знак доллара “$”. или

-    TYPED_PARAMETER, представляющим экземпляр выбранного типа (см. 10.1.8). или

-    LIST, представляющим экземпляр (вложенного) структурированного типа.

Данный список может содержать более одной из вышеперечисленных форм. В структуре обмена список начинается с левой скобки "(" и кончается правой скобкой “)”. Экземпляры разделяют запятыми. Список может быть вложенным на любую глубину.

Пример Структурированный тип данных Список целых Список строк

Представление (0. 1.2.3, 7, 2. 4)

(’САГ, HELLO )

((0.0.1.0,2.0), (3.0.4.0.5.0)) ((0.0,1.0.2.0). (»

Список списков вещественных значений Список списков всшсственных значений

В последнем списке списков вещественных значений второй вложенный список пустой.

II

Страница 17

ГОСТ Р ИСО 10303-21-2002

8 Заголовочная секция

Заголовочная секция содержит информацию, которая относится ко всей структуре обмена. Эта секция должна быть представлена в каждой структуре обмена. Секция должна начинаться со специальной лексемы “HEADER;” и заканчиваться специальной лексемой “ENDSEC;”.

Примечание— В приложении Н представлен пример заголовочной секции внутри структуры обмена.

8.1    Объекты заголовочной секции

Определены три объекта заголовочной секции, и в каждой структуре обмена требуется наличие одного экземпляра каждого из объектов. Объектами заголовочной секции являются file_description, П1е_пате и flie_schema. и они должны располагаться в этой последовательности. Экземпляры объектов nie_population. seetionjanguage и section_context могут располагаться после объекта file_scbema. Если имеются экземпляры определенных пользователем объектов заголовочной секции, то они должны появляться после обязательных экземпляров объектов заголовочной секции в произвольном порядке. Синтаксис экземпляров объектов заголовочной секции приведен в СНВ в таблице 3. Каждое имя объекта должно быть преобразовано в KEYWORD (ключевое слово) правила HEADER_ENTITY. Раздел 10 определяет преобразование простых и составных (агрегатных) типов данных в PARAMETER .LIST (список параметров) для значений атрибутов данных экземпляров объектов.

8.2    Схема заголовочной секции

Данный подраздел определяет объекты заголовочной секции и типы, которые пояыяются в заголовочной секции структуры обмена. Объекты заголовочной секции определены с помощью языка EXPRESS.

EXPRESS-cneimtlmKaumi:

*)

SCHEMA header seciion schema;

TYPE exchange_structure_identifier = STRING:

END_TYPE

*)

Данная схема определяет объекты заголовочной секции, которые специфичны для процесса передачи данных об изделии с использованием структуры обмена.

П римечание - Тип cxchange_slruclurc_idcntifier соответствует типу идентификатора, установленному в ГОСТ Р ИСО 10303-41. но должен быть задан отдельно, чтобы обеспечить независимость требований настоящего стандарта от моделей данных, описанных в группе интегрированных ресурсов стандартов серии ГОСТ Р ИСО 10303.

8.2.1 Объект file_descript ion

Объект ftle_description определяет версию настоящего стандарта, использованную для создания структуры обмена, а также ее содержание.

EXPRESS-cneumbHKaHmi

*)

ENTITY file_description;

description    :    LIST 11 : ?1 OF STRING (256);

implementationjevel: STRING (256):

END_ENTITY;

С

Цшкашк,. шдцйущц.

description — неформальное описание содержимого структуры обмена;

implementationjevel — обозначение требований, которым соответствует кодирование в данной структуре обмена, и любых соответствующих вариантов, применяемых при кодировании. Значение этого атрибута должно указывать соответствие данной версии настоящего стандарта наличием значения “3; Г, или "3; 2". Дтя структур обмена, принадлежащих к классу соответствия 1. значение должно быть задано в виде “3; I". Для структур обмена, принадлежащих к классу соответствия 2, значение должно быть "3; 2".

Если встречаются ниже перечисленные ограничения, тогда для указания соответствия настоящему стандарту может быть использовано значение “2: 1" или ”2; 2":

12

Страница 18

ГОСТ Р ИСО 10303-21-2002

-    конкретная структура обмена должна содержать единственную секцию данных, а ключевое слово “DATA” не должно располагаться за PARAMETER_LIST;

-    заголовочная секция структуры обмена не должна содержать объектов FILE .POPULATION;

-    заголовочная секция структуры обмена не должна содержать объектов SECTION^LAN-GUAGE;

-    заголовочная секция структуры обмена не должна содержать объектов SECTION _CONTEXT;

-    перечисляемые значения (ENUMERATION) на языке EXPRESS не должны кодироваться с использованием сокращенных наименований.

Значения “2; I" и ”2; 2” должны обозначать структуры обмена, относящиеся к классу соответствия 1 и 2.

Примечания

1    Классы соответствия I и 2 определены в 10.2.5.

2    Обшая форма для значения имеет вид “v; сс“, где v— номер версии настоящего стандарта, как определено в приложении С. а се — кодирование класса соответствия. Будущие версии настоящего стандарта могут определить дополнительные значения для v и сс.

3    Значения ”2; Г и "'2; 2” обеспечивают совместимость с реализациями, основанными на предыдущей версии настоящего стандарта.

8.2.2 Объект file-name

Объект flle-name представляет доступную для прочтения человеком информацию о структуре обмена. Содержание атрибутов данного объекта, за исключением атрибута time_stamp, не определяется настоящим стандартом.

LXPKLSS-iiieinubiiKauim

*)

EN TITY file.name:

name    : STRING (256);

time stamp    : time stamp text;

author    : LIST 11:?| OF STRING    (256);

organization    : LIST |I:?j OF STRING    (256);

preprocessor., version    : STRING (256);

originating_system    : STRING (256);

authorization    : STRING (256);

END_EN TITY;

TYPE time_stamp_text = STRING (256);

END TYPE;

*)

Описания атрибу тов:

name - строка графических символов, используемая для наименования данного конкретного экземпляра структуры обмена.

Примечание — Имя предназначается для связи между отправителем и получателем, подобно тому, как оно используется между людьми;

time_stamp — дата и время, показывающие, когда была создана структура обмена. Содержание строки должно соответствовать расширенному формату полной календарной даты, как определено в 4.2.1.1 ИСО 8601. объединенному с расширенным форматом времени дня, устано&тенным в 4.3.1.1 или в 4.3.3 ИСО 8601. Дата и время должны быть разделены прописной буквой Т, как определено в 4.4.1 ИСО 8601. Другие форматы из 4.3.1.1 и 4.3.3 позволяют дополнительно включать определитель часового пояса;

author — имя и почтовый адрес липа, ответственного за создание структуры обмена: organization — группа или организация, с которой связан автор;

preprocessor version — система, используемая для создания структуры обмена, включая имя и версию системного изделия;

originating_system — система, от которой выданы данные в эту структуру обмена; authorization — имя и почтовый адрес лица, уполномоченного посылать структуру обмена.

13

Страница 19

ГОСТ Р ИСО 10303-21-2002

Пример

Элемент штампа времени    Полный    расширенный    формат

Календарная лата — 12 апреля 1993 г.    1993—04—12

Время дня — 15 ч 27 мин 46 с    15:27:46

Часовой пояс — 5 ч на запад от Гринвича    Поле часового пояса    я&тяется необязательным

-05:00

Вышеприведенные дата, время и часовой пояс. 1991—04—12 Т 15:27:46—05:00 закодированные в пате timejstamp

8.2.3    Объект file_schema

Объект file_schema указывает EXPRESS-схемы, в которых определены экземпляры объектов в секции данных. Атрибут schemajdentifiers должен состоять из списка строк, каждая из которых должна содержать имя схемы, за которым следует необязательный идентификатор объекта, присвоенный этой схеме.

Если имя схемы содержит строчные буквы, то они должны быть преобразованы в соответствующие прописные буквы. В строках schema_name должны быть только прописные буквы.

Если известен идентификатор объекта, он должен иметь форму, установленную в ГОСТ Р ИСО/МЭК 8824-1. Использование идентификаторов объектов в стандартах серии ГОСТ Р ИСО 10303 описано в 4.3 ГОСТ Р ИСО 10303-1. Рекомендуется, по возможности, применять идентификатор объекта, так как это обеспечивает однозначное обозначение схемы.

Г1 р и м с ч а и и с — Общим форматом представления идентификатора описываемого предмета (физического объекта) являются огдельные целые числа. Последовательность этих чисел представляют в соответствующих фигурных скобках ‘‘{'YT-

LXPKLSS-wncuiidmbaumi

♦)

ENTITY file_shema;

schema identifiers : LIST |1:?| OF UNIQUE schema name;

END_ENTITY;

TYPE schema_name = STRING (1024);

ENDTYPE;

С

Описаццедпцбшк.

schemajdentifiers - схемы, которые определяют экземпляры объектов в секции данных.

Пример — Нижеописанный экземпляр EXPRESS-схсмы назван 'CONFIG_CONTROL_-DESIGN‘: FJLE_SCHEMA (<'CONFIG_CONTROL_DESIGN‘));

Следующий экземпляр использует идентификатор описываемого предмета (физического объекта)’ AUTO-MOTIVE_DESIGN‘ для указания конкретной версии EXPRESS-схсмы:

FI LE_SCH EMA (('AUTOMOTIVE_DESIGN {1 0 10303 214 1 1 I )'));

8.2.4    Объект file.population

Объект file_population задает набор (коллекцию) экземпляров объектов в структуре обмена с целью определения их схематического соответствия конкретной EXXPRESS-схеме. Данная коллекция должна быть задана посредством алгоритма, определенного атрибутом determination_method для набора секции данных, указанных атрибутом governed_sections. Если в этом атрибуте не указано конкретное значение, данный алгоритм должен быть использован для всех секций данных в структуре обмена.

Структура обмена можег содержать ноль, один или несколько экземпляров file_population. Имя секции данных может быть указано в атрибуте govemed_sections нулевого, одного или нескольких экземпляров nie_population.

П р и м е ч а и и я

1    В F.2 заданы три возможных метода определения данного объекта.

2    Если в атрибуте Kovcmcd_scctions не задано конкретное значение, его кодируют таком (кшара ("S") в соответствии с 10.2.2. а не в виде пустого списка.

Страница 20

ГОСТ Р ИСО 10303-21-2002

LXPKLSS - шсшкЬикаиня

*>

ENTITY file population:

governing_schema    : schema name;

determination.method : exchange strucrure.identifier; governed_sections    : OPTIONAL SET |1 : ?| OF section name;

END_ENTlfY;

TYPE seciion_name = exchange strucrure identifier;

END.TYPE;

С

Описание атрибутов:

goveming.schenia: — имя EXPRESS-схемы, используемой для совокупности экземпляров объектов. заданных в заголовочной секции объекта file.population. Данное имя может быть размещено в заголовочной секции объекта file.schema:

determination_metiiod: - строка графических символов, применяемая для определения алгоритма, используемого при выборе экземпляров объектов для обмена;

govemed_sectkms: — имена секций данных, использованные в качестве исходных данных для выбранного метода определения данного объекта.

8.2.5    Объект section_language

Объект section_language определяет по умолчанию язык описания строковых значений в секции данных. Атрибут default_language должен содержать наименование конкретного языка. Наименование языка должно быть закодировано в соответствии с библиографическим кодом AIpha-З, определенным в ИСО 639-2.

Атрибут section должен содержать наименование секции данных в структуре обмена, для которой по умолчанию задан соответствующий язык. Если в структуре обмена содержится единственная не поименованная секция данных, тогда значение атрибута section не определяют (см. 10.2.2). Заголовочная секция структуры обмена должна содержать по крайней мере один экземпляр объекта section_language с неопределенным значением атрибута section. При необходимости заданный в этом экземпляре по умолчанию язык должен быть использован для всех секций данных в структуре обмена, в которых не определены экземпляры других объектов sectionjanguage.

Пример— Примерами значений атрибута dcfaultjanguagc яиляются: 'end' — для английского языка, ■frc' — для французского, 'rus’ — для русскою или 'ger‘ — для немецкого.

EXPRESS-сненификаиия

*)

ENTITY sectionjanguage;

section    : OPTIONAL section_name;

default.language : language^name;

UNIQUE

UR1    : section;

END.ENTITY;

TYPE language name = exchange strucrure identifier;

END TYPE;

С

Описание агрнбутов:

section: — имя секции данных, для которой применяют язык, заданный по умолчанию атрибутом defau!t_language:

default .language: — наименование языка, используемого для строковых значений.

8.2.6    Объект section_context

Объект section.context задает информацию, описывающую контексты использования экземпляров, закодированных в структуре обмена.

Атрибут section должен содержать имя секции данных в структуре обмена, для которой используют конкретные идентификаторы контекстов. Если в структуре обмена содержится единственная не поименованная секция данных, тогда значение атрибута section не определяют (см. 10.2.2). Заголовочная секция структуры обмена должна содержать по крайней мере один экземпляр объекта section.context с неопределенным значением атрибута section. При необходимости заданные в этом

15

Страница 21

ГОСТ Р ИСО 10303-21-2002

экземпляре идентификаторы контекстов должны быть использованы для всех секций данных в структуре обмена, в которых не определены экземпляры других объектов section_context.

EXPRESS-спеинсЬикаиня

*)

ENTITY section_context;

section    : OPTIONAL section_name;

context identifiers : LIST |l:?| OF context name;

UNIQUE

URl : section;

END_ENTITY;

TYPE context name = STRING;

END TYPE;

C

section: — имя секции данных, для которой применяют контексты, заданные атрибутом соп-text_identifiers;

context_identifiers: — идентификаторы, содержащие информацию о контекстах экземпляров, закодированных в структуре обмена.

Примечание — В прикладном протоколе могут быть заданы символические идентификаторы для каждого класса соответствия этого протокола. Идентификаторы контекстов для секции могут задавать конкретный список классов соответствия прикладного протокола, обеспечиваемый данными из этой секции.

Пример I — Язык и идентификатор контекста заданы для структуры обмена в единственной не поименованной секции данных:

HEADER;

FILE.SCHEMA (('GEMETRY '));

SECTION_LANGUAGE ($. ’end );-> A

SECTION.CONTEXT (S.'tag_a');-> В

ENDSEC;

DATA;

ENDSEC;

А: для секции данных выбран английский язык, закодированный как 'eng'.

В: для секции данных выбран признак (тег) контекста 'tag_a'.

II р и м с р 2 — Язык и идентификатор контекста заданы для структуры обмена в нескольких секциях данных:

HEADER;

FILE SCHEMA ((’GEMETRY )):

SECT10N_LANGUAGE ( DSI\ 'ger'); -> A

SECTION_LANGUAGE (‘DS2\ 'epo');-> В

SECTION_LANGUAGE (S. haw );-> С

SECT10N_C0NTEXT (*DSI\ ('tag_a\ ’tag b’));-> D

SECTION_CONTEXT (*DS2\ ('tag_c')):-> E

SECTION_CONTEXT (S. ( tag_d’)); -> F

ENDSEC;

DATA (*DS!’, (GEOMETRY'));

ENDSEC;

DATA (*DS2\ (GEOMETRY )): ENDSEC;

DATA ('DS3'. (GEOMETRY')): ENDSEC:

16

Страница 22

ГОСТ Р ИСО 10303-21-2002

DATA (*DS4\ (‘GEOMETRY’));

ENDS ЕС;

А: для секции данных с именем ‘DS1’ выбран немецкий язык, закодированный как ’ger'.

В: для секции данных с именем 'DS2' выбран язык Эсперанто, закодированный как сро'.

С: для секций данных с именами ‘DS.V и 'DS4' выбран гавайский язык, закодированный как 'haw'.

D: для секции данных с именем *DS1 * выбраны идентификаторы контекстов 'tag_a‘ и 'lag_b'-

Е: для секции данных с именем ‘DS2’ выбран идентификатор контекста "tag^c*.

F: для секций данных с именами 'DS3' 'DS4' выбран идентификатор контекста 'tag_d*.

*)

END_SC'HEMA;

Г

8.3 Объекты заголовочной секции, определенные пользователем

В заголовочной секции могут быть помещены экземпляры объектов заголовочной секции, определенные пользователем, с конкретными ограничениями, перечисленными ниже.

a)    Экземпляры объектов заголовочной секции, определенные пользователем, должны соблюдать тот же синтаксис, что и все экземпляры объектов заголовочной секции, с дополнительным требованием, что перпый символ ключевого слова должен быть восклицательным знаком

b)    Атрибуты объектов заголовочной секции, определенные пользователем, должны иметь типы данных из языка EXPRESS и отображаться в заголовочной секции, как определено в разделе 10.

Пример

HEADER;

FILE SCHEMA (( GEOMETRY ));

!A_SPECIAL_ENTITY ('ABC-. 123):-> ОПРЕДЕЛЕННЫЙ ПОЛЬЗОВАТЕЛЕМ ОБЪЕКТ

ENDSEC;

9 Секции данных

Секция данных содержит экземпляры, передаваемые через структуру обмена. В каждой структуре обмена должна быть представлена по крайней мере одна секция данных. Каждая секция данных содержит экземпляры объектов, соответствующие одной EXPRESS-схеме. определенной в заголовочной секции.

Синтаксис секции данных задан в таблице 3. Каждая секция данных должна начинаться с ключевого слова «DATA». Если в структуру обмена включено несколько секций данных, в каждой из них за ключевым словом «DATA* должен быть представлен PARAMETER_L1ST, содержащий параметр строки (STRING) или списка (LIST).

Первым параметром должна быть строка (STRING), содержащая индивидуальное имя секции. Вторым параметром должен быть список (LIST), содержащий одну строку (STRING). Данная строка должна содержать имя схемы, управляющей заданной секцией данных. Имя данной схемы должно входить в заголовочную секцию объекта file_schema.

Если структура обмена содержит только одну секцию данных, тогда список параметров (РА-RAMETER LIST) может быть опущен. В этом случае в заголовочной секции объекта file_schema должна быть определена только одна схема, управляющая заданной секцией данных.

Каждая секция данных должна заканчиваться специальной лексемой “ENDSEC”.

Примечание — В приложении Н представлен полный пример секции данных в структуре обмена.

9.1 Экземпляры объектов секции данных

Каждый экземпляр объекта должен отображаться на конструкцию ENTITYJNSTANCE (см. таблицу 3) в секции данных, как определено в 10.2. Каждый экземпляр объекта должен быть представлен в секции данных не более одного раза: различающиеся экземпляры объектов должны иметь различные имена. Экземпляры объектов в структуре обмена не нуждаются в упорядочении. Ссылка на имя экземпляра объекта может появляться до того, как оно будет определено ENTITY JN-STANCE в структуре обмена.

17

Страница 23

ГОСТ Р ИСО 10303-21-2002

9.2 Экземпляры объектов секции данных, определяемые пользователем

Экземпляр объекта, определяемый пользователем, не входит в EXPRESS-схему. определенную в заголовочной секции. Экземпляры обьекта, определяемые пользователем, должны соответствовать синтаксису всех экземпляров объектов этой секции данных, исключая выбор USER_DE-FINED KEYWORD, который должен быть использован в SIMPLE RECORD, входящем в данное описание. Смысловое содержание экземпляров объектов, определяемых пользователем, их количество, типы данных и содержание соответствующих атрибутов являются предметом соглашения между сторонами, использующими заданную структуру обмена.

Пример

DATA;

Я1 - рТ (1.0. 2.0, 3.0):-> ОБУСЛОВЛЕННЫЙ ЭКЗЕМПЛЯР ОБЪЕКТА

я 2 » рТ(1.0. 2.0. 5.0);

#12’- 1MYCURVE (0.0. 0.0. 0.0, 1.0, S.S. S):-> ЭКЗЕМПЛЯР ОБЪЕКТА. ОПРЕДЕЛЕННЫЙ ПОЛЬ

ЗОВАТЕЛЕМ

ENDSEC;

11 римсчанис — До использования синтаксиса, определенного пользователем в соответствии с настоящим разделом, следует описать EXPRESS-схему. определяющую кнформашпо. задаваемую пользователем, и ее кодирование в отдельной секции данных.

10 Отображение из EXPRESS в структуру обмена

Данный раздел описывает, каким образом экземпляры типов данных, определенных в языке EXPRESS, отображаются в структуру обмена.

Язык EXPRESS включает в себя объявления TYPE (типов), ENTITY (объектов) и CONSTANT (констант), спецификации ограничений и описания алгоритмов. Только экземпляры типов данных, определенные как типы данных EXPRESS с помощью объяатений TYPE и ENTITY, отображаются в структуру обмена. Другие элементы языка в структуру обмена не отображаются (см. таблицу 5).

Та б л и на 5 — Краткая справочная таблица отображений

Элемент EXPRESS

Отображается в:

ARRAY

список (list)

BAG

список (list)

BOOLEAN

булевскую переменную (boolean)

BINARY

двоичное (binary)

CONSTANT

НЕ ОТОБРАЖАЕТСЯ

DERIVED ATTRIBUTE

НЕ ОТОБРАЖАЕТСЯ

ENTITY

экземпляр объекта

ENTITY AS ATFRIBUTE

имя экземпляра обьекта

ENUMERATION

перечисление (enumeration)

FUNCTION

НЕ ОТОБРАЖАЕТСЯ

INTEGER

целое (integer)

INVERSE

НЕ ОТОБРАЖАЕТСЯ

LIST

список (list)

LOGICAL

перечисление (enumeration)

NUMBER

вещественное (real)

PROCEDURE

НЕ ОТОБРАЖАЕТСЯ

REAL

вещественное (real)

18

Страница 24

ГОСТ Р ИСО 10303-21-2002

Окончание таблицы 5

Элемент EXPRESS

Отображается в:

REMARKS

RULE

SCHEMA

SELECT

SET

STRING

TYPE

UNIQUE RULE WHERE RULES

HE ОТОБРАЖАЕТСЯ HE ОТОБРАЖАЕТСЯ HE ОТОБРАЖАЕТСЯ см. 10.1.8 список (list) строку (string) см. 10.1.6

НЕ ОТОБРАЖАЕТСЯ НЕ ОТОБРАЖАЕТСЯ

10.1    Огображенне типов данных EXPRESS

Данный подраздел определяет преобразование из элементов EXPRESS, являющихся типами данных, в структуру обмена.

10.1.1    Отображение простых типов данных EXPRESS

10.1.1.1    Тип данных integer (целое)

Значения данных в EXPRESS типа INTEGER отображаются в структуру обмена как целочисленный тип данных. Состав целочисленного типа данных описан в 6.3.1.

10.1.1.2    Тип данных string (строковый)

Значения данных в EXPRESS типа STRING отображаются в структуру обмена как строковый тип данных. Состав строкового типа данных описан в 6.3.3.

10.1.1.3    Тип данных boolean (булевский)

Значения данных в EXPRESS типа BOOLEAN отображаются в структуру обмена как данные перечисляемого типа. Состав данных перечисляемого типа описан в 6.3.5. EXPRESS-данные типа BOOLEAN должны быть обработаны как предопределенный перечисляемый тип данных со значением. кодированным графическим символом “Т” или “Р\ Эти значения соответствуют true (истина) и false (ложь).

10.1.1.4    Тип данных logical (логический)

Значения данных в EXPRESS типа LOGICAL отображаются в структуру обмена как данные перечисляемого типа. В 6.3.5 описан состав перечисляемого типа данных. EXPRESS-данные типа LOGICAL должны быть обработаны как предопределенный перечисляемый тип данных со значением, кодированным графическими символами “Т", “F” или “LT. Эти значения соответствуют true (истина), false (ложь) и unknown (неизвестно).

10.1.1.5    Тип данных real (вещественный)

Значения данных в EXPRESS типа REAL должны быть отображены в структуру обмена как вещественный тип данных. В 6.3.2 описано содержание вещественного типа данных.

11 р и м с р — Определение обьекта в языке EXPRESS:

ENTITY widget:

11    :    INTEGER: -> A

12    :    INTEGER:    -> В

si :    STRING (3); -> С

s2 :    STRING:    -> D

I :    LOGICAL:    -> E

b :    BOOLEAN:    -> F

rl :    REAL (4);    -> G

r2 :    REAL; -> H

END_ENTITY;

Образец экземпляра обьекта в секции данных:

»2 = WIDGET (99, 99999. 'ABC', ’ABCDEFG', .Т., .F.. 9.. 1.2345);

Л /

/

Л /

'

В С

[> Е 1

: G

19

Страница 25

ГОСТ Р ИСО 10303-21-2002

А: в этом экземпляре объект атрибут il имеет значение 99.

В: и этом экземпляре объекта атрибут i2 имеет значение 99999.

С: в этом экземпляре объекта атрибут si имеет значение 'ABC'. Эго значение попадает в диапазон (три символа), определенный для данного атрибута.

D: в этом экземпляре объекта атрибут s2 имеет значение 'ABCDEFG*.

Е: в ЭТОМ экземпляре объекта атрибут 1 имеет значение TRUE (истина).

F: в этом экземпляре объекта атрибут b имеет значение FALSE (ложь).

G: в этом экземпляре объекта атрибут г! имеет значение 9. Требование точности не влияет на кодирование.

Н: в этом экземпляре объекта атрибут г2 имеет значение 1.2345.

10.1.1.6 Тип данных binary (двоичный)

Значения данных п EXPRESS двоичного типа отображают в структуру обмена как двоичный тип данных. Описание двоичного типа данных — по 6.3.6.

Пример — Определение объекта в языке EXPRESS:

ENTITY picture: bn : BINARY;

END_ENT1TY:

Образец экземпляра объекта в секции данных:

*4 - PICTURE (“15S6FBO"):

Л

А

А: в этом экземпляре Ьп закодирован как "1556FBO". что соответствует последовательности битов 101 0101 0110 IIII 1011 0000.

10.1.1.7 Тип данных number (числовой)

Значения данных в EXPRESS типа NUMBER должны быть отображены в структуру обмена как вещественный тип данных. Формирование вещественного типа данных — по 6.3.2.

10.1.2 Тип данных list (список)

Значения данных в EXPRESS типа LIST отображают в структуру обмена как данные спискового типа. В разделе 7 описан состав данных спискового типа. Если список пустой, то он должен быть закодирован как левая скобка “(”, за которой сразу следует правая скобка “)”. Внутри списка каждый экземпляр типа элемента должен быть закодирован, как требуется (согласно разделу 10) для каждого типа данных в EXPRESS.

Примечание — Если в конкретном экземпляре обьекга отсутствует значение для необязательного (OPTIONAL) атрибута, чей тип данных — LIST, атрибут должен быть закодирован знаком доллара как определено в 10.2.2. и это не пустой список.

Пример — Определение объекта в языке EXPRESS:

ENTITY widget;

attribute 1 :    LIST |0 : ?| OF INTEGER;-> A

attributed    : LIST |1 : ?| OF INTEGER:-> В

attributes    : OPTIONAL LIST 11 : ?J    OF INTEGER;-> С

attributed    : REAL;-> D

END.ENTITY:

Образец экземпляра объекта в секции данных:

#4 - WIDGET (О, (I. 2. 4), S. 2.56);

Л Л Л Л

А В С D

A: attribute I является пустым списком (список, содержащий нуль элементов). В: в этом экземпляре attribute 2 содержит три элемента.

С: в этом экземпляре attribute 3 не имеет значении.

D: в этом экземпляре attribute 4 имеет значение 2.56.

20

Страница 26

ГОСТ Р ИСО 10303-21-2002

10.1.3 Тип данных array (массив)

Значения данных в языке EXPRESS типа ARRAY должны быть отображены в структуру обмена как данные спискового типа. Раздел 7 описывает состав данных спискового типа. Если атрибут в языке EXPRESS я&тяется многомерным массивом, он должен бьпь закодирован как список списков, вложенный на глубину, равную размерности массива. В создании таких списков самый внутренний список, содержащий только экземпляры типа элемента, должен соответствовать самому правому из определений ARRAY в операторе языка EXPRESS, определяющем обьект. Упорядочение элементов при кодировании осуществляется так, что для каждого элемента следующего внешнего списка кодируются элементы внутреннего списка. Данный порядок означает, что в каждом списке самый правый индекс будет изменяться первым. Внутри списка каждый экземпляр типа элемента должен быть закодирован, как требуется (согласно разделу 10) для каждого типа данных в EXPRESS. Если тип данных массива имеет необязательные (OPTIONAL) элементы, любой элемент, для которого отсутствует значение, должен быть закодирован таком доллара

Примечание — Если в конкретном экземпляре объекта отсутствует значение для необязательного (OPTIONAL) атрибута, тип данных которою ARRAY, этот атрибут должен быть закодирован знакаи доллара (“S"). как определено в 10.2.2, и это не пустой список.

Пример! — Определение объекта в EXPRESS:

X : ARRAY |1:5| OF ARRAY 1100:102) OF INTEGER:

Эго кодируется в следующем порядке:

((XII. 100|, X |1. 1011, X 11, 102| ).

(X 12. 100), X |2, 101), X |2. 102) ),

(X |3. 100|, X |3, 1011, X |3. 102| ),

(X |4. 100), X |4. 1011. X |4. 102) ),

(X |5, 100|, X (5, 101). X |5. 102) ))

П р и м е р 2 — Определение обьскта в языке EXPRESS:

ENTITY widget;

attribute 1: ARRAY |-l : 3| OF INTEGER;->    A

attributed : ARRAY |l : 5) OF OPTIONAL    INTEGER: ->    В

attributes : ARRAY 11 : 2) OF ARRAY 11 :    3|    OF    INTEGER:->    С

END_ENT1TY;

Образец экземпляра объекта в секции данных:

«30 = WIDGET «I, 2. 3, 4, 5), (1, 2. 3, S, 5). «I. 2. 3), (4. 5. 6)));

Л    Л    л

А    В    С

А : attribute 1 содержит следующие значения: attribute I |-11 = 1 attribute I )0| ~ 2 attribute I |1| = 3 attribute I |2| =■ 4 attribute I |3| - 5

В : attribute2 содержит следующие значения: altribute2 |l| ■= I attributed |2) * 2 altributc2 |3| « 3 attributed |4| = отсутствует attributed |5) ■= 5

Пропуск значения в массиве предусмотрен в определении EXPRESS-схемы.

С : attribute3 содержит следующие значения: attributes 11,1) w 1 attributes 11.2) * 2 attribute.’ j 1,3) = 3

21

Страница 27

ГОСТ Р ИСО 10303-21-2002

attribute.! |2,1| = 4 attributes |2,2| = 5 attribute.! |2.3| ** 6

10.1.4    Тип данных set (набор)

Значения данных в языке EXPRESS типа SET должны быть отображены в структуру обмена как данные спискового типа. Раздел 7 описывает состав данных спискового типа. Внутри списка каждый экземпляр типа элемента должен быть закодирован, как требуется (согласно разделу 10) для каждого типа данных в EXPRESS. Если SET пустой, список должен кодироваться как левая скобка “(”, за которой сразу следует правая скобка “)".

Примечание — Если в конкретном экземпляре объекта отсутствует значение для необязательного (OPTIONAL) атрибута, чьим типом данных является SET, этот атрибут должен быть закодирован таком дамара "S'\ как определено в 10.2.2, и это не пустой список.

Пример — Определение объекта в языке EXPRESS:

ENTITY widget:

a.number: SET OF INTEGER:

END.ENTITY;

Пример экземпляра объекта в секции данных:

Р2 « WIDGET ((0.    I.    2));->    А

#3 - WIDGET ((0,    $,    2»;->    В

»4 « WIDGET ((0.    0.    2)):->    С

А: в этом экземпляре    атрибут a_numbcr определен набором чисел 0. I, 2.

В: синтаксически экземпляр правилен. Однако экземпляр неправилен относительно определения SET в EXPRESS, поскольку SET не может иметь пропущенных элементов.

С: синтаксически экземпляр правилен. Однако экземпляр неправилен относительно определения SET в EXPRESS, поскольку SET не может иметь одинаковых элементов.

10.1.5    Тип данных bag (мультимножество)

Значения данных в языке EXPRESS типа BAG должны быть отображены в структуру обмена как данные спискового типа. Раздел 7 описывает состав данных спискового типа. Внутри списка каждый экземпляр типа элемента должен быть закодирован, как требуется (согласно разделу 10) для каждого типа данных в EXPRESS. Если BAG пустое, список должен кодироваться как левая скобка “С, за которой сразу следуют правая скобка

Примечание— Если в конкретном экземпляре объекта отсутствует значение для необязательного (OPTIONAL) атрибута, чьим типом данных является BAG. атрибут должен быть закодирован зкаком доллара “8й, как определено в 10.2.2. и эго не пустой список.

Г1 р и мер — Определение объекта в языке EXPRESS:

ENTITY widget:

a_numben> : BAG OF INTEGER;

END_ENTITY:

Пример экземпляра объекта в секции данных:

*2 - WIDGET ((0. 1,1, 2)):-> А

«3 = W1DGET ((0. $, 2)):-> В

А: В этом экземпляре атрибут a_numben> определен набором чисел 0, 1, 1,2.

В: Синтаксически экземпляр правилен. Однако экземпляр неправилен относительно определения BAG в EXPRESS, поскольку BAG не может иметь пропущенных элементов.

10.1.6    Простые определенные типы

Простой определенный тип является типом, определяемым объявлением EXPRESS-типа, в котором опорным типом не является перечисляемый тип (ENUMERATION) или выбираемый тип (SELECT). Простой определенный тип должен быть отображен в структуру обмена как тот тип данных, который использовался в его определении.

Пример — Определение объекта в языке EXPRESS:

TYPE

type I = INTEGER;

END_TYP£:

22

Страница 28

ГОСТ Р ИСО 10303-21-2002

TYPE

ivpe2 - LIST 11:21 OF REAL:

ENDJTYPE;

ENTITY widget;

attribute 1    :    LOGICAL:-> A

attribute 2    :    TYPE I; -> В

attribute 3    :    TYPE2; -> С

END_ENTITY:

Пример экземпляра объекта в секции данных: Л4 » WIDGET (.Т., 256. (1.0. 0.0));

Л Л Л

ABC

А: В лом экземпляре значением атрибута attribute 1 является TRUE (истна).

В: Туре 1 является целым типом и, следовательно, значение 256 допустима.

С: Туре 2 является списком и, следовательно, список из двух вещественных (REAL) элементов допустим.

10.1.7 Тип данных enumeration (перечисление)

Значения данных в языке EXPRESS типа ENUMERATION должны быть отображены и структуру обмена как перечисляемый тип данных. В 6.3.5 описано содержание перечисляемого типа данных.

Если документ, определяющий конкретную схему, экземплярами которой является предмет этой секции данных, задающий набор сокращенных наименований для перечисляемых значений в этой схеме, тогда фактическим значением конкретного экземпляра перечисления (ENUMERATION) может быть сокращенное наименование, соответствующее одному из перечисляемых значений в данной EXPRESS-схеме. В противном случае фактическим значением должно быть одно из перечисляемых значений в EXPRESS-схеме. В любом случае строчные буквы должны быть преобразованы в прописные буквы, а значение ограничено отделенными /почками    как это определено в выводе

ENUMERATION в таблице 2.

Пример — Определение объекта в языке EXPRESS:

TYPE

primary_co!orur = ENUMERATION OF (rcd. green, blue);

END_TYPE;

ENTITY widget;

p_colour : primary colour;-> A

END_ENTITY;

Пример экземпляра объекта в секции данных:

»2 - WIDGET (.RED.);

л

А

А: В этом экземпляре объекта значением атрибута p_colour является RED.

10.1.К Выбираемый тип данных

Выбираемый тип данных в языке EXPRESS определяет список типов данных, называемый “список-выбора” (“select-list”), значениями которого являются правильные экземпляры данных выбираемого типа. Экземпляр данных выбираемого типа должен быть значением по меньшей мере одного из типов данных в списке-выбора:

-    если значение является экземпляром типа данных объекта в списке-выбора, оно должно быть отображено в структуру обмена как имя экземпляра объекта (см. 6.3.4);

-    если значение я&тяется экземпляром простого определяемого типа в списке-выбора, оно должно быть отображено в структуру обмена как TYPED PARAMETER (см. таблицу 3), в котором KEYWORD должно обозначать простой определяемый тип, как определено ниже, a PARAMETER должен быть кодированием значения простого определяемого типа, как определено в 10.1.6;

23

Страница 29

ГОСТ Р ИСО 10303-21-2002

-    если значение является экземпляром перечисляемого типа данных в списке-выбора, оно должно быть отображено в структуру обмена как TYPED PARAMETER (см. таблицу 3), в котором KEYWORD должно обозначать перечисляемый тип данных, как определено ниже, a PARAMETER должен быть кодированием значения перечисляемого типа данных, как определено в 10.1.7;

-    если значение является экземпляром (вложенного) выбираемого типа данных, оно должно быть отображено в структуру обмена в виде экземпляра выбираемого типа, как указано в данном разделе.

Для экземпляров простых определяемых типов и перечисляемых типов данных KEYWORD должно обозначать тип данных экземпляра. Обозначенный тип данных должен быть одним из типов в списке-выбора. Ест документ, определяющий схему, экземпляры которой являются предметом секции данных, также определяет набор сокращенных имен простых определяемых и перечисляемых типов в данной схеме, KEYWORD должно быть сокращенным именем, соответствующим типу данных экземпляра. В противном случае KEYWORD должно быть самим именем простого определяемого типа или перечисляемого типа данных. В обоих случаях все строчные буквы должны быть преобразованы в соответствующие прописные буквы, т.е. кодирование не должно содержать строчных букв.

Примечания

1    Если имеется тип ланных (в списке-выбора). значениями экземпляров которого является сам выбираемый тип данных, тогда настоящий пункт должен быть использован рекурсивно для кодирования значения. Реально могут быть закодированы только типы данных объекта, простые определяемые типы и перечисляемые типы данных (см. пример 2).

2    В соответствии с ГОСТ Р ИСО 10303-11 экземпляр подтипа типа данных объекта является экземпляром типа данных объекта. Так. “экземпляр типа данных объекта в списке-выбора" включает в себя экземпляры подтипов соответствующих типов данных объекта.

3    Если типы данных объекта в списке-выбора не являются взаимоисключающими, тогда значение выбираемого типа данных может быть приписано нескольких! типам данных объекта в списке-выбора (см. пример 1).

4    Если значение не является экземпляром объекта, то оно является экземпляром простого определяемого типа или перечисляемого типа данных. Однако значение может быть фактическим экземпляром нескольких (вложенных) выбираемых типов данных и. следовательно, приписываться нескольким типам в исходном списке-выбора (см. пример 2).

11 р и м с р 1 — Определение объекта в языке EXPRESS:

ENTITY Leader SUBTYPE OF (Employee); project: STRING;

END_ENTITY:

ENTITY Manager SUBTYPE OF (Employe): unit: STRING;

END_ENT1TY:

ENTITY Employee; name: STRING;

END.ENT1TY:

TYPE Supervisor * SELECT (Manager, Leader):

END_TYPE;

ENTITY Meeting: date: STRING;

attendees: SET |2:?J OF Supervisor,

END.ENT1TY:

Обралш экземпляров секции данных:

#1 ш LEADER (*J. Brahms’, 'Academic Festival');

»2 * MANAGER (’S. Ozawa*, ‘Tokyo Symphony*);

#3 « (EMPLOYEE ('G. Verdi') LEADER (*Aida ) MANAGER (*La Scala*));

*4 - MEETING (’14921012*, (#1, #2, «3)):

Вторым атрибутом экземпляра *4 являются участники: SET OF Supervisor. Экземпляром «I является Leader, и поэтому Supervisor верен. Экземпляром «2 является Manager, и поэтому Supervisor верен. Экземпляр #3 является экземпляром двух типов Leader и Manager из списка-выбора Supervisor. Все экземпляры отображаются согласно 6.3.4.

П р и м с р 2 — Определение объекта в языке EXPRESS:

TYPE Mass *» SELECT(Mass_Spcc. Mass Substitute):

24

Страница 30

ГОСТ Р ИСО 10303-21-2002

END_TYPE;

TYPE Mass Spec = SELECT(Mcasurcd_Mass, Сотри ted _M ass, Estimatcd_Mas»);

END_TYPE;

TYPE Measured Mass = REAL:

END_TYPE;

TYPE Computcd Mass = Extended Real: ENDTYPE; TYPE Estimated_Mass = REAL;

END_TYPE;

TYPE Mass_Subsitute = SELECT (Weight. Estimatcd_Mass):

END_TYPE:

TYPE Weight = REAL:

END_TYPE;

TYPE Exteiidcd_Real - SELECT (FloatingNumber. NotaNumbcr):

END_TYPE;

TYPE FloatingNumber ■» REAL(7);

END_TYPE:

TYPE NotaNumber = ENUMERATION OF (plus infinity, minus_infinity, indeterminate. invalid); END_TYPE;

ENTITY Steel_Bar; bar_length: Extended_Real: bar_mass: Mas»;

END_ENTITY:

Образец конкретизации секции данных:

#1 - STELL_BAR(FLOATINGNUMBER(77.0). MEASURED.MASS (13.25));

»2 = STELL_BAR(NOTANUMBER<.INDETERMINATE.).

ESTIMATED_MASS (10.0)); n3 « STEEL_BAR<FLOATI NGN UMBER< 77.0).

COMPUTED_MASS(FLOATINGNUMBER( 14.77719)));

Первый атрибут экземпляра «1 предстаатяет значение Extcnded__Real. которое является FloatingNum-ber. Оно отображается (согласно 10.1.8 для выбираемого типа данных Extended_Rcal) как TYPED_PARAME-TER с KEYWORD FLOATINGNUMBER (простой определяемый тип в списке-выбора). Значение 77.0 PARAMETER отображается в структуру обмена, согласно 10.1.6 для FloatingNumber, как значение простого типа REAL.

Второй атрибут экземпляра «1 предстаатяет значение Measure_Mass, которое является правильным значением MassSpec и поэтому также правильным значением Mass. Оно отображается (посредством рекурсивного применения 10.1.8. поскольку Mass является выбранным типом данных, a Mass_Spcc — выбираемым типом данных) как IYPED_PARAMETER с KEYWORD MEASURED_MASS (простои определяемый тип в списке-выбора). Значение 13.25 PARAMETER отображается в структуру обмена, согласно 10.1.6 для Меа-surc Mass. как значение простого типа REAL.

Первый атрибут экземпляра «2 представляет значение Extcndcd_Real, являющееся значением NotaNumbcr. Оно отображается (согласно 10.1.8 для Extcndcd_Real) как TYPED_PARAMETER с KEYWORD NOTANUMBER (перечисляемый тип в списке-выбора). Значение "indeterminate” PARAMETER отображается в структуру обмена согласно 10.1.7 как перечисляемый тип NotaNumbcr.

Второй атрибут экземпляра «2 иредегаазяет значение Estimatcd_Mass. Оно яачяется правильным значением Mass Spec. а также правильным значением MassSubsitute и поэтому правильным значением Mass. Эго значение фактически представлено двумя (выбираемыми) типами в списке-выбора Mass. Оно отображается (посредством рекурсивного применения 10.1.8, поскольку Mass является выбранным типом данных, а Mass_Spec — выбираемым типом данных) как TYРЕD PARAМЕТЕR с KEYWORD ESTI.MATED_.MASS (простой определяемый тип в списке-выбора). Значение 10.0 PARAMETER отображается в структуру обмена, согласно 10.1.6 для Estimatcd_Mass. как значение простого типа REAL

Первый атрибут экземпляра “3 тот же, что и первый атрибут экземпляра «1.

Второй атрибут экземпляра «3 представляет значение Computed_Mass. которое является правильным значением Mass_Spcc и поэтому правильным значением Mass. Оно отображается (посредством рекурсивного применения 10.1.8, поскольку Mass яачяется выбранным типом данных, a Mass_Spec — выбираемым типом данных) как TYPED_PARAMETER с KEYWORD COMPUTED_MASS (простой определяемый тип в списке-выбора). Значение PARAMETER кодируется, согласно 10.1.6 для значения Computcd_Mass, которое является значением Extendcd_Rcal. Extendcd_Rcal яашется выбранным типом данных. Согласно 10.1.8 значение Extended_Real колируется как TYPED_PARAMЕТЕR с KEYWORD FLOATINGNUMBER (простой определяемый тин в списке-выбора) и как значение 14.77719 PARAMETER, кодируемое согласно 10.1.6 для FloatingNumber.

25

Страница 31

ГОСТ Р ИСО 10303-21-2002

10.2 Отображение типов данных объекта из языка EXPRESS

Экземпляр типа данных объекта из EXPRESS должен быть отображен в структуру обмена как ENT1TYJNSTANCE.

Как определено п ГОСТ Р ИСО 10303-11. “экземпляр простого объекта” (“simple entity instance") я&тяется экземпляром объекта, не являющегося экземпляром подтипа какого-либо типа данных объекта. Все прочие экземпляры объекта называются “экземплярами сложного объекта” (“complex entity instances-’). Экземпляр простого объекта должен быть отображен согласно 10.2.1. а экземпляр сложного объекта — согласно 10.2.5.

Примечание — Экземпляр простого объекта является экземпляром объекта, который полностью описывается единственным объявлением объекта в EXPRESS. Экземпляр сложного объекта является экземпляром, описание которого включает в себя несколько объявлений объекта, даже если только одно и j них содержит явные атрибуты. Экземпляр простого объекта может быть экземпляром сунертииа, пока последний не является экземпляром какого-либо подтипа, но экземпляр подтипа всегда является «сложным*.

Только явные атрибуты объекта в EXPRESS отображаются в структуру обмена. Специальные средства, однако, применяются к необязательным (OPTIONAL) явным атрибутом (см. 10.2.2). явным атрибутам, значениями которых являются экземпляры объекта (см. 10.2.4), и всем переобъявлениям явных атрибутов (см. 10.2.6—10.2.8).

Примечание— К одному и тому же атрибуту может быть применено несколько средств.

10.2.1 Отображение экземпляра простого объекта

Экземпляр простого объекта должен быть отображен в структуру обмена как S1MPLEJEN-T1TY_1NSTANSE. Имя типа данных объекта должно быть отображено в KEYWORD для S1M-PLE_RECORD, как определено в 10.2.11.

Каждый явный атрибут должен быть отображен непосредственно в PARAMETER для S1MP-LE_RECORD в структуре обмена. Порядок параметров (PARAMETER) в структуре обмена должен быть тем же, что и порядок соответствующих атрибутов в объявлении объекта в EXPRESS. Первый PARAMETER должен быть значением первого явного атрибута, второй PARAMETER - значением второго явного атрибута и т.д. Если тип данных объекта в EXPRESS не имеет явных атрибутов, список параметров (PARAMETER_L1ST) должен быть пустым.

Форма каждого PARAMETER должна зависеть от типа данных соответствующего атрибута, как определено в 10.1.

Пример — Определение в языке EXPRESS:

TYPE

primarv_colour_abbrcviation ■= ENUMERATION OF (r. g, b);

ENDJTYPE;

ENTITY widget: -

—> А —> В —> С —> D —> Е —> F —> G —> Н —> I

attribute I: INTEGER;-

attribute2: STRING; -

attribute.!: LOGICAL: -

attributed BOOLEAN:-

attributes: REAL;-

attributed LIST (I : 2| OF LOGICAL:-

attribute?: ARRAY |-l : 3| OF INTEGER;-

attributes: PRIMARY_COLOUR_ABBREVlATION;

END.ENTITY:

Образец экземпляра объекта в секции данных:

£1 *» WIDGET(1, *А\ .Т., .F.. 1.0. (.T.,.F.). (1.0, 1,2, 3), R ):

Л    Л Л    А    Л    Л    л    А    Л

А    В С    D    Е    F    G    Н    I

А: имя объекта widget из EXPRESS отображается в стандартное ключевое слово WIDGET объекта секции данных:

26

Страница 32

ГОСТ Р ИСО 10303-21-2002

В: в этом экземпляре объекта attribute 1 имеет значение I;

С: в этом экземпляре объекта attributed имеет значение А;

D: в этом экземпляре объекта attributed имеет значение Т (истина):

Е: в этом экземпляре объекта attributed имеет значение F (ложь);

F: в этом экземпляре объекта attribute5 имеет значение 1.0:

G: в этом экземпляре объекта attributed является списком логических переменных. Список значений: ATTRIBUTED) - Т ATTR1BUTE6(2) - F

Н: в этом экземпляре объекта attribute? является массивом целых. Список значений:

ATTRIBUTE7(-I) - 1 ATTRIBUTE7(0) - 0 ATTRIBUTE7( I) = 1 ATTRIBUTE7(2) - 2 ATTRIBUTE7(3) - 3

I: в этом экземпляре объекта attributes является перечислением, attributes имеет значение R.

10.2.2 Отображение необязательных (OPTIONAL) явных атрибутов Явный атрибут, объявленный как OPTIONAL, не обязан иметь значение в заданном экземпляре объекта. Если необязательное значение поставляется в экземпляре объекта, оно должно быть закодировано в соответствии с типом данных атрибута, как определено в 10.1. Когда необязательное значение атрибута отсутствует в экземпляре объекта, оно должно быть закодировано в структуре обмена как знак даиара “S”.

Пример — Определение объекта в языке EXPRESS:

ENTITY ххх:

attribute 1: REAL; attribute2 : REAL;

END_ENTITY:

ENTITY yyy;-> A

attribute I : OPTIONAL LOGICAL;-> В

attributed : ххх;-> С

attributed : xxx;-> D

attributed : OPTIONAL INTEGER;-> E

attribute5 : OPTIONAL REAL;-> F

END_ENT1TY:

Образен экземпляров объекта в секции данных:

#1 - XXX (1.0, 2.0);

«2 ~ XXX (3.0. 4.0);

#3 - YYY ($. «2, «I, S, S);

Л А Л Л Л Л

А В С D Е F

А: имя объекта ууу в EXPRESS отображается в стандартное ключевое слово YYY объекта секции данных; В: в ЭТОМ экземпляре объекта attributel не имеет значения;

С: attribute2 является ссылкой на объект ххх экземпляром объекта #2;

D: attribute3 является ссылкой на объект ххх экземпляром объекта #1;

Е: в этом экземпляре объекта attributed не имеет значения:

F: в этом экземпляре объекта attribute5 не имеет значения.

10.2.3 Отображение вычисляемых атрибутов

Вычисляемые атрибуты объекта не должны отображаться в структуру обмена. Когда вычисляемый атрибут в подтипе переобъявляется как атрибут в су пертипе, отображение должно происходить, как описано в 10.2.6.

Пример — Определение объекта в я шке EXPRESS:

ENTITY yyy. q0 : REAL: ql : REAL: q2 : REAL:

END_ENTITY;

27

Страница 33

ГОСТ Р ИСО 10303-21-2002

ENTITY ххх:->    А

рО : ууу;->    В

pi : ууу;->    С

р2 : ууу;->    D

DERIVE

attrib5 : vector : = func_normal (pO, pi. p2); -> E

attrib4 : real : = func_diamctcr (pO. pi. p2);-> F

END_ENT1TY:

Образец экземпляров объекта в секции данных:

*9 - YYY(0.0, 0.0. 0.0):

#I0-YYY(I.0, 2.0, 3.0);

#11 - YYY(4.0, 5.0. 6.0);

*12 = ХХХ(»9. #10. #11);

А В С D

А: имя объекта ххх в EXPRESS отображается в стандартное ключевое слово XXX объекта секции данных;

В: рО является ссылкой на объект ууу экземпляром объекта *9;

С: pi является ссылкой на объект ууу экземпляром объекта 310;

D: р2 является ссылкой на объект ууу экземпляром объекта #11;

Е: attnb5 в лом экземпляре объекта не отображается, поскольку он является вычисляемым атрибутом;

F: attrib4 в этом экземпляре объекта не отображается, поскольку он является вычисляемым атрибутом.

10.2.4    Отображение атрибутов, значения которых являются экземплярами объектов

Если экземпляр объекта определен как атрибут другого (ссылающегося на него) экземпляра объекта, первый (на который ссылаются) экземпляр объекта должен быть отображен в структуру обмена как имя экземпляра объекта (см. 6.3.4). Ссылка на этот экземпляр объекта может быть внутри секций данных, то есть где-то в пределах секций данных экземпляр объекта, на который ссылаются, должен быть указан слева от знака равенства Это определение может предшествовать применению экземпляра объекта в качестве атрибута или следовать за ним. Его описание не должно входить в эту секцию в качестве атрибута используемого экземпляра объекта.

Примечание— В приложении F описаны методы опенки соот ветствия схемы при наличии в структуре обмена нескольких секций данных, основанных на разных EXPRESS-схемах. включая ссылки между экземплярами объектов, определенных в этих секциях на основе разных EXPRESS-cxcm.

11 р и м с р — Определение обьскта в языке EXPRESS:

ENTITY ууу; х : REAL; v : REAL; г : REAL:

END.ENT1TY:

ENTITY ххх:

p0 : ууу;-> A

pi : ууу;-> В

END_ENT1TY;

Образец экземпляра объекта в секции данных:

#1 ” YYY (3., 4.. 5.);

»2 - XXX («1. #3):

#3 « YYY (I., 2., 3.);

10.2.5    Объе кты, определенные как подтипы других объектов

ГОСТ Р ИСО 10303-11 определяет экземпляры объекта, имеющего раздел SUBTYPE (подтип), являющийся “экземплярами сложных объектов”, так. что они могут включать в себя атрибуты из нескольких объявлений типов объектов. В настоящем пункте определено, как экземпляры сложных объектов должны быть отображены а структуру обмена.

Страница 34

ГОСТ Р ИСО 10303-21-2002

Экземпляры сложного объекта должны быть отображены в структуру обмена на основе одного из двух правил: внутреннего отображения или внешнего отображения. К каждому экземпляру подтипа объекта должно быть применено одно правило отображения.

Примечан и я

1    Выбор отображения зависит в большей мере ог экземпляра объекта, чем от его типа. Для разных экземпляров одного и того же типа данных объекта возможно использование разных отображений в зависимости or того, являются ли они экземплярами подтипов и какие подтипы они представляют.

2    Настоящий пункт применим только к экземплярам сложного объекта. Нет необходимости применять его к каждому экземпляру объекта супертипа. В частности, он не применяется к экземпляру супертипа, который не является экземпляром любою подтипа. Такие экземпляры могут существовать, если супсртип не является абстрактным супергипом и подтипом какого-либо другого объекта. Такие экземпляры отображают согласно 10.2.1.

Правило отображения, которое следует использовать для каждого экземпляра объекта, выбирают в зависимости от класса соответствия, выбранного для реализации. Ятя реализаций с классом соответствия I выбор отображения описан в 10.2.5.1. Для реализаций с классом соответствия 2 для всех экземпляров сложных объектов должно быть использовано внешнее отображение, описанное в 10.2.5.3.

10.2.5.1    Выбор отображения по умолчанию

Набор определений типа данных объекта, которые связаны выражениями подтипа и явного или неявного супертнпа. определяет набор структур экземпляров сложного объекта, на который ссылаются как на определяемое множество в приложении В ГОСТ Р ИСО 10303-11. Каждый член определяемого множества устанавливает список имен типов данных объектов.

Каждый конкретный экземпляр типа данных объекта соответствует одному элементу определяемого множества. Отображение, применяемое к конкретному экземпляру, зависит от члена определяемого множества, которому соответствует экземпляр.

Для того чтобы установить, какое из правил отображения надо применить к данному экзем-пляру объекта:

a)    определяют список имен типов данных объекта, который становится элементом определяемого множества, соответствующим экземпляру объекта;

b)    отбирают из списка все типы объектов, не имеющие подтипы, и все типы объектов, которые могут иметь подтипы, но для которых не определены подтипы в списке (члене определяемого множества) для данного экземпляра:

c)    в случае определения только одного типа данных объекта его следует считать “конечным типом данных объекта” (“leaf entity data type"), и должно быть применено внутреннее отображение. В противном случае должно быть использовано внешнее отображение.

Примечание — При реализации положения Ь) должен быть отобран по меньшей мере один тин объекта.

10.2.5.2    Внутреннее отображение

Если используется внутреннее отображение, экземпляр объекта должен быть отображен в SIMPLE_ENTITY_ INSTANCE (см. таблицу 3). Ключевое слово (KEYWORD) должно быть именем конечного типа данных объекта, как указано в 10.2.11. Список параметров (PARAMETER_L1ST) должен содержать значения унаследованных явных атрибутов всех обьектов супертипа и явных атрибутов конечного типа данных объекта. Порядок, в котором унаследованные и явные атрибуты будут появляться в структуре обмена, должен быть определен следующим образом:

-    все унаследованные атрибуты должны появляться последовательно перед явными атрибутами любого объекта;

-    атрибуты объекта супертипа должны наследоваться в порядке их появления в самом объекте супертнпа;

-    если объект супертипа сам является подтипом другого объекта, атрибуты более высокого супертнпа должны наследоваться первыми;

-    когда указано несколько объектов супертнпа. атрибуты объектов супертипа должны быть обработаны в порядке, определенном в выражении SUBTYPE OF.

В результате этой процедуры на объект супертнпа может быть несколько ссылок. В этом случае все ссылки, кроме первой, должны быть игнорированы.

29

Страница 35

ГОСТ Р ИСО 10303-21-2002

Пример 1 — Простое отношение подтип/супсртип. Определение объекта в языке EXPRESS:

ENTITY аа ABSTRACT SUPERTYPE    OF    (ONEOF(bb, cc)>;-> A

attrib_a : xl\-> В

END_ENTITY:

ENTITY bb SUBTYPE OF (aa)

ABSRTACT SUPERTYPE    OF    (ONEOF(xx)); -> С

altrib_bl : yy;-> D

attrib_b2 : yy; -> E

END_ENT1TY:

ENTITY со SUBTYPE OF (aa);

attrib_c : REAL;

END_ENTITY:

ENTITY xx SUBTYPE OF (bb);

attrib_x : REAL;-> F

END_ENTITY;

ENTITY гг;

attrib_z: STRING;

END_ENTITY;

ENTITY yy

attrib_i : REAL: atlrib_2 : REAL; attrib_3 : REAL;

END_ENT1TY;

Образец экземпляра объекта типа ланных объекта хх в секции данных:

«I - ZZ(ZATTR );

«2 *=» YY(I.O, 2.0. 0.0);

#3 - YY (2.0, 2.0. 0.0);

«4->ХХ(01. «2. ЯЗ. 4.0);

А А А А

В D Е F

А: поскольку объект аа является абстрактным суиертииом. он не отображается в структуру обмена;

В: атрибут attrib_a будет отображен в секции данных как унаследованный атрибут тою объекта, который прямо или косвенно является подтипом объекта аа. В этом случае attrib_a представлен первым атрибутом экземпляра объекта хх и ссылается на гг экземпляр объекта «I;

С: поскольку объект bb валяется абстрактным супертипом, он не отображается в структуре обмена;

D: атрибут attrib_bl будет отображен в секции данных как унаследованный атрибут объекта, который прямо или косвенно является подтипом объекта bb. В этом случае attrib_bl представлен вторым атрибутом экземпляра объекта хх и ссылается на vv — экземпляр объекта #2;

Е: атрибут attrib_b2 будет отображен в секции данных как унаследованный атрибут объекта, который прямо или косвенно является подтипом объекта №. В этом случае attrib_b2 представлен третьим атрибутом экземпляра объекта хх и ссылается на уу — экземпляр объекта «3;

F: атрибут attrib_x представлен своим значением 4.0.

П ример 2 — Отображение супертипа, который не является абстрактным (ABSTRACT) супертипом.

Определение объекта в языке EXPRESS:

ENTITY аа SUPERTYPE OF (ONEOF(bb, dd));-> A

attrib_a : STRING;

END_ENTITY;

ENTITY bb SUBTYPE OF (aa);->    В

aitrib_b : INTEGER:

END_ENTITY;

ENTITY cc SUBTYPE OF (bb);->    С

aurib_c : REAL:

END_ENTITY;

ENTITY dd SUBTYPE OF <aa);->    D

attrib_d : REAL:

END_ENTITY;

ENTITY ее:->    E

30

Страница 36

ГОСТ Р ИСО 10303-21-2002

attrib_c : аа;

END_ENT1TY:

Образец Экземпляра объекта в секции данных:

яI “ АА ( SAMPLE STRING ): -> А

»2 - ВВ )’АВС‘);-> В

«3 - СС CDEF, 123): -> С

#4 - DDCXYZ’. 99.99);-> D

*5 - ЕЕ(я|):-> Е

яб - ЕЕ (#2);-> Е

»7 - ЕЕ(аЗ): -> Е

#8 - ЕЕ(«4): -> Е

А: поскольку объект аа не является абстрактным супсртипом, он может присутствовать в структуре обмена. Объект имеет только один атрибут attrib_a. когда присутствует в структуре.

В: объект bb является полтипом аа и, следовательно, его экземпляры будут содержать атрибуты и аа, и ЬЬ. но так как объект bb не определяет все атрибуты, в данном атрибуте должен присутствовать только список параметров attrib_a.

С: объект сс является подтипом bb и. следовательно, его экземпляры будуг содержать атрибуты аа, ЬЬ и сс.

D: объсктск! является подтипом аа и, следовательно, его экземпляры должны содержать атрибуты объектов аа и ЬЬ.

ПримерЗ — Отображение объекта с несколькими супертипами в выражении SU BTYPE OF. Определение объекта в языке EXPRESS.

ENTITY base SUPERTYPE OF (branch_one. brabch_two):-> A

attrib a : STRING;

END_ENTITY:

ENTITY brabch one SUBTYPE OF (base);->    В

attrib_b: INTEGER;

END_ENT1TY:

ENTITY brabch.lwo SUBTYPE OF (base); ->    C

attrib_c : BOOLEAN:

END_ENTITY:

ENTITY leaf SUBTYPE OF (branch one. brabchjwo);->    D

attrib_d : REAL;

END_ENTITY:

Образец экземпляра объекта в секции данных:

#1 - BASEfSAMPLE STRING');-> А

«2 - BRABCH_ONE('ABC\ 123); -> В

#3 - BRABCH_TWO(*DEF\ .Т.);-> С

«4 - LEAFCXYZ’. 123, .Т., 99.99): -> D

А: Объект не имеет супертипов. При внесении в структуру обмена список его параморов должен содержать только значение атрибута attrib_a.

В: объект branch_onc является подтипом основного типа. При внесении в структуру обмена список сто параметров должен содержать унаследованные атрибуты, следующие за атрибутом branch_one.

С: объект branch_two является подтипом основного типа. При внесении в структуру обмена список его параметров должен содержат ь унаследованные атрибуты, следующие за атрибутом branch_two.

D: объект перечисления, являющийся подтипом объектов branch_one и branch lwo. При внссенттп в структуру обмена список его параметров должен содержать унаследованные атрибуты branch_onc, включающие в себя атрибуты основного объекта, следующие за унаследованными атрибутами объекта branch_two. Атрибуты основного объекта должны быть описаны однократно при описании атрибутов bnmch_one. Они должны быть проигнорированы при конфликте с атрибутами объекта branchjwo.

10.2.5.3 Внешнее отображение

Если используется внешнее отображение, экземпляр объекта должен быть отображен в СОМ-PLEX_ENT1TY_INSTANCE (см. таблицу 3).

ГОСТ Р ИСО 10303-11 определяет “частное значение сложного объекта" (“partial complex entity value") как множество значений атрибутов, описанных единственным EXPRESS-объявлением объекта. Каждое имя типа данных объекта в элементе определяемого множества обозначает частное значение сложного объекта для данного экземпляра объекта. Таким образом, элемент определяемого множества обозначает множество частных значений сложного объекта, что, вместе с именем экземпляра объекта, полностью описывает заданный экземпляр объекта.

31

Страница 37

ГОСТ Р ИСО 10303-21-2002

Каждое частное значение сложного объекта, обозначаемое именем типа данных объекта в элементе определяемого множества, должно быть отображено в SIMPLE RECORD (единичная запись) внутри SUBSUPER RECORD. Порядок S1 MPLE_RECORD внутри SUBSUPER. RECORD должен быть возрастающей последовательностью имен типов данных объекта с использованием схемы упорядочения, приведенной в 5.2.

Каждая SIMPLE.,RECORD должна кодировать одно частное значение сложного объекта. KEYWORD в каждой SIMPLE_RECORD должно кодировать соответствующее имя типа данных объекта, как определено в 10.2.11, a PARAMETER LIST должен кодировать значения явных атрибутов, если таковые появляются в соответствующем объявлении объекта. Порядок PARAMETER в структуре обмена должен быть тем же, что и порядок соответствующих атрибутов в EXPRESS-объ-явлении объекта. Если EXPRESS-объявление объекта не содержит явных атрибутов, PARAME-TER_LIST должен быть пустым. Форма каждого PARAMETER должна зависеть от типа данных соответствующего атрибута согласно требованиям 10.1.

Г1 р и м с ч а н и я

1    Последовательность частных значений объекта (SI.V1PLE_REC0RD) определяется именем тина данных обьекта (гак называемым "длинным именем”), а не "сокращенным именем” (если таковое есть), которое может использоваться для кодирования.

2    Каждое частное значение объекта в определяемом множестве должно быть предстаатсно, включая супергипы, не имеющие явных атрибутов.

Пример! — Отображение подтипов, связанных посредством AN DOR.

Определение объекта в языке EXPRESS:

ENTITY base SUPERTYPE OF (bb AN DOR cc);-> A

attrib_a : STRING;

END_ENTITY;

ENTITY bb SUBTYPE OF (aa);-> В

attrib_b : INTEGER;

END_ENTITY:

ENTITY cc SUBTYPE OF (aa);-> С

attrib_c : REAL;

END.ENTITY;

ENTITY dd; -> D

aurib_d : aa;

END_ENT1TY;

Образец экземпляра объекта в секции данных:

«1 = BBfsamplc string’, 15); -> А

»2 - CC('S\ 3.0):-> В

#3 = (AA('ASTR1D‘)BB( 17)СС(4.0»; -> С

»4 = DD(#l); -> D

«5 - DD(#2); -> D

«6 = DD*3;-> D

*7 = AA(’ABC):-> E

A: #1 является экземпляром комбинации aa и bb.

В: #2 является экземпляром комбинации аа и сс.

С: #3 является экземпляром комбинации aa. bb и сс.

D: объект dd ссылается на обьект аа как на атрибут. Следовательно, экземпляр объекта dd может иметь разрешенные ссылки на любой из экземпляров «I, «2 или «3.

Е: аа не является абстрактным супсргииом и может быть представлен экземплярами, для которых применяется внутреннее отображение, поскольку в этом случае определяемое множество состоит только из одного элемента.

Пример 2 — Отображение более сложного графа подтип/супертии. Определение объекта в языке EXPRESS:

ENTITY х;

attrib_x : INTEGER:

END_ENTITY:

ENTITY a ABSTRACT SUPERTYPE OF (ONEOF(b. c));-> A

attrib_a : x;-> В

END_ENTITY:

ENTITY b SUPERTYPE OF (d ANDOR e);

Страница 38

ГОСТ Р ИСО 10303-21-2002

SUBTYPE OF (а);

attrib_b : REAL:-> В

END_ENT1TY;

ENTITY с SUBTYPE OF (a);-> С

attrib_c : REAL:

END ENTITY:

ENTITY d SUBTYPE OF (b); ->    D

attrib_d: x;

END_ENT1TY:

ENTITY с ABSTRACT SUPERTYPE

SUBTYPE OF (b);->    A

aitrib_c : x;->    В

END_ENT1TY;

ENTITY f SUPERTYPE OF (h);

attrib_f: x;->    В

END_ENTITY;

ENTITY g SUBTYPE OF <e):->    E

aitrib_g: INTEGER;

END_ENTITY;

ENTITY h SUBTYPE OF <c. I):->    E

attrib_h: INTEGER;

END.ENTITY;

А: поскольку обьекты а п e яыяюгся абстрактными суисртипами. они не могут присутствовать в структуре обмена н виде самостоятельных экземпляров.

В: поскольку attrib_a, attrib_b, attribc, и altrib_f являются атрибутами объектов супертипа. они будут отображены как унаследованные атрибуты в том случае, если при отображении подтипа применено внутреннее отображение. Эти атрибуты будут отображены как атрибуты объектов, в которых они обьяатсны. если подтип отображен с использованием внешнего отображения.

С: поскольку обьект с участвует в операторе ON EOF. а его супертил не участвует ни в каких операторах с суисртипами. для объекта с будет использовано внутреннее отображение.

D: отображение d зависит от структуры определяемого множества, в котором оно появляется.

Е: поскольку обьекты g и Л имеют супертип (объект е), который участвует в операторе AN DOR, их отображение будет зависеть от структуры определяемого множества, в котором они появились.

3    Экземпляр объекта, показывающий внутреннее отображение.

»\ =Х(1);

»2 - С(#1, 2.0):

л л А

I

ABC

А: определяемым множеством для '#2' является |с & а| и. следовательно, используется внутреннее отображение.

В: attrib_a унаследован типом данных объекта с. Определяемое множество является ссылкой на экземпляр типа данных объекта х.

С: attrib_c появляется после всех унаследованных атрибутов.

4    Экземпляр объекта, показывающий внутреннее отображение.

Я4 = Х(3);

«1 - Х<1):

»2 « D(#I. 2.0. «4);

Л Л А Л

А В С D

А: поскольку экземпляр объекта #2 принадлежит определяемому множеству |а & b & d|, которое имеет точно одну вершину (d), он отображается внутренним образом.

В: атрибут объекта а с именем attnb a унаследован типом данных объекта d.

С: attrib_b унаследован типом данных объекта d.

D: attrib_d является последним атрибутом в экземпляре d потому, что атрибуты, унаследованные от объектов суиертииа а и Ь. появляются первыми.

Страница 39

ГОСТ Р ИСО 10303-21-2002

5 Экземпляр объекта, показывающий внешнее отображение.

#1 -Х(1);

#2 - (А(яI) В(9.0) D(#l) E(*l) F(#I) Н(4));-> А

А: поскольку экземпляр объекта «2 является членом |а & b & d & с & f & h| и это определяемое множество оиенки имеет более олной вершины (листа) (d и h). используется внешнее отображение. Не существует единого имени типа данных объекта, которое может быть связано с объектом, скорее объект должен иметь составное имя a-b-d-e-f-h. Пробелы между записями объектов необязательны и добавлены в этом примере для того, чтобы облегчить чтение.

10.2.6    Я иные атрибуты, переобъявленные как DERIVE

Если объект подтипа переобъявляет атрибут своего супертипа с помощью оператора DERIVE, а исходный атрибут является явным, то значение исходного атрибута в супертипе должно кодироваться звездочкой

Пример — Определение объекта в языке EXPRESS:

ENTITY point: х : REAL: у : REAL: г : REAL:

END_ENTITY;

ENTITY point_on_curve SUBTYPE OF (point); u : REAL: с : curve;

DERIVE

SELF\point.x : real := fx(u, c);

SELF\point.y : real :■= fy(u, c);

SELFNpoint.z : real := fz(u, c):

END.ENTITY;

ENTITY curve: attr: STRING:

END_ENTITY:

Образец экземпляра объекта в секции данных:

#I » CURVECcurvcattribute');

*2 - POINT _ON_CURVE<*, *. *, 0.55. #1);-> А

«3 - P01NT(2.0, 3.0. 4.0);-> В

А: иоскатьку здесь используется подтип с вычисляемыми атрибутами, атрибуты х, у и z заменены звездочками.

В: поскольку POINT не является абстрактным супсртипом, в структуре обмена может присутствовать экземпляр POINT. Атрибуты х, у и z появляются как нормальные атрибуты.

10.2.7    Атрибуты, переобъявленные как INVERSE

Если объект подтипа переобъявляет атрибут своего супертипа с помощью оператора INVERSE, это не влияет на кодирование. Переобъявленный атрибут в любом случае не кодируют.

10.2.8    Атрибуты, переобъявленные как явные атрибуты

Если объект подтипа переобъявляет атрибут одного из своих супертипов как явный атрибут, т.е. не с помощью оператора INVERSE или DERIVE, это не влияет на кодирование.

Значение атрибута должно быть закодировано как атрибут супертипа (см. 10.2.5) с применением отображения, определенного в разделе 10 для типа данных атрибута в супертипе. Переобъя вленный атрибут должен игнорироваться, т.е. он не должен применяться в качестве атрибута подтипа для целей кодирования.

Пример — Определение объекта в языке EXPRESS:

ENTITY ааа SUPERTYPE OF (ONEOF (bbb. ccc)); al : NUMBER: a2 : curve;

INVERSE

a3 : SET OF mmm FOR ml;

END_ENTITY:

ENTITY bbb SUBTYPE OF (aaa);

SELF\aaa.al: INTEGER: b    :    REAL;

34

Страница 40

ГОСТ Р ИСО 10303-21-2002

END_ENT1TY;

ENTITY ссс SUBTYPE OF (ааа);

SELF\aaa.a2 : line;

INVERSE

SELF\aaa.a3 : SET (1:2) OF mmm FOR ml;

END_ENTITY;

ENTITY curve;

END_ENTITY:

ENTITY line SUBTYPE OF (cuivc);

END_ENT1TY;

ENTITY mmm;

ml : aaa;

END_ENT1TY:

Образцы экземпляров в секции ланных:

#1 ~ LINE(. . .);

*2 = CURVE(. . .);

»3 - ВВВП.О. «2, 0.5);

#4 - ССС0.5. #1,);

Для экземпляров #3 и #4 кодирование такое же. как если бы не было иерсобъявлясмых атрибутов в объектах bbb и ссс.

10.2.9 J1 окал ьи ые правила для объектов

Для объектов локальными являются правила WHERE и UNIQUE, которые не должны отображаться в структуру обмена.

Пример — Определение объекта в я шке EXPRESS:

ENTITY widget;-> А

а ; REAL;-> В

Ь : REAL;-> С

с ; REAL;-> D

WHERE

a«*2 + b**2*c**2 = 3.0;-> Е

END_ENT1TY;

Образе и экземпляра объекта в секции ланных;

Правила WHERE не представлены в экземпляре объекта.

42 *■ WIDGET(1.0, 1.0, 2.0);

Л А

А В С О

А: имя объекта widget на языке EXPRESS отображено в ключевое слово типа ланных объекта для объекта секции данных.

В; в экземпляре объекта атрибут а имеет значение 1.0.

С: в экземпляре объекта атрибут Ь имеет значение 1.0.

D: в экземпляре объекта атрибут с имеет значение 2.0.

Е: правило WH ERE не отображено в структуру обмена. Объект синтаксически правилен. Однако значения трех атрибутов не удовлетворяют правилу WHERE.

10.2.10    Отображение инверсных (INVERSE) атрибутов

Атрибуты, описанные в операторе INVERSE, не должны отображаться в структуру обмена.

10.2.11    Кодирование имен типов объектов

Если документ, определяющий схему, экземпляры которой являются предметом секции данных. определяет также и набор сокращенных имен для каждого типа данных объекта в схеме, то эти сокращенные имена должны быть использованы при кодировании имен типов данных объекта. В другом случае именами типов данных объекта при кодировании будут сами имена типов данных объекта. В обоих случаях все строчные буквы должны быть преобразованы в соответствующие прописные буквы, т.е. код не должен содержать никаких строчных букв.

35

Страница 41

ГОСТ Р ИСО 10303-21-2002

10.3    Отображение элемента EXPRESS для SCHEMA

Элемент EXPRESS для SCHEMA не должен отображаться в структуру обмена. Имя схемы, которая описывает объекты, появляющиеся в структуре обмена, должно быть отображено в заголовочной секции структуры обмена с помощью экземпляра типа данных объекта file_schema. как это описано в 8.2.3.

10.4    Отображение элемента EXPRESS для CONSTANT

Элемент EXPRESS для CONSTANT не должен отображаться в структуру обмена.

П р и м с ч а и и с — Когда данные отображают в структуру обмена, ссылки на одну и гу же ко нега ту не сохраняют.

10.5    Отображение элемента EXPRESS для RULE

Элементы EXPRESS для RULE не должны отображаться в структуру обмена.

10.6    Комментарии

Комментарии не должны отображаться в структуру обмена.

11 Печатное представление структур обмена

Дня управления появлением структуры обмена в печатном виде могут быть использованы комбинации графических символов, как это описано в таблице 6. Эти директивы могут быть представлены в любой позиции, где может появиться разделитель лексем (token separator), а также внутри строк (string) и двоичных значений (binaries). Подробности, касающиеся разделителей лексем, приведены в таблице 3. Комбинации графических символов должны появляться вместе без вставки между ними каких-либо графических символов.

Внутри строк также разрешены явные директивы управления процедурой печати. Директивы “\N\” и “\F\” не включают в значимое содержание строки. При кодировании строк см. 6.3.3. Директивы управления процедуры печати “\N\” и “\F\” используют только для печатного представления структуры обмена, и в других случаях они должны игнорироваться. Приложение G представляет руководство по распечатке структуры обмена.

Таблицаб — Директивы управления печатью

Последовательность графических символов

Значение

\N\ REVERSE_SOLIDUS N REVERSE.SOLIDUS \F\ REVERSE_SOLI DUS F REVERSE_SOLIDUS

Новая строка Перевод страницы

36

Страница 42

ГОСТ Р ИСО 10303-21-2002

ПРИЛОЖЕНИЕ А

(обязательное)

Прсдсгавленис файла на носителе данных

Различают следующие виды носителей, содержащие структу ры обмена:

-    перенос с доступом к записям (Record-oriented transport) обычно характеризуется как магнитная лента, но может быть любым носителем данных с доступом к записям;

-    перенос с доступом к строкам (Linc-onented transport) обычно характеризуется как дискета, но может быть любым носителем данных с доступом к строкам.

В обоих случаях целью является пересылка последовательности графических символов основного алфавита. как описано в настоящем стандарте. Для носителей, содержащих структуру обмена, применяют следующие соглашения.

А. 1 Содержание носителя с доступом к заиисяч

Магнитпая лента может содержать несколько наборов данных. Каждый набор может быть последовательным файлом, содержание которого может быть интерпретировано как структура обмена, соответствующая настоящему стандарту.

Отправитель ленты несет ответственность за сообщение любому получателю ленты (через ленту или иным способом) информации о том. какие наборы данных являются структурами обмена, соответсгвую-щими настоящему стандарту.

Форматы транспортировки (транспортные форматы) для каждой структуры обмена следующие:

-    файл должен состоять из последовательности записей:

-    первыми графическими символами впервой 'записи должна быть специальная лексема "ISO-10303-21;**» которая инициирует структуру обмена. Форматирование носителя данных зависит от операционной системы и является предметом соглашения между отправляющей и получающей сторонами;

-    последняя запись должка быть заполнена (если необходимо) пробелами за точкой с запятой, относящейся к специальной лексеме MEND-1SO-10303-21;".

А. 1.1 Формат передачи для носителя на магнитной ленте

Для передачи на ленте обменных файлов предпочтительный формат обмена определяют следующие характеристики, установленные в ИСО 3788:

-    ширина ленты 12.7 им (0,5 дюйма);

-    неразмеченная лента;

-    дсвятидорожечная лента;

-    плотность записи на ленте — 63 символ/мм (1600 бит/дюйм);

-    размер физического блока — 4000 окгетов (8-битных байтов);

-    блоки разделены пропусками между записями;

-    за последним блоком должен следовать маркер ленты.

Также может быть использован другой стандарт носителя на магнитной ленте, например магнитная лента с плотностью записи 246 символ/мм (6250 бит/дюйм).

A.I.2 Другие носители данных с доступом к записи

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

А.2 Содержание носителя с доступом к строкам

Некоторые магнитные носители содержат наборы данных, хранящиеся как последовательность строк. Каждый из этих наборов может быть последовательным файлом, содержание которого может быть интерпретировано как файл, соответствующий настоящему стандарту.

Файл должен состоять из последовательности строк:

-    первые графические символы в первой строке должны быть специальной лексемой “ISO-10303-21;”, которая инициирует структуру обмена:

-    последняя строка должна быть дополнена при необходимости пробелами за специальной лексемой "END-1SO-10303-21;“, завершающей структуру обмена.

Средства ограничения строк и представления конца файла зависят от операционной системы и являются предметом соглашения между отправителем и получателем с учетом того, что ограничители не должны использовать каких-либо символов основного алфавита. При любом их предстаатении ограничители строк и файла должны игнорироваться при обработке структуры обмена.

А.2.1 Формат передачи для носителя на дискете

Для передачи структуры обмена может быть использован любой из популярных носителей на дискетах (3.5 дюйма. 5.25 дюйма, низкой или высокой плотности записи).

37

Страница 43

ГОСТ Р ИСО 10303-21-2002

Поставщик такой дискеты несет ответственность за сообщение любому принимающему информацию (через дискету или иным способом) о том. какие наборы данных являются структурами обмена, соответствующими настоящему стандарту.

А.2.2 Другие носители

Другие носители, на которых файлы хранятся как последовательности строк, могут исполыовать тот же формат передачи, который определен для дискет. В частности, лот формат может быть пригоден для передачи через сети связи (E-mail).

А.З Обработка многотомных файлов

Может быть необходимым распределить структуру обмена на нескольких физических томах. Способ организации многотомных файлов в настоящем стандарте не рассматривается.

Примечание— В зависимости от конкретных условий объединять физически раздельные тома многотомного файла в одну многотомную структуру можно с помощью специальных программных средств или операционной системы.

ПРИЛОЖЕНИЕ В (обязательное)

Соглашения по записи в синтаксической нотации Вирта

Синтаксис структуры обмена определен в синтаксической нотации Вирта (СНВ), опубликованной Ник-лаусом Виртом в “Communications of the ACM. 20:11 (Nov 77), 822-823". СНВ состоит из набора выводов или правил подстановки. Элемент в левой части вывода (т. с. перед знаком равенства) может быть использован для п реле та шен ни появления образца в правой части. Элеменгарные символы, которые появляются только в правой части таких выводов, называются терминальными. Элементы, которые появляются в левой части выводов, называются нетерминальными.

Соглашения по записи даны ниже. Таблица В.1 представляет самоопределенную СНВ.

Строка прописных букв является элементом языка: строка яатяется именем элемента (для удобства строчные буквы используются для неопределенных идентификаторов и комментариев).

Любая строка, заключенная в кавычки, точно определяет содержимое внутри кавычек. Единственным исключением из этого правила яатяется знак кавычек внутри текста. Чтобы реализовать его. знак кавычек сразу же повторяют один раз. Последовательность........интерпретируется как", а последовательность "АВ""СТ — как АВ 'С.

Знак равенства “■*" означает вывод. Определено, что элемент слева должен быть комбинацией элементов справа. Любые пробелы, появляющиеся между элементами вывода, не являются значащими, если они появляются не внутри литерала. Вывод завершается точкой

Фигурные скобки "{ }" означают нуль или более повторений.

Квадратные скобки “| 1" означают необязательный параметр.

Вертиксиьмая линия “|" означает логическое ИЛИ.

Скобки "( )” показывают приоритет операций. В частности, там, где скобки включают в себя элементы, разделенные вертикальными линиями, один из элементов должен быть выбран в сочетании с любой другой операцией.

Пример — Последовательность “A(B|C|D)" эквивалентна “AB|AC|AD“.

Та б л и ц а В.1 — Самоопрсделенная синтаксическая нотация Вирта (СНВ)

SYNTAX

{ PRODUCTION }.

PRODUCTION

= IDENTIFIER EXPRESSION

EXPRESSION

= TERM { T TERM }.

TERM

= FACTOR { FACTOR }.

FACTOR

= IDENTIFIER

| LITERAL

j "|” EXPRESSION “|”

| **<” EXPRESSION “)”

j “Г EXPRESSION

IDENTIFIER

= letter { letter}.

LITERAL

- character { character}

38

Страница 44

ГОСТ Р ИСО 10303-21-2002

ПРИЛОЖЕНИЕ С

(обязательное)

Pei не грация информационного объекта

С.1 Обозначение документа

Для того чтобы обеспечить однозначное обозначение информационного объекта и открытой системе, настоящему стандарт)- присвоен идентификатор объекта

{ iso standard 10303 part(2l) version(3) }.

Смысл этого значения определен в ГОСТ Р ИСО/МЭК 8824-1 и описан в ГОСТ Р ИСО 10303-1.

С.2 Обозначение схемы

Для того чтобы обеспечить однозначное обозначение header scelion schema и открытой информационной системе. header_scction_j*chema (см. раздел 8) присвоен идентификатор объекта

{ iso standard 10303 pari(21) vereion(3) object (I) hcader-scction-schcma (1) }.

Смысл этого значения определен в ГОСТ Р ИСО/МЭК 8824-1 и описан в ГОСТ Р ИСО 10303-1.

39

Страница 45

ГОСТ Р ИСО 10303-21-2002

ПРИЛОЖЕНИЕ D (обязательное)

Основной алфавиг и набор графических символов

Графическими символами, используемыми в структуре обмена, являются символы столбцов 02-07 Латинского ачфавша Nb 1 согласно ИСО/МЭК 8859-1.

Примечание — Графические символы изображены в таблице D.I. В верхней строке приведены старшие четыре бита данного байта, в самом левом столбце — младшие четыре бита.

Таблица D.1 — Набор символов основного алфавита, используемый в структуре обмена

0010

32

ООП

48

0100

64

0101

80

ОНО

%

01II 112

0000 0

0

©

Р

P

0001 1

j

1

А

Q

а

q

0010 2

и

2

В

к

b

r

ООН 3

#

3

С

S

с

s

0100 4

$

4

D

т

d

t

0101 5

%

5

Е

и

е

u

01106

&

6

F

V

f

V

0111 7

*

7

G

W

w

1000 8

(

8

Н

X

h

X

1001 9

)

9

I

Y

i

У

1010 10

!

J

Z

j

z

1011 11

+

*

К

I

k

{

1100 12

<

L

\

1

1

1101 13

-

ш

М

1

m

}

1110 14

.

>

N

А

n

-

1111 15

/

О

_

0

40

Страница 46

ГОСТ I» ИСО 10303-21-2002

ПРИЛОЖЕНИЕ Е

(обязательное)

Форма заявки о соответствии реализации протоколу

Форма заявки о соответствии реализации протоколу (ЗСРП) предназначена для обеспечения оценки соответствии реализаций настоящему Стандарту. Настоящее приложение составлено в форме вопросника. Данный вопросник должен быть заполнен реализатором и может быть использован испытательной лабораторией при подготовке аттестационного тестирования заявленной реализации.

Все реализаторы должны ответить на вопросы, заданные в пунктах E.I и Е.2.

Е.1 Соответствие заданной функции Проверяют соответствие указанному в ЗСРП.

E.I.I Кодирование экземпляра объекта Обеспечивает ли реализация класс соответствия 1?:

_для чтения,_для записи.

Обеспечивает ли реализация класс соответствия 2?:

_для чтения,_для записи.

Е.1.2 Кодирование сокращенных имен    л

Обеспечивает ли реализация представление сокращенных имен объектов?:

_для чтения,_для записи.

Обеспечивает ли реализация представление сокращенных имен для значений выбранных типов?:

_для чтения,_для записи.

Обеспечивает ли реализация представление сокращенных имен для перечисляемых значений?:

_для чтения,_для записи.

Е. 1.3 Кодирование строки

Обеспечивает ли реализация кодирование в формате \Х\ для 8-битных байтов?:

_для чтения; если да. каково двоичное представление, использованное в реализации?,

_для записи.

Обеспечивает ли реализация кодирование символов в форматах \S\ и \Р\ по стандартам серии ИСО/МЭК 8859?:

_ для чтения: если да, каково двоичное представление, использованное в реализации?,

_ для записи.

Обеспечивает ли реализация кодирование символов в форматах \Х2\ но стандартам серии ИСО/МЭК 10646?:

_для чтения; если да, каково двоичное представление, использованное в реализации?,

_для записи.

Обеспечивает ли реализация кодирование символов в форматах \Х4\ по стандартам серии ИСО/МЭК 10646?:

_для чтения; если да, каково двоичное представление, использованное в реализации?.

_для записи.

Е.2 Ограничения рсалишиии

Каково максимальное число схем, на которые можно ссылаться в структуре обмена?

Каково максимальное число секций .тайных, входящих в структуру обмена?

Каково максимальное число экземпляров объектов, входящих в секцию данных?

Каково максимальное число экземпляров объектов, входящих в структуру обмена?

Каково максимальное значение (или двоичное представление, использованное в реализации) для идентификаторов экземпляров объектов?

Каковы максимальные и минимальные значения (или двоичное представление, использованное в реализации) для целых чисел (INTEGER) в соответствии с языком EXPRESS?

Каковы ограничения но точности (или двоичное представление, использованное в реализации) для вещественных чисел (REAL) в соответствии с языком EXPRESS?

Какова максимальная длина строки (STRING) в соответствии с языком EXPRESS?

Какова максимальная длина двоичного числа (BINARY) в соответствии с языком EXPRESS?

Каково максимальное число элементов, могущих входить в агрегат (массив) при сто кодировании? Какова максимальная глубина вложения при кодировании вложенных агрегатов (массивов)?

41

Страница 47

ГОСТ Р ИСО 10303-21-2002

ПРИЛОЖЕНИЕ F

(обязательное)

Множество EXPRESS-схем в структуре обмена

В структуре обмена с несколькими секциями данных могут быть приведены ссылки на экземпляры объектов, определенные в секциях данных по различным EXPRESS-схемам. При реализации ссылок между схемами возникают два вопроса: 1) какие ссылки можно считать верными?: 2) какие экземпляры следует считать правильными, основанными на конкретной схеме, при определении схематического соответствия структуре обмена.

F. 1 Допустимые ссылки

В настоящем подразделе описаны два метода определения правильности ссылок между экземплярами объектов при установлении схематического соответствия для структуры обмена. Можно использовать другие методы, не определенные в настоящем стандарте.

Примечание — В данном подразделе описаны способы, посредством которых автор документов, определяющих EXPRESS-схемы, может так же задать правильные ссылки между двумя или несколькими схемами.

При определении схематического соответствия реализация может ссылаться на конкретный документ, описывающий данную схему в рамках определений на языке EXPRESS, сокращенных имен и других требований или ограничений. Если заданную схему используют в сочетании с другими, данный документ так же должен определять правильность ссылок между этими схемами.

Если предполагается, что данное определение делается однократно и охватывает ряд схем. не следует дополнительно определять верность ссылок в конкретной структуре обмена.

F. 1.1 Метод с п е ц и ф и к а и и и интерфейса на языке EXPRESS

При использовании данного метода ссылки между экземплярами объектов различных схем должны быть заданы посредством определения интерфейса на языке EXPRESS в соответствии с разделом 11 ГОСТ Р ИСО 10303-11.

На экземпляр типа, заданный в схеме, можно ссылаться через экземпляр типа, определенный в другой схеме, если этот тип связан с последней посредством конструктивов USE или REFERENCE.

Пример — Рассматриваются две схемы и основанная на них структура обмена.

SCHEMA base;

ENTITY а:

range : REAL;

END_ENT1TY;

ENTITY b;

name : STRING:

END_ENTITY;

END_SCHEMA;

SCHEMA extension;

USE FROM base (a. b):

ENTITY c;

addrcssed_item : b; adda-ss: STRING;

END_ENT1TY:

RULE a rangc_positive FOR (a);

WHERE

WR1: SI2EOF (QUERY (ins* <* a | insl.range < 0)) = 0;

END_RULE;

END_SCHEMA:

ISO-10303-21;

HEADER;

FILE_ SCHEMA (( BASE*, 'EXTENSION')); ENDSEC;

DATA ('ONE', (‘BASE’));

#1 - A<-3.5);

«2 = B('Sam Smith');

42

Страница 48

ГОСТ I» ИСО 10303-21-2002

яЗ = BfJohn Doc'):

ENDSEC;

DATA (TWO*, (-EXTENSION'));

#4 - C(«2, MOO Main Street’);

#5 ** C(£3, 4300 Elmwood Avenue');

ENDSEC;

END-1 SO-10303-21;

При использовании метода задания требований к интерфейсу на языке EXPRESS для определения правильности ссылок реализация должна учитывать, что обьект типа В явно связан со схемой 'EXTENSION', поэтому допустимы ссылки из «4 на «2 и из «5 на “3.

F.1.2 Метод определения эквивалентности области значений СИДД При использовании данного метода ссылки между экземплярами объектов, заданными в разных схемах, должны быть выполнены на основе методов определения эквивалентности области значений, установленных в ГОСТ Р ИСО 10303-22.

При задании экземпляра тина, определенного в схеме, экземпляры любых типов объектов из данной схемы, ссылающиеся на данный тип. также могут ссылаться на экземпляры любых типов, обьявленных в эквивалентной области значений первого типа.

Пример— Рассматриваются две схемы и основанная на них структура обмена.

SCHEMA LONGA;

ENTITY а;

range : REAL;

END_ENTITY:

ENTITY b;

name : STRING:

END_ENTITY:

END.SCHEMA;

SCHEMA LONGB:

ENTITY a;

range : REAL;

END_ENT1TY:

ENTITY b;

name : STRING;

ENDJENTITY;

ENTITY c;

addrcsscd_item : b; address : STRING;

END_ENTITY:

RULE a range_positive FOR (a);

WHERE

WR1: SIZEOF (QUERY (ireu <* a | inst.range < 0)) = 0;

END_RULE;

END_SCHEMA;

ISO-10303-21;

HEADER;

FILE. SCHEMA (( 'LONGA'. LONGB'));

ENDSEC;

DATA ( ONE*. ( LONGA')):

#1 - A<-3.5);

#2 = BfSam Smith');

»3 = B< 'John. Doe');

ENDSEC;

DATA (TWO’, ('LONGB'));

«4 = C(#2, "100 Main Street');

#5 » C(«3, ‘1300 Elmwood Avenue');

ENDSEC;

END-1 SO-10303-21:

В настоящем примере предполагается наличие информации об области эквивалентности значений, заданной с использованием одного из методов, описанных в ГОСТ Р ИСО 10303-22, устанавливающей эквивалентность области значений типов А и В в обеих схемах. Эю представлено в виде:

43

Страница 49

ГОСТ Р ИСО 10303-21-2002

LONG A.A is DEQ to LONG В. А LONG В. A is DEQ to LONGB A

LONGA.В is DUO to LONGB.В

LONGB.В is DEQ to LONGAB

При использовании области эквивалентности для определения правильности ссылок реализация должна учитывать, что тип объекта LONGA.B я&чяется областью эквивалентности значений для LONGB.B. что допускает ссылки из #4 на »2 и из #5 на ЯЗ.

F.2 Определение совокупности схемы

Объект file_populati(>n в заголовочной секции связывает EXPRESS-схему и набор (коллекцию) экземпляров объектов с конкретной структурой обмена. Атрибут dctcrmination_mcthod определяет алгоритм выбора коллекции экземпляров объектов, заданных в наборе секции данных. В настоящем подразделе описаны три метода их определения. Можно использовать другие методы, не определенные в настоящем стандарте.

При определении схематического соответствия структуры обмена коллекция экземпляров обьектов, заданная в соответствующих filcpopulation. должна быть проверена на соответствие EXPRESS-схеме. Если на какую-либо секцию данных нет ссылки из какого-либо объекта fi!c_poputatioa. эта секция должна быть проверена на соответствие определенной в ней схемы по методу ограничения секции, описанному ниже.

При проверке соответствия схемы установленным требования и ограничениям ссылки на экземпляры объектов, сделанные вне коллекции данных экземпляров, должны восприниматься как ошибочные.

11 р и м е ч а н и е — Последующая процедура описывает метод проверки структуры обмена в соответствии с 8.2.4 и вышеизложенным параграфом.

Для каждого объекта filcpopulation. имеющего в структуре обмена значение “F":

-    находят набор экземпляров посредством использования метода, заданного объектом F.determina-tion_method. для секций данных, поименованных в объекте F.govemedscctions. Если объект F.govcmed_sections яатяется пустым (неопределенным), то данный метод используют для всех секций данных в структуре обмена;

-    проверяют данный набор на соответствие правилам и ограничениям, заданным в объекте F.gov-erninR_scheraa;

-    отмечают секции данных, являющиеся исходными данными для объекта F.determinationjncthod.

Ятя каждой немаркированной секции данных "D" проверяют набор экземпляров в этой секции на соответствие правилам и ограничениям, заданным в схеме.

F.2.1 Метод ограничения секции

При использовании метода ограничения секции атрибут F.dctcrmination_mcthod должен иметь значение "SECTIONBOUNDARY". Набор (коллекция) экземпляров объектов, заданный в качестве исходных данных для одной или нескольких секций, должен содержать:

-    все экземпляры из заданной секции данных.

Примеры

1    Рассмотрим схемы и структуру обмена, описанные в примере из F. 1.1. Заголовочная секция не содержит каких-либо экземпляров обьекта file_population. При определении схематического соответствия структуры обмена должно быть учтено следующее:

-    на секцию данных ON Е не ссылаются из какого-либо обьекта file_population. поэтому следует проверить все экземпляры объектов этой секции на соответствие задающей ее схеме. Все экземпляры в секции данных ONE должны удовлетворять требованиям и ограничениям схемы BASE. В данном примере совокупность удовлетворяет всем ограничениям схемы BASE;

-    на секцию данных TWO не ссылаются из какого-либо объекта file_population. поэтому следует проверить все экземпляры объектов этой секции на соответствие задающей ее схеме. Все экземпляры в секции данных ONE должны удовлетворять требованиям и ограничениям схемы EXTENSION. В настоящем примере секция данных не содержит каких-либо экземпляров обьекта А, поэтому она удовлетворяет правилу a_range_posilhe. Атрибут addressed item экземпляров «4 и #5 ссылается на экземпляры вне данной совокупности, поэтому эти ссылки следует рассматривать как ошибочные. Атрибут addresscd itcm не является факультативным (необязательным), поэтому данная совокупность не удовлетворяет ограничениям схемы EXTENSION.

2    Рассмотрим схемы и структуру обмена, описанные в примере из F.1.1, но с заголовочной секцией, приведенные ниже:

HEADER;

F1LE.SCHEMA (( BASE', ’EXTENSION*));

FILE_POPULATION ( BASE', 'SECTIO^BOUNDARY', ('ONE'));

FILE_POPULATION ('EXTENSION-, SECTTON_BOUNDARY\ ( ONE1, TWO1)):

ENDSEC;

44

Страница 50

ГОСТ Р ИСО 10303-21-2002

При определении схематического соответствия структуры обмена должно быть учтено следующее:

-    первый объект fik-population определяет набор (коллекцию) экземпляров, управляемых схемой BASE. Все экземпляры в секции данных ONE должны удовлетворять требованиям и ограничениям схемы BASE. В данном примере совокупность удовлетворяет всем ограничениям схемы BASE;

-    второй объект fik-population определяет набор (коллекцию) экземпляров, управляемых схемой EXTENSION. Все экземпляры в секции данных ONE и TWO должны удовлетворять требованиям и ограничениям схемы EXTENSION. В рассматриваемом примере правило a_rangc_positive нарушено в экземпляре *1, поэтому данная совокупность не соответствует ограничениям схемы EXTENSION.

F.2.2 Описание всех совместимых методов

Атрибут dctcrmination_mcthod должен иметь значение ‘'INCLUDE_ALL_COMPATIBLE“ в случае использования всех совместимых методов. Набор (коллекция) экземпляров объектов, заданный в качестве исходных данных для одной или нескольких секций данных должен охватывать:

-    все экземпляры в регулируемых секциях данных;

-    все экземпляры в других секциях данных, где тип обьекта экземпляра позволяет ссылаться на экземпляры. заданные схемой управления совокупностью.

Пример — Рассмотрим схемы и структуру обмена, описанные в примере из F.I.I, но с заголовочной секцией, приведенные ниже:

HEADER;

FILE.SCHEMA (('BASE*, ’EXTENSION*));

FILE_POPULATION ( BASE*. *INCLUDE_ALL_COMPATIBLE*. ( ONE*));

FILE_POPULATION ( EXTENSION*, *INCLUDE_ALL_COMPATIBLE*. ( TWO »;

ENDS EC;

При определении схематического соответствия структуры обмена должно быть учтено следующее:

-    первый объект fik- population определяет набор (коллекцию) экземпляров, управляемых схемой BASE. Данный набор содержит все экземпляры из секции данных ONE. Он гак же должен содержать экземпляры из секции данных TWO. допускающие ссылки на экземпляры, заданные схемой BASE. В настоящем примере это не рассмотрено. Однако секция данных TWO включает экземпляры типов А и В, которые мот быть ограниченными. В данном примере совокупность удовлетворяет всем ограничениям схемы BASE;

-    второй объект nie_population определяет набор (коллекцию) экземпляров, управляемых схемой EXTENSION. Этот набор содержит все экземпляры из секции данных TWO. Он также содержит все экземпляры типов А И В из секции данных ONE. потому что их типы позволяют ссылаться на экземпляры, определенные схемой EXTENSION. В рассматриваемом примере правило a_range_positive нарушено в экземпляре # 1. поэтому данная совокупность не соответствует ограничениям схемы EXTENSION.

F.2.3 Описание методов ссылки на экземпляр

Атрибут dclcrmination method должен иметь значение “INCLUDE_REFERENCED“ в случае использования метода ссылки на экземпляр. Набор (коллекция) экземпляров объектов, заданный в качестве исходных данных для одной или нескольких секций данных, должен охватывать:

-    все экземпляры в регулируемых секциях данных;

-    экземпляры из других секций данных, которые ссылаются на экземпляры в заданных секциях данных.

Пример — Рассмотрим схемы и структуру обмена, описанные в примере из F.I.1, но с заголовочной секцией, приведенные ниже:

HEADER;

FILE SCHEMA (( BASE*, EXTENSION*));

FILE_ POPULATION ( BASE*, ’INCLUDE, REFERENCED *. ( ONE*));

FILE_POPULATION ( EXTENSION’, INCLUDE, REFERENCED*, (TWO*));

ENDSEC;

При определении схематического соответствия структуры обмена должно быть учтено следующее:

-    первый объект fik- population определяет набор (коллекцию) экземпляров, управляемых схемой BASE. Данный набор содержит все экземпляры из секции данных ONE. Он гак же должен содержать экземпляры из секции данных TWO. допускающие ссылки на экземпляры, заданные в секции данных ONE. В настоящем примере это не рассмотрено. В данном примере совокупность удовлетворяет всем ограничениям схемы BASE;

-    второй объект fik- population определяет набор (коллекцию) экземпляров, управляемых схемой EXTENSION. Этот набор содержит все экземпляры из секции данных TWO. Он также содержит все экземпляры «2 и «3 из секции данных ONE. потому что их типы позволяют ссылаться на экземпляры, из секции данных TWO. В рассматриваемом примере экземпляр #1 не является членом совокупности, поэтому правило a_range_positive удовлетворено. Данная совокупность соответствует всем ограничениям схемы EXTENSION.

45

Страница 51

ГОСТ Р ИСО 10303-21-2002

ПРИЛОЖЕНИЕ G (справочное)

Руководство по распечатке структу ры обмена

Структура обмена допускает включение необязательных директив, которые явно управляют представлением структуры в напечатанном виде. Когда такие директивы не включены и должно быть создано печатное представление структуры обмена, следует использовать набор неявных указаний но упраатснию процессом печати, определенный в G.2. Явные директивы управления при печати перекрывают неявные указания по управлению процессом печати.

G.1 Явные директивы управления процессом печати

Явные директивы управления процессом печати Moiyi быть использованы в случаях, когда отправитель нуждается в точном управлении появлением структуры обмена в напечатанном виде.

Директива обратная косая черта, прописная буква .V, обратная косая черта "\N\” указывает, что первый символ, следующий сразу за директивой, появляется в начале новой строки. Директива обратная косая черта, прописная буква F. обратная косая черта "\FV указывает, что печать будет продолжена с новой сфанины. В любом случае директивы упраатения процессом печати сами в напечатанном виде не нояатяются.

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

G.2 Неявные директивы упраатения процессом печати

При отсутствии явных директив упраатения при печати структуры обмена могут быть использованы следующие директивы:

a)    строка выключается слева;

b)    каждая секция начинается с новой строки;

c)    объекты заголовочной секции должны начинаться с начала новой строки;

d)    имя экземпляра объекта, предшествующее знаку равенства должно начинаться с новой строки;

с) лексемы, не яатяющиеся строками (string) и двоичными значениями (binary), не должны разделяться

между строками. Строки и двоичные значения могут быть разделены только в том случае, если они целиком не умещаются в одной строке. Директиа! h) определяет, где должны разделяться строки и двоичные значения;

О комментарии должны начинаться с новой строки;

g)    разделитель лексем, не являющийся комментарием, не должен разделяться между строками. Комментарий может разделяться, если он не помещается в одной строке. Директива h) определяет, где будут разделяться комментарии;

h)    строки должны иметь длину не больше чем 72 символа. Если символ не может быть напечатан в качестве 73-й позиции, его следует напечатать в первой позиции новой строки.

46

Страница 52

ГОСТ Р ИСО 10303-21-2002

ПРИЛОЖЕНИЕ Н (справочное)

Пример полной структуры обмена

II. 1 Введение

Ниже представлен пример определения средствами EXPRESS схемы, таблицы сокращенных имен и структуры обмена. Приведенная EXPRESS-схема не отражает содержания какою-либо стандарта серии ГОСТ Р ИСО 10303.

11.2    Пример схемы

Определение EXPRESS-схемы. используемые в примере сфушуры обмена.

SHEMA example_ geometry TYPE length_measure = NUMBER;

END_TYPE;

ENTITY geometry SUPERTYPE OF (ONEOF(point));

END_ENTITY;

ENTITY point

SUPERTYPE OF (ONEOF(cartesian_point>):

SUBTYPE OF (geometry);

END_ENTITY:

ENTITV cartesian_ pi>int SUBTYPE OF (point);

x_coordinate : length_measurc: y_coordinate : lcngth_measurc:

/ coordinate : OPTIONAL length_mcasurc;

END_ENTITY:

TYPE edge_or_logJcal = SELECT (edge. edge_logical_structure);

END_TYPE;

ENTITY topologv

SUPERTYPE OF (ONEOF(vertex. edge, loop));

END_ENTITY;

ENTITY vertex SUBTYPE OF (topology);

vertex_point : О PHONAL point;

END_ENTITY:

ENTITY edge SUBTYPE OF (topology); edge_start : vertex; edgc_end : vertex;

END ENTITY:

ENTITY cdgc_logical_structure; edgc_clement : edge: flag : BOOLEAN;

END_ENTITY;

ENTITY loop

SUPERTYPE OF (ONEOF(edge_Ioop));

SUBTYPE OF (topologv);

END_ENTITY:

ENTITY edge_loop SUBTYPE OF (loop);

loop edges : LIST |1:?| OF cdge_or_logical;

END_ENTITY;

END_SCHEMA;

11.3    Пример сокращенных имен

Ниже даны сокращенные имена объектов вышеприведенной схемы.

Сокращенное имя cpt


Имя объекта

cartesian_point

vertex

edge

cdge_Iogical_structure

edge_loop


ed

ed_strc

ed_loop


47

Страница 53

ГОСТ Р ИСО 10303-21-2002

11.4 Пример структуры обмана

Ниже приведен пример полной структуры обмена. Поскольку схема является только примером, в заготовочной секции экземпляра объекта filcjscbema в атрибуте vchcma_name отсутствует регистрационный идентификатор схемы (id).

ISO-10303-21;

HEADER;

f;ILE_DESCRIPTION((‘THIS FILE CONTAINS A SMALL SAMPLE STEP MODEL'), ’3: Г); FILE_NAME('EXAMPLE STEP FILE *1*.

*1992-02-11T15:30:00’.

(’JOHN DOE*,

ACME INC.’,

•METROPOLIS USA ),

('ACME INC. A SUBSIDIARY OF GIANT INDUSTRIES". METROPOLIS USA’),

•ClM/STEP VERSION?.

SUPER CIM SYSTEM RELEASE 4.0’.

APPROVED BY JOE BLOGGS’);

RLE SCHEMA((’EXAMPLE GEOMETRY’))’

ENDSEC:

DATA:

Г

СЛЕДУЮЩИЕ 13 ОБЪЕКТОВ ПРЕДСТАВЛЯЮТ КОНТУР СТОРОН ТРЕУГОЛЬНИКА

7

яI - СРТ<0.0. 0.0. 0.0);    ./* ЭТО ОБЪЕКТ ТИПА “ДЕКАРТОВА ТОЧКА’’ */

Я 2 = СРТ(0.0. 1.0. 0.0);

ЯЗ = СРТ(1.0. 0.0, 0.0);

ЯП = VX(#1);    /* ЭТО ОБЪЕКТ ТИПА "ВЕРШИНА ” */

я 12 - УХ(Я2);

«13 - УХ(ЯЗ):

я 16 - ED(«11, я 12);    Г ЭТО ОБЪЕКТ ТИПА ’СТОРОНА" */

Я17 - ED(*1I. я 13); я 18 - ED(« 13, Я12);

я21 - LD_STRC<*17. .F.):    /*    ЭТО    ОБЪЕКТ ТИПА “ЛОГИЧЕСКАЯ СТРУКТУРА СТОРОНЫ" «/

Я22 - ED_STRC^18. .F.); я 23 - ED_STRC(«16. .Т.);

я24 = ED_LOOP<(*2l, я22, я23)): /* ЭТО ОБЪЕКТ ТИПА "КОНТУР СТОРОН" •/

*/ ВОЗМОЖНЫ ДРУГИЕ СИНТАКСИЧЕСКИЕ ПРЕДСТАВЛЕНИЯ. ПРЕДЫДУЩИЙ ПРИМЕР ПРЕДСТАВЛЯЕТ ОДИН ИЗ ВОЗМОЖНЫХ МЕТОДОВ.

V

ENDSEC;

EN D- ISO-10303-21;

Примем а н и с — Данный пример структуры обмена был отредактирован для улучшения его читаемости, для чего добавлены пробелы, не являющиеся обязательными.

48

Страница 54

ГОСТ Р ИСО 10303-21-2002

Тематический указатель

агрегат (aggregate).......................................

..................8.1, 10.1.2-10.1.5

алфавит (alphabet).......................................

атрибут (attribute)

вычисляемый (derived)...............................

......................10.2.3. 10.2.6

явный (explicit)....................................

......................10.2.1-10.2.9

инверсный (inverse)................................

............................10.2.7

переобьявленный (redeclared)..........................

......................10.2.6-10.2.9

байт (byte)............................................

.............................5.2

булевское (boolean).....................................

..........................10.1.1.3

всшесгвенное (real)......................................

............таблица 2. 6.3.2. 10.1.1.5

внешнее отображение (external mapping)......................

...........................10.2.5

внутреннее отображение (internal mapping)....................

...........................10.2.5

выбор (select) ..........................................

..........................10.1.8

глобальные правила (global rules») ...........................

.............................10.5

графический знак (graphic character).........................

........................таблица 1

двоичное (binary).......................................

.................таблица 2. 10.1.1.6

директивы управлении печатью (print control dirrectives)..........

....................приложение G

дискета (diskette) .......................................

............................А.2.1

заголовочная секция (header section).........................

........................... 5.3. 8

звездочка (*)..........................................

...................таблица 3. 10.2.6

знак доллара ($).........................................

.......таблица 3, 7, 10.1.2—10.15. 10.2.2

знак номера («)........................................

...................таблица 2, 6.3.4

знак (character)........................................

...............................4

имя экземпляра объекта (entity instance name)...................

.. таблица 2. 6.3.3-6.3.5. 9. 10.2.4. 10.2.11

инверсия (inverse)......................................

..........................10.2.10

ключевое слово (keyword).................................

......3.5.4. таблица 2. 6.2. 8. 10.1.8. 10.2

кодирование открытым текстом (clear text encoding).............

............................3.5.2

комментарии (remarks)..................................

.............................10.6

консганта (constant).....................................

............................10.4

лексема (token).........................................

..............................5.4

логическое (logical) .....................................

..........................10.1.1.4

локальные правила (local rules)..............................

.............................10.2.9

магнитная лента (magnetic tape)............................

.....................приложение А

массив (array)..........................................

...........................10.1.3

метод определения (determination method) ....................

.............................F.2

многотомные файлы (multi-volume files)......................

.............................Д.З

мультимножество (bag)..................................

...........................10.1.5

набор (set)............................................

...........................10.1.4

необязательный (optional).................................

......................10.1.3, 10.2.2

носитель с доступом к записи (record- oriented transport).........

.............................А.1

носитель с доступам к строкам (line- oriented transport)..........

.............................А.2

объект (entity) .........................................

.........................8.1, 10.2

ограничители строки (line-delimiters)........................

..........................5.6. А.2

ограничители файла (file-delimiters).........................

.............................А.2

основной алфавит (basic alphabet)...........................

........3.5.1. 6.3.3. приложения А и D

основной многоязычный уровень (basic multilingual plane)........

...........................6.3.3.2

перечисление (enumeration)................................

. таблица 2, 6.3.5, таблица 5. 10.1.7. 10.1.8

подтип (subtype)........................................

........................10.2. 10.2.8

последовательный файл (sequential file).......................

.............................3.5.6

правило (rule).........................................

.............................10.5

пробел (whitespace).....................................

..............................5.6

прикладной протокол (application protocol)....................

............................ 8.2.6

примечание (comment)..................................

..............................5.6

простой определяемый тип (simple defined type)................

...........................10.1.6

простые типы данных (simple data types).....................

............................10.1.1

разделитель лексемы (token separator)........................

............................ 3.5.7

секция (section)........................................

............................3.5.5

секция данных (data section)...............................

. .5.3. таблица 3. 9, 10.2.4. приложение F

СНВ (WSN)...........................................

dQ

Страница 55

ГОСТ Р ИСО 10303-21-2002

список (list).......................................................................10.1.2

сокращенные наименования (short names).....................................10.1.7. 10.1.8, 10.2.11

соответствие (conformance)

схематическое (schema)................................................4.3. приложение F

синтаксическое (syntactic)..........................................................4.3

строка (string)..........................................................таблица 2, 6.3.3. 10.1.1.2

структура обмена (exchange structure)..........................4, 5, таблица 3, 8, 9. приложения А и G

супсртип (supertype).............................................................10.2.3, 10.2.5

схема (schema).....................................................I, 5. 8, 10.3, приложение F

тип данных (data type).................................................................6.3

тип. определяемый пользователем (user-defined type)..................................6.2. 8.1, 8.3, 9.2

упрашшющая директива (control directive).................................................3.5.3

целое (integer).......................................................таблица 2. 6.3.1, 10.1.1.1

частный экземпляр сложного объекта (partial complex entity instance)............................10.2.5.3

чисто (number).....................................................................10.1.1.7

экземпляр простого объекта (simple entity instance).........................................10.2.1

экземпляр сложного обгьекта (complex entity instance).........................................10.2

электронная почта (e-mail)............................................................А.2.2

file_description......................................................................8.2.1

file_name..........................................................................8.2.2

file_population....................................................................8.2.4. F.2

file_schcma...................................................................8.2.3, 9. 10.3

scction_contcxi......................................................................8.2.6

sectionjanguage.................................................................... . 8.2.5

50

Страница 56

ГОСТ I» ИСО 10303-21-2002

УДК 656.072:681.3:006.354    О    КС 25.040.40    П87    ОКСТУ    4002

Ключевые слоиа: автоматизация, средства автоматизации, прикладные автоматизированные системы, промышленные изделия, данные, представление данных, обмен данными, преобразование данных, реализация, открытый текст, кодирование

51

Страница 57

Редактор Г.Л. Леонова Технический редактор D.H. Пруткова Корректор H.JJ. Рыбалко Компьютерная верстка И.Л. Hoacukunна

Подписано в печать 24.05.20416. Формат 60 х 84'/t- Бумага офсетная. Гарнитура Таймс. Печать офсетиаи. УсЯ. печ.л. 6.51. Уч.-изд-т. 6.10. Тираж 14 :jks. Зак. I5S. С 2873

ФГУП «Станцартннформ». 12399S Москва, Гранатный пер.. 4. » ww.goslinfo.ni    infoitgoitinro.ru

Набрано и отпечатано по ФГУП •Станлар-тинформ»