Статус документа
Статус документа

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

10 Команды СИДД

10.1 Введение

В данном разделе определены команды СИДД, не определены порядок выполнения данных команд, входные и выходные данные для них и потенциальные указатели ошибок, обрабатываемые языковыми привязками СИДД.

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


Описание каждой команды должно охватывать следующие аспекты:

- описание выполняемой функции или оказываемой услуги;

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

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

Примечание 2 - Некоторые параметры одновременно могут быть и входными и выходными;


- возможные указатели ошибок: условия, приводящие к неправильному завершению команды. Текст, описывающий указатель ошибки, может отличаться от приведенного в разделе 11 более конкретным описанием типа параметра, связанного с указателем ошибки для данной команды;

- влияние среды СИДД: описание изменений входных параметров и экземпляров объектов схем из разделов 6-9 (при необходимости). Во многих случаях на атрибут определенного экземпляра объекта ссылаются посредством синтаксической конструкции Parameter.attribute, где Parameter является именем входного или выходного параметра, a attribute - атрибутом экземпляра объекта для Parameter.

10.2 Фундаментальные принципы и допущения

Применяют следующие фундаментальные принципы и допущения:

- характеристики параметров команд СИДД, описанные в схемах словаря, сеанса и совокупности СИДД. Отношения подтипов между типами экземпляров объекта, описанные в схеме параметрических данных СИДД;

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

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

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

- когда команда завершается неправильно, значения входных параметров не должны изменяться. Воздействие на выходные параметры в настоящем стандарте не определено;

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

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

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

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

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

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

10.3 Команды среды

10.3.1 Открытие сеанса

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