Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 22. Методы реализации. Стандартный интерфейс доступа к данным

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

Группа П87

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

СИСТЕМЫ АВТОМАТИЗАЦИИ ПРОИЗВОДСТВА И ИХ ИНТЕГРАЦИЯ


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

Часть 22

Методы реализации. Стандартный интерфейс доступа к данным

Industrial automation systems and integration. Product data representation and exchange. Part 22. Implementation methods. Standard data access interface

ОКС 25.040.40
ОКСТУ 4002

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



Предисловие

1 РАЗРАБОТАН Всероссийским научно-исследовательским институтом стандартизации (ВНИИстандарт) при участии Научно-технического центра "ИНТЕГРО-Д”

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

2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 25 июня 2002 г. N 250-ст

3 Настоящий стандарт представляет собой аутентичный текст международного стандарта ИСО 10303-22-98 "Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 22. Методы реализации Стандартный интерфейс доступа к данным"

4 ВВЕДЕН ВПЕРВЫЕ

Введение


 Введение


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

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

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

Основными тематическими частями настоящего стандарта являются:

- конструктивы среды СИДД, определяемые на языке EXPRESS (разделы 6-9);

- команды, ошибки и состояния СИДД (разделы 10-12);

- классы реализации функциональных возможностей СИДД, которым должны соответствовать реализации (раздел 13).

Прикладные вычислительные системы реализуются с использованием машинных языков. При установлении требований к функциональным возможностям, определенным в настоящем стандарте, в конкретном машинном языке используют понятие языковой привязкой СИДД (SDAI language binding). Так как существует много машинных языков, возможно существование множества языковых привязок СИДД. Языковые привязки СИДД для конкретных машинных языков определяются в других стандартах серии ГОСТ Р ИСО 10303.

Реализации конкретных языковых привязок СИДД не должны обеспечивать полного набора функциональных возможностей, описанных в настоящем стандарте. Конкретные наборы функциональных возможностей сгруппированы в классы реализации. Классы реализации, по которым определяется соответствие настоящему стандарту, установлены в разделе 13.

Примечания

1 Настоящий стандарт дополнен приложениями А, В, С, D и Е.

2 В настоящем стандарте конструктивы, описанные с использованием языка EXPRESS, в ряде случаев выделены полужирным шрифтом (например referenced_item).

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


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

СИДД описан в терминах, независящих от любого машинного языка или системы. При установлении требований к функциональным возможностям, определенным в настоящем стандарте, в конкретном машинном языке используют понятие языковой привязкой СИДД (SDAI language binding). Языковые привязки СИДД для конкретных машинных языков определяются в группе стандартов серии ГОСТ Р ИСО 10303 по методам реализации.

Настоящий стандарт распространяется на:

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

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

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

- доступ к словарю, описывающему элементы данных, которыми может манипулировать приложение;

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

- обеспечение управления отношениями зависимости между экземплярами объектов;

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

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

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

Настоящий стандарт не распространяется на:

- полную спецификацию поведения реализации СИДД в многопользовательской среде.

Примечание 1 - Это не препятствует реализации СИДД обеспечивать многопользовательский разделяемый доступ к данным, когда поведение реализации зависит от определенной технологии хранения данных;

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

Примечание 2 - Это не препятствует реализации СИДД обеспечивать доступ к удаленному хранилищу данных через механизм, специфический для данной реализации;


- команды доступа к данным и манипулирования ими, зависящие от семантики данных;

- требования к механизмам или форматам, посредством которых данные представляются в хранилище;

- создание, удаление и обозначение хранилищ данных, доступных через СИДД.

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


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

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

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

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

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

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

ИСО 8601-88* Элементы данных и форматы обмена. Информационный обмен. Представление дат и времени
_______________
* Оригиналы стандартов ИСО - во ВНИИКИ Госстандарта России.

3 Определения и сокращения

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

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

- приложение;

- прикладной протокол (ПП);

- данные;

- метод реализации;

- информация;

- информационная модель;

- информационная модель изделия;

- заявка о соответствии реализации протоколу (ЗСРП);

- структура.

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

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

- тип данных сложного объекта;

- тип данных;

- объект;

- тип данных объекта;

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

- экземпляр;

- совокупность;

- значение.

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

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

3.3.1 прикладная схема (application schema): Информационная модель, определенная при помощи языка EXPRESS, описывающая данные, представляющие интерес в конкретном контексте или области.

Примечание - Схемы, определенные в стандартах серии ГОСТ Р ИСО 10303 по прикладным протоколам, должны рассматриваться как прикладные схемы.

3.3.2 параллельный доступ (concurrent access): Возможность для нескольких компьютерных приложений одновременно манипулировать данными в хранилище.

3.3.3 ограничение (constraint): Описанный средствами языка EXPRESS предел, налагаемый на данные, позволяющий оценить допустимость данных для использования в конкретном контексте.

3.3.4 текущая схема (current schema): EXPRESS-схема, внутри которой элементы из других схем становятся видимыми посредством EXPRESS-спецификации интерфейса.

3.3.5 внешняя схема (external schema): EXPRESS-схема со всеми разрешенными импортируемыми элементами, содержащая типы данных, определенные как имеющие область значений, эквивалентную типам данных из собственной схемы.

Примечание - В А.1.1 описан процесс разрешения импортирования элементов.

3.3.6 инородная схема (foreign schema): EXPRESS-схема, отличная от текущей, элементы которой становятся видимыми в текущей схеме посредством EXPRESS-спецификации интерфейса.

3.3.7 идентификатор (identifier): Зависимые от реализации обозначения экземпляра объекта и агрегата, обеспечивающие их уникальность в течение сеанса СИДД.

3.3.8 класс реализации (implementation class): Спецификация реализуемого подмножества функциональных возможностей, определенных в настоящем стандарте, которому может соответствовать реализация.

3.3.9 итератор (iterator): Механизм, позволяющий прикладной программе "пробежать" по содержанию экземпляра агрегата.

3.3.10 собственная схема (native schema): EXPRESS-схема со всеми разрешенными импортируемыми элементами, на которой могут базироваться экземпляр схемы или СИДД-модели.

3.3 11 хранилище (repository): Определенное средство хранения данных.

3.3.12 экземпляр схемы (schema instance): Логическое объединение связанных моделей СИДД, устанавливающее область значений экземпляров объектов. Эта область ограничивает ссылки между экземплярами объектов и является областью, в которой проверяют глобальные правила.

3.3.13 СИДД-модель (SDAI-model): Контейнер, внутри которого существуют связанные экземпляры объектов.

3.3.14 языковая привязка СИДД (SDAI language binding): Функциональные возможности СИДД, определенные на конкретном машинном языке.

3.3.15 схема СИДД (SDAI schema): EXPRESS-схема, определенная в настоящем стандарте.

3.3.16 сеанс (session): Команды (операции), которые выполняются между началом и окончанием использования реализации СИДД одним приложением.

3.3.17 проверка правильности (validation): Проверка экземпляров на соответствие ограничениям, установленным в схеме, описывающей их структуру, значения и отношения.

3.4 Сокращения

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

ПП (АР) - прикладной протокол;

ЗСРП (PICS) - заявка о соответствии реализации протоколу;

ТЧ (RO) - только чтение;

Ч3 (RW) - чтение-запись;

СИДД (SDAI) - стандартный интерфейс доступа к данным.

4 Краткий обзор СИДД (SDAI)

4.1 Интерфейсы доступа к данным

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

4.2 Команды (операции) и состояние сеанса

С началом сеанса СИДД его команды могут быть использованы для манипуляции экземплярами типов данных объектов, определенными в приложении и схемах СИДД. Сеанс имеет несколько различных состояний, представленных в табличной форме в разделе 12. В каждом состоянии доступен ряд команд (операций) СИДД, некоторые из которых могут изменять данное состояние. Информация, связанная с сеансом и его состоянием, доступна в течение сеанса в виде сочетания схем сеанса и совокупности СИДД (см. разделы 7 и 8).

4.3 Хранилища, экземпляры схем и СИДД-модели

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

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


Пример 1 - На рисунке 1 показаны некоторые взаимосвязи между СИДД-моделями, хранилищами и экземплярами схем. Экземпляры схем 1А и 1В и СИДД-модели 11-13 базируются на схеме 1, однако они существуют в различных хранилищах. Ссылки между СИДД-моделями 11 и 13 не разрешены, так как эти модели не связаны с одним и тем же экземпляром схемы СИДД-модель 13, базирующаяся на схеме 1, связана с экземпляром схемы 2А, базирующимся на схеме 2. Чтобы это было возможно, по крайней мере одна пара типов объектов должна быть объявлена как область, эквивалентная двум схемам в словаре данных СИДД.

Рисунок 1 - Пример структуры хранения СИДД

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

Рисунок 1 - Пример структуры хранения СИДД



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

4.4 Сообщения (транзакции) и режимы доступа

Уровни реализации СИДД определяют обеспечиваемые ими сообщения. Сообщение состоит из рядов команд (операций), воздействие которых может быть сохранено или отменено как единое целое. Также доступны средства, обеспечивающие приложению возможность управления доступом к конкретным хранилищам и СИДД-моделям. Сообщения и доступ к СИДД-моделям содержат связанные с ними режимы: "чтение-запись" и "только чтение". Режим "чтение-запись" допускает команды доступа, создания, обновления и удаления экземпляров в СИДД-моделях и хранилищах. Режим "только чтение" не допускает команды создания, обновления или удаления экземпляров в СИДД-моделях и хранилищах. СИДД-модель не может быть доступна в режиме "чтение-запись", когда инициировано сообщение в режиме "только чтение".

4.5 Сеанс, словарь данных и управление совокупностью

Схема сеанса СИДД (см. раздел 7) описывает структуру сеанса СИДД. Схема совокупности СИДД (см. раздел 8) описывает упорядоченные структуры, доступные для управления совокупностью, основанной на схеме. Схема совокупности СИДД определяет организационные объекты, которые приложение может создавать в течение сеанса.

Для обеспечения приложениям необходимого доступа к информации о схеме, определяющей прикладные данные, СИДД создает словарь данных. Схема словаря СИДД (см. раздел 6) описывает структуру словаря данных. Словарь данных состоит из набора экземпляров объектов, определенных в схеме словаря СИДД. Так как не все приложения требуют доступа к словарю данных, то класс реализации может быть определен без обеспечения требуемого словаря данных (см. 13.1.2). В этом случае прикладному программисту необходимы полное знание схемы и возможность ссылаться на элементы схемы по их именам.

Примечание - На рисунке 2 в упрощенных терминах показана взаимосвязь между прикладными данными, словарем, сеансом и совокупностью организационных данных, а также между прикладной программой и реализацией СИДД. На рисунке 2 также показано, для каких типов данных прикладная программа имеют доступ в режимах "чтение-запись" или "только чтение".

Рисунок 2 - Взаимосвязи элементов архитектуры данных СИДД

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

Рисунок 2 - Взаимосвязи элементов архитектуры данных СИДД


Создание, удаление и изменение данных сеанса, организация совокупности и словаря проявляются как последовательность специальных команд, предназначенных для управления средой СИДД. Команды экземпляра объекта используются для доступа к данным сеанса, организации совокупности и словаря так же, как и для экземпляров приложения. Не все команды экземпляра объекта необходимы для обеспечения доступа к данным организации совокупности, поскольку экземпляры схемы совокупности СИДД не обязательно присутствуют в рамках СИДД-модели (см. 8.1).

4.6 Схема параметризированных данных СИДД

Схема параметризированных данных СИДЦ (см. раздел 9) в абстрактных терминах описывает различные типы данных экземпляра, передаваемые через интерфейс. Это обеспечивает возможность определения команд СИДД. Реализация СИДД не обязательно включает полную схему параметризированных данных. Эта схема определяет отношения подтипов между типами экземпляров объекта, которые должна обеспечивать реализация СИДД. Другие характеристики этих экземпляров не определяются в данной схеме, так как они зависят от реализации.

4.7 Функциональные требования (спецификация)

СИДД определяет функциональные требования к набору команд (операций) для запроса данных и манипулирования ими. Команды СИДД подразделяют на несколько категорий:

- команды среды, устанавливающие сеанс СИДД (см. 10.3);

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

- команды хранилища, позволяющие приложению управлять доступом к СИДД-моделям внутри хранилищ (см. 10.5);

- команды экземпляров схем, позволяющие приложению управлять связями СИДД-моделей с экземплярами схем, проверять правильность глобальных EXPRESS-правил и осуществлять ссылки внутри экземпляра схемы (см. 10.6);

- команды СИДД-моделей, позволяющие приложению создавать экземпляры и управлять доступом к СИДД-модели (см. 10.7);

- команды, позволяющие приложению создавать зависимые отношения между экземплярами объектов и управлять ими (см. 10.8).

Примечание - Отношения зависимости базируются на конструкции SCOPE (область применения), описанной в ГОСТ Р ИСО 10303-21;

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

- команды экземпляра объекта, позволяющие приложению манипулировать экземплярами типов данных объектов, создаваемых в схемах, определяющих СИДД, и прикладных схемах (см. 10.10);

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

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

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

Пример 2 - Открытие хранилища является командой сеанса, а не командой хранилища, так как она изменяет свойства сеанса.

В спецификации каждой команды СИДД перечисляются требуемые входные и выходные параметры. Типы этих параметров выбираются из схем словаря, сеанса, совокупности и параметризованных данных СИДД.

4.8 Языковые привязки СИДД

В настоящем стандарте команды СИДД определены независимо от какого-либо языка программирования. Для этих команд разработаны языковые привязки СИДД к машинным языкам (языкам программирования), определяющие функциональные возможности, обеспечиваемые реализациями. Языковые привязки СИДД описаны в других стандартах серии ГОСТ Р ИСО 10303 - в группе методов реализации. Конкретная реализация СИДД должна обеспечивать команды, описанные в соответствующих языковых привязках СИДД.

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

Различают два типа языковых привязок СИДД: позднюю и раннюю привязку.

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

Обращения к конкретным конструктивам на языке EXPRESS обеспечиваются через входные параметры, передаваемые командами СИДД. Поздние привязки определяет набор команд СИДД, явно доступных прикладному программисту.

Примечание 1 - Эти команды и их параметры обычно вычисляют во время выполнения требуемой функции


Пример 3 - Команда набора значений атрибута "а1" экземпляра объекта "i1" типа "t1" в поздней привязке может быть записана как SetVaIue(i1, tl.al, value).

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

Примечание 2 - Возможна компиляция прикладной схемы для создания реализации. Такой компилятор обычно генерирует функции и параметры, вычисляя их во время компиляции прикладной программы.


Пример 4 - Команда набора значений атрибута "а1" экземпляра объекта "i1" типа "t1" в ранней привязке должна быть записана как SetValuet1a1(i1, value).

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

4.9 Обработка ошибок

Описание каждой команды включает список возможных индикаторов ошибок, могущих возникать при условиях, препятствующих успешному завершению данной команды. В настоящем стандарте не определено, как выдаются уведомления об ошибках для отдельных команд СИДД. Каждая языковая привязка СИДД определяет механизм выдачи уведомления об ошибке, соответствующий данному конкретному языку.

Схема сеанса СИДД определяет содержание уведомления об ошибке через атрибут sdai_session.errors, который доступен в качестве ресурса любому механизму обработки ошибок языковой привязки СИДД и прикладному программисту.

Полный список индикаторов ошибок языковых привязок СИДД приведен в разделе 11 для соответствующих конструктивов конкретного языка. Реализация должна выбирать коды ошибок из раздела 11 в качестве значения атрибута error_event.error (см. 7.4.7), если команда СИДД ошибочна, за исключением команды открытия сеанса (см. 10.3.1), которая не может присваивать значение атрибуту, так как сеанс еще не инициирован. Механизм уведомления об ошибке, установленный в каждой языковой привязке СИДД, не обязательно выдает коды ошибок, идентичные по типу или значению кодам ошибок, выбранным в атрибуте error_event.error. Привязка может определить дополнительные функции или подпрограммы для уведомления об ошибках и управления ими. Любая такая функция или подпрограмма не может изменять состояний ошибок сеанса СИДД.

5 Основные принципы


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

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

- EXPRESS-схема, на которой основаны СИДД-модели и экземпляры схем, является полностью развернутой формой схемы, в которой допускается использование всех элементов, импортируемых из других схем, что делает ее полной без ссылок на другие схемы (см. А.1);

- процесс, который делает совокупность схемы словаря СИДД доступной в сеансе, разворачивает любые типы данных сложных объектов в виде результата или явного или неявного применения ограничения ANDOR или AND, в соответствии с А.1.3;

- в соответствии с требуемым классом реализации, реализации СИДД делают доступной совокупность схемы словаря СИДД, с помощью элементов на языке EXPRESS, определенных в схеме сеанса СИДД и прикладных схемах;

- схемы, определенные в разделах 6-9, не являются прикладными протоколами или информационными моделями изделий, а учитывают эффективность и удобство описания команд СИДД;

- экземпляры объектов, основанные на одной схеме, могут быть распространены в контексты других схем, базируясь на эквивалентности областей значения (см. А.2) и конструктивах эквивалентности областей значения, определенных в схеме словаря СИДД (см. 6.4.1, 6.4.8 и 6.4.9);

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

6 Схема словаря СИДД


Следующее объявление на языке EXPRESS открывает схему словаря СИДД.

EXPRESS-спецификация

*)

SCHEMA SDAI_dictionarv_schema;


(*

6.1 Введение

Схема словаря СИДД определяет структуру словаря данных, позволяющего получить информацию об EXPRESS-схемах, описывающих экземпляры, используемые в сеансе СИДД. Структура схемы словаря СИДД отражает структуру самого языка EXPRESS. Но в схеме словаря СИДД отражены не все элементы, определяемые с использованием языка EXPRESS, так как некоторые элементы не требуются для определения команд СИДД. Отображение EXPRESS-схем в совокупность схемы словаря СИДД описано в приложении А.

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

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

6.2 Общие положения и допущения

Структура объектов и атрибутов схемы словаря СИДД учитывает реализацию и эффективность доступа.

Пример 5 - Набор (коллекция) schema_definition.entities включает все типы данных объектов, определенных локально в текущей схеме, а также типы, импортированные в данную схему.

Схема словаря СИДД обеспечивает неизменность информации, содержащейся в спецификации интерфейса языка EXPRESS (см. A.1.1).

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

6.3 Определения типов схемы словаря СИДД

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

6.3.1 Тип base_type

Тип base_type представляет собой выбор из типов simple_type, aggregation_type или named_type. Данный тип определяет типы данных, которые могут быть использованы в качестве значений для атрибута или как элемент агрегата.

EXPRESS-спецификация

*)

TYPE base_type = SELECT

(simple_type,
aggregation_type,
named_type);


END_TYPE;

(*

6.3.2 Тип constructed_type

Тип constructed_type представляет собой выбор из типов enumeration_type или select_type. Данный тип определяет типы данных с синтаксической структурой, используемые для обеспечения представления определяемых типов данных из языка EXPRESS.

EXPRESS-спецификация

*)

TYPE constructed_type = SELECT

(enumeration_type,
select_type);


END_TYPE;

(*

6.3.3 Тип underlying_type

Тип underlying_type представляет собой выбор из типов simple_type, aggregation_type, defined_type или constructed_type. Данный тип определяет типы данных, используемые для обеспечения представления определяемых типов данных из языка EXPRESS.

EXPRESS-спецификация

*)

TYPE underlying_type = SELECT

(simple_type,
aggregation_type,
defined_type,
constructed_type);


END_TYPE;

(*

6.3.4 Тип type_or_rule

Тип type_or_rule представляет собой выбор из типов named_type или global_rule. Данный тип описывает определение или ограничение совокупности.

EXPRESS-спецификация

*)

TYPE type_or_rule = SELECT

(named_type,
global_rule);


END_TYPE;

(*

6.3.5 Тип explicit_or_derived

Тип explicit_or_derived представляет собой выбор из типов explicit_attribute или derived_attribute. Данный тип определяет атрибуты, которые могут быть переопределены как вычисляемые (см. 9.2.3.4 ГОСТ Р ИСО 10303-11).

EXPRESS-спецификация

*)

TYPE explicit_or_derived = SELECT

(explicit_attribute,
derived_attribute);


END_TYPE;

(*

6.3.6 Тип express_id

Тип express_id является EXPRESS-идентификатором (см. 7.4 ГОСТ Р ИСО 10303-11) для элементов, объявленных в EXPRESS-схеме. Хотя ГОСТ Р ИСО 10303-11 устанавливает, что регистр букв не имеет значения для EXPRESS-идентификаторов, в качестве значений атрибутов схемы словаря СИДД, область значений которых определяется типом express_id, должны использоваться строчные буквы.

EXPRESS-спецификация

*)

TYPE express_id = STRING;

END_TYPE;

(*

6.3.7 Тип info_object_id

Тип info_object_id является однозначным идентификатором информационного объекта для EXPRESS-схемы в открытой системе (см. приложение С).

EXPRESS-спецификация

*)

TYPE info_object_id = STRING;

END_TYPE;

(*

6.4 Определения объектов схемы словаря СИДД

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

6.4.1 Объект schema-definition

Объект schema-definition является представлением SCHEMA из языка EXPRESS и конструктивом, на которой основаны СИДД-модели и экземпляры схем, и определяет область применения (действия) для набора (коллекции) описаний объектов, типов и правил, состоящих из описаний, взятых из текущей EXPRESS-схемы и разрешенных в этой схеме по спецификации интерфейса на языке EXPRESS. Элементы из инородных схем допускаются в текущей схеме в соответствии с А.1.1.

EXPRESS-спецификация

*)

ENTITY schema_definition:

name

:

esxpress_id;

identification

:

OPTIONAL info_object_id;

INVERSE

entities

:

SET [0:?] OF entity_definition FOR parent_schema;

types

:

SET [0:?] OF defined_type FOR parent_schema;

global_rules

:

SET [0:?] OF global_rule FOR parent_schema;

external_schemas

:

SET [0:?] OF external_schema FOR native_schema;

UNIQUE

UR1

:

identification;


END_ENTITY;

(*

Определения атрибутов

name - имя схемы;

identification - идентификатор информационного объекта схемы, основанный на schema_definition (при его наличии);

entities - объекты, объявленные или разрешенные в схеме;

types - типы, объявленные или разрешенные в схеме;

global_rules - глобальные правила, объявленные или разрешенные в схеме;

external_schemas - схемы, содержащие типы, определенные как имеющие эквивалентные области значений с типами из данной схемы.

Формальные утверждения

UR1 - обозначение объекта для схемы должно быть уникальным.

6.4.2 Объект interface_specification

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

EXPRESS-спецификация

*)

ENTITY interface_specification:

current_schema_id

:

express_id;

explicit_items

:

SET [1:?] OF explicit_item_id;

implicit_items

:

SET [0:?] OF implicit_item_id;

END_ENTITY;

(*

Определения атрибутов

current_schema_id - имя текущей схемы, в которую импортируются элементы; схема, в которой объявлены спецификации USE или REFERENCE;

explicit_items - элементы, импортируемые при помощи операторов USE или REFERENCE языка EXPRESS;

implicit_items - неявно импортируемые элементы.

6.4.3 Объект interfaced_item

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

EXPRESS-спецификация

*)

ENTITY interfaced_item

ABSTRACT SUPERTYPE OF (ONEOF (explicit_item_id, implicit_item_id));

foreign_schema_id

:

express_id;

END_ENTITY;

(*

Определение атрибута

foreign_schema_id - имя схемы, из которой импортирован элемент.

6.4.4 Объект explicit_item_id

Объект explicit_item_id является объектом named_type, определенным в инородной схеме, явно доступным для текущей схемы через операторы USE или REFERENCE языка EXPRESS.

EXPRESS-спецификация

*)

ENTITY explicit_item_id

ABSTRACT SUPERTYPE OF (ONEOF (used_item, referenced_item))

SUBTYPE OF (interfaced item):

local_definition

:

named_type;

original_id

:

OPTIONAL express_id;

END_ENTITY;

(*

Определение атрибутов

local_definition - определение в текущей схеме именованного типа, импортированного из инородной схемы.

original_id - именованный тип в инородной схеме (при его наличии). Тип был переименован в спецификации интерфейса.

6.4.5 Объект used_item

Объект used_item является объектом explicit_item_id, доступным текущей схеме через спецификацию интерфейса на языке EXPRESS для оператора USE.

EXPRESS-спецификация

*) ENTITY used_item

SUBTYPE OF (explicit_item_id);

END_ENTITY;

(*

6.4.6 Объект referenced_item

Объект referenced_item является объектом explicit_item_id, доступным текущей схеме через спецификацию интерфейса на языке EXPRESS для оператора REFERENCE.

EXPRESS-спецификация

*)

ENTITY referenced_item

SUBTYPE OF (explicit_item_id);

END_ENTITY;

(*

6.4.7 Объект implicit_item_id

Объект implicit_item_id является объектом named_type или global_rule, неявно импортированным в текущую схему через спецификацию интерфейса на языке EXPRESS для операторов USE или REFERENCE (см. 11.4 ГОСТ Р ИСО 10303-11).

EXPRESS-спецификация

*) ENTITY implicit_item_id

SUBTYPE OF (interfaced_item);

local_definition

:

type_or_rule;

END_ENTITY;

(*

Определение атрибута

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

6.4.8 Объект external_schema

Объект external_schema является EXPRESS-схемой. типы из которой объявляются как имеющие эквивалентные области значений с типами из собственной схемы.

EXPRESS-спецификация

*)

ENTITY external schema;

name

:

express_id;

native_schema

:

schema_definition;

INVERSE

for_types

:

SET [1:?] OF domain_equivalent_type FOR owner;

END_ENTITY;

(*

Определения атрибутов

name: - имя внешней схемы;

native_schema - локальная схема, в которой типы, определенные во внешней схеме, имеют эквивалентные области значений;

for_types - типы в собственной и внешней схемах, определенные эквивалентными по области значений.

Неформальные утверждения

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

6.4.9 Объект domain_equivalent_type

Объект domain_equivalent_type связывает имя объекта named_type из внешней схемы с объектом named_type из собственной схемы. Этим объявляется, что объект named_type, определенный во внешней схеме, эквивалентен по области значения с объектом named_type, определенным в собственной схеме.

EXPRESS-спецификация

*) ENTITY domain_equivalent_type;

external_type_id

:

express_id;

native_type

:

named_type;

owner

:

external_schema;

END_ENTITY;

(*

Определения атрибутов

external_type_id - имя типа во внешней схеме, который объявлен эквивалентным по области значений с типом в собственной схеме;

native_type - определение типа в собственной схеме, для которого объявлен тип, эквивалентный по области значений;

owner - внешняя схема, содержащая определение текущего типа, эквивалентного по области значений.

Неформальные утверждения

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

IP2 - в случае, когда собственный или внешний тип, или оба одновременно являются типом defined_type, основной тип (underlying_type) типа defined_type должен выражаться типом выбора (select_type), содержащим как минимум один тип объекта в качестве элемента выбора.

6.4.10 Объект named_type

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

EXPRESS-спецификация

*) ENTITY named_type

ABSTRACT SUPERTYPE OF (ONEOF (entity_definition, defined_type));

name

:

express_id;

where_rules

:

LIST [0:?] OF where_rule;

parent_schema

:

schema_definition;

END_ENTITY;

(*

Определения атрибутов

name - имя типа данных;

where_rules - области значения правил, определенные в объявлении типа данных в порядке их появления в данном объявлении;

parent_schema - объект schema_definition, с которым в словаре данных связан named_type.

6.4.11 Объект defined_type

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

EXPRESS-спецификация

*) ENTITY defined_type

SUBTYPE OF (named_type);

domain

:

underlving_type;

END_ENTITY;

(*

Определение атрибута

domain - основной тип определяемого типа.

6.4.12 Объект entity_definition

Объект entity_definition является объектом named_type, определяющим объект в соответствии с объявлением ENTITY языка EXPRESS или отображением, применяемым к комбинации объявлений ENTITY языка EXPRESS, ограничивающей использование ключевых слов ANDOR или AND языка EXPRESS (см. А.1.3). Объекты, установленные таким отображением, рассматриваются как подтипы составных типов объектов.

EXPRESS-спецификация

*)

ENTITY entity_definition

SUBTYPE OF (named_type);

supertypes

:

LIST[0:?] OF UNIQUE entity_definition;

complex

:

BOOLEAN;

instantiable

:

BOOLEAN;

independent

:

BOOLEAN;


INVERSE

attributes

:

SET [0:?] OF attribute FOR parent_entity;

uniquenessr_ules

:

SET [0:?] OF uniqueness rule FOR parent_entity;

global_rules

:

SET [0:?] OF global_rule FOR entities;

END_ENTITY;

(*

Определения атрибутов

supertypes - список типов объектов, для которых тип является непосредственным подтипом, приведенный в алфавитном порядке соответственно значению атрибута entity_definition.name. Если тип объекта является результатом отображения ключевых слов ANDOR или AND языка EXPRESS, все дублирующие супертипы удаляются из данного списка;

complex - булевское значение, соответствующее TRUE, если entity_definition является результатом отображения супертипов ANDOR или AND в прикладной схеме (см. А.1.3), и FALSE, если entity_definition отображен непосредственно из типа объекта в схеме;

instantiable - булевское значение, соответствующее FALSE, если тип объекта объявлен как абстрактный супертип (ABSTRACT SUPERTYPE) в схеме, и TRUE, если нет;

independent - булевское значение, соответствующее FALSE, если тип объекта не является независимым экземпляром, потому что он доступен при помощи спецификации REFERENCE или неявно импортирован в данную схему, и TRUE, если тип объекта объявлен в схеме локально или доступен при помощи спецификации USE;

attributes - атрибуты, объявленные или переобъявленные (см. 9.2.3.4 ГОСТ Р ИСО 10303-11) в типе объекта. Атрибуты, унаследованные из супертипа, не являются элементами данного множества. Поскольку объекты, установленные отображением ключевых слов ANDOR или AND языка EXPRESS, рассматриваются как подтипы составных типов объектов, данное множество является пустым для экземпляров entity_definition, установленных отображением ограничения супертипа из ANDOR или AND языка EXPRESS;

uniqueness_rules - правила уникальности, объявленные в типе объекта. Это множество является пустым для объектов, установленных отображением ограничения супертипа из ANDOR или AND языка EXPRESS;

global_rules - глобальные правила, для которых имя типа объекта представлено в объявлении правила.

6.4.13 Объект attribute

Объект attribute является свойством типа объекта, может быть явным, инверсным или вычисляемым. Атрибут имеет имя и область значений.

EXPRESS-спецификация

*)

ENTITY attribute

ABSTRACT SUPERTYPE OF (ONEOF(derived_attribute, explicit_attribute, inverse_attribute));

name

:

express_id;

parent_entity

:

entity_definition;

END_ENTITY;

(*

Определения атрибутов

name - имя атрибута;

parent_entity - тип объекта, в котором объявлен атрибут.

6.4.14 Объект derived_attribute

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

EXPRESS-спецификация

*) ENTITY derived_attribute

SUBTYPE OF (attribute);

domain

:

base_type;

redeclaring

:

OPTIONAL explicit_or_derived;

END_ENTITY;

(*

Определения атрибутов

domain - тип данных результата вычисления значения атрибута;

redeclaring - переопределяемый атрибут (при его наличии).

6.4.15 Объект explicit_attribute

Объект explicit_attribute является атрибутом, область значения которого явно определена. Может переопределять явный атрибут (см. 9.2.3.4 ГОСТ Р ИСО 10303-11).

EXPRESS-спецификация

*) ENTITY explicit_attribute

SUBTYPE OF (attribute);

domain

:

base_type;

redeclaring

:

OPTIONAL explicit_ attribute;

optional_ flag

:

BOOLEAN;

END_ENTITY;

(*

Определения атрибутов

domain - тип данных, на который ссылается атрибут;

redeclaring - переопределяемый атрибут (при его наличии);

optional_flag - булевское значение, соответствующее TRUE, если атрибут объявлен необязательным (OPTIONAL), и FALSE, если атрибут не объявлен как необязательный.

6.4.16 Объект inverse_attribute

Объект inverse_attribute является атрибутом, охватывающим обратные связи отношений, установленных объектом explicit_attribute, могущим накладывать на них ограничения и представляться как инверсный (INVERSE) атрибут языка EXPRESS. Может переопределять инверсный атрибут (см. 9.2.3.4 ГОСТ Р ИСО 10303-11). Инверсный атрибут может представляться простым типом объекта ли типами SET или BAG. Тип объекта для inverse_attribute называется текущим типом объекта, а тип объекта для explicit_attribute - типом ссылочного объекта (см. 9.2.1.3 ГОСТ Р ИСО 10303-11).

EXPRESS-спецификация

*)

ENTITY inverse_attribute

SUBTYPE OF (attribute);

domain

:

entity_definition;

redeclaring

:

OPTIONAL inverse_attribute;

inverted_attr

:

explicit_attribute;

min_cardinality

:

OPTIONAL bound;

max_cardinality

:

OPTIONAL bound;

duplicates

:

BOOLEAN:

END_ENTITY;

(*

Определения атрибутов

domain - тип ссылочного объекта, определяющий прямое отношение; источник отношения;

redeclaring - переопределяемый атрибут (при его наличии);

inverted_attr - атрибут в типе ссылочного объекта, связь которого инвертируется;

min_cardinality - минимальное число ссылок (при их наличии) из инвертируемого атрибута в экземпляры типа ссылочного объекта, когда инверсный атрибут представлен операторами BAG или SET. При отсутствии данного атрибута инверсный атрибут представляется единственным типом данных объекта, а не операторами BAG или SET;

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

duplicates - булевское значение, соответствующее TRUE, если инверсный атрибут представлен оператором BAG, и FALSE, если инверсный атрибут представлен оператором SET или типом простого объекта.

6.4.17 Объект uniqueness_rule

Объект uniqueness_rule представляет правило UNIQUE языка EXPRESS и определяет комбинацию атрибутов, которая должна быть уникальной в рамках экземпляра объекта entity_definition, внутри которого объявлено данное правило.

EXPRESS-спецификация

*) ENTITY uniqueness_rule;

label

:

OPTIONAL express_id;

attributes

:

LIST[1:?] OF attribute;

parent_entity

:

entity_definition;

END_ENTITY;

(*

Определения атрибутов

label - имя правила уникальности (при его наличии);

attributes - список атрибутов, составляющих правило уникальности;

parent_entity - тип объекта, в котором объявлено данное правило.

6.4.18 Объект where_rule

Объект where_rule ограничивает совокупность и представляет правило WHERE языка EXPRESS. Когда объект объявлен в entity_definition или defined_type, или global_rule, то соответственно ограничиваются значения атрибутов в типе определяемого объекта или область значений определяемого типа, или значения атрибутов в экземплярах типов объектов, для которых применяется глобальное правило, или само существование этих экземпляров.

EXPRESS-спецификация

*)

ENTITY where_rule;

label

:

OPTIONAL express_id;

parent_item

:

type_or_rule;

END_ENTITY;

(*

Определения атрибутов

label - имя правила "where" (при его наличии);

parent_item - тип объекта, определенный тип или глобальное правило, в которых объявлено правило "where".

6.4.19 Объект global_rule

Объект global_rule ограничивает все экземпляры типа объекта или экземпляры типов множественных объектов и представляет оператор RULE языка EXPRESS.

EXPRESS -спецификация

ENTITY global_rule;

name

:

express_id;

entities

:

LIST [1:?] OF entity_definition;

where_rules

:

LIST [1:?] OF where_rule;

parent_schema

:

schema_definition;

END_ENTITY;

(*

Определения атрибутов

name - имя правила;

entities - типы объектов, ограниченных данным правилом, определенные в его объявлении в порядке их перечисления в данном объявлении. Объекты, установленные ограничением супертипа в операторах ANDOR или AND языка EXPRESS, не должны присутствовать в данном списке;

where_rules - области значений правил, объявленные в операторе RULE языка EXPRESS в порядке их перечисления в данном операторе;

parent_schema - схема, в которой объявлено правило.

6.4.20 Объект simple_type

Объект simple_type является неструктурированным, встроенным основным типом языка EXPRESS.

EXPRESS-спецификация

*)

ENTITY simple_type

ABSTRACT SUPERTYPE OF (ONEOF(integer_type, real_type, string_type, binary-type, logical_type, boolean-tvpe, number_type));


END_ENTITY;

(*

6.4.21 Объект number_type

Объект number_type является объектом simple_type, представляющим числовой (NUMBER) тип языка EXPRESS.

EXPRESS-спецификация

*)

ENTITY number_type

SUBTYPE OF (simple_type);


END_ENTITY;

(*

6.4.22 Объект integer_type

Объект integer_type является объектом simple_type, представляющим целочисленный (INTEGER) тип языка EXPRESS.

EXPRESS-спецификация

*)

ENTITY integer_type

SUBTYPE OF (simple_type);


END_ENTITY;

(*

6.4.23 Объект real_type

Объект real_type является объектом simple_type, представляющим действительный (REAL) тип языка EXPRESS. В значении действительного типа может быть задано минимальное число значащих цифр.

EXPRESS-спецификация

*)

ENTITY real_type

SUBTYPE OF (simple_type);

precision

:

OPTIONAL bound;

END_ENTITY;

(*

Определение атрибута

precision - минимальное число значащих цифр в значении типа (при его наличии).

Неформальное утверждение

precision_positive - значение ограничения точности должно приводиться к целому положительному числу (если точность задана).

6.4.24 Объект string_type

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

EXPRESS-спецификация

*)

ENTITY string_type

SUBTYPE OF (simple_type);

width

:

OPTIONAL bound;

fixed_width

:

BOOLEAN;

END_ENTITY;

(*

Определения атрибутов

width - максимальное или, для строк с фиксированной шириной, точное число символов в значении типа (при наличии данного атрибута);

fixed_width - булевское значение, соответствующее TRUE, если тип имеет в качестве области значений строки с фиксированной шириной, и FALSE, если тип имеет в качестве области значений строки с переменной шириной.

Неформальное утверждение

width_positive - значение границы ширины строки должно приводиться к целому положительному числу (если граница задана).

6.4.25 Объект binary_type

Объект binary_type является объектом simple_type, представляющим двоичный (BINARY) тип языка EXPRESS. Двоичный тип может иметь заданную фиксированную или переменную ширину (количество битов).

EXPRESS-спецификация

*)

ENTITY binary_type

SUBTYPE OF (simple type);

width

:

OPTIONAL bound;

fixed_width

:

BOOLEAN;

END_ENTITY;

(*

Определения атрибутов

width - максимальное или, для двоичного числа с фиксированной шириной, точное число битов в значении типа;

fixed_width - булевское значение, соответствующее TRUE, если областью значений типа являются двоичные типы фиксированной ширины, и FALSE, если областью значений типа являются двоичные типы переменной ширины.

Неформальное утверждение

width_positive - значение границы ширины двоичного числа должно приводиться к целому положительному числу (если граница задана).

6.4.26 Объект logical_type

Объект logical_type является объектом simple_type, представляющим логический (LOGICAL) тип языка EXPRESS.

EXPRESS-спецификация

*)

ENTITY logical_type

SUBTYPE OF (simple_type);


END_ENTITY;

(*

6.4.27 Объект boolean_type

Объект boolean_type является объектом simple_type, представляющим булевский (BOOLEAN) тип языка EXPRESS.

EXPRESS-спецификация

*)

ENTITY boolean_type

SUBTYPE OF (simp]e_type);

END_ENTITY;

(*

6.4.28 Объект enumeration_type

Объект enumeration_type представляет перечисляемый (ENUMERATION) тип языка EXPRESS.

EXPRESS-спецификация

*)

ENTITY enumeration_type;

elements

:

LIST [1:?] OF UNIQUE express_id;



Оформить заказ
Корзина: