ГОСТ Р ИСО 10303-22-2002
шивать функциональные возможности, определенные в разделе 10, обеспечивая более эффектив
ную и удобную реализацию этих команд.
Рамичают два типа языковых привязок СИДД: позднюю и раннюю привязку.
Поздние привязки применяют для любой прикладной схемы одним и тем же способом, ис
пользуя один и тот же набор функций. Этот набор доступен прикладному программисту независимо
от прикладной схемы.
Обращения к конкретным конструктивам на языке EXPRESS обеспечиваются через входные
параметры, передаваемые командами СИДД. Поздние привязки определяет набор команд СИДД.
явно доступных прикладному программисту.
Примечание I —Эти команлы и их параметры обычно вычисляютво время выполнении требуемой
функции.
П р и м е р 3 —Команда набора значений атрибута «а!» экземпляра объектатипа «11» в поздней
привязке может быть записана какSetValue(il, tl.al, value).
Ранняя привязка описывает создание интерфейса доступа к данным, основанного на конкрет
ной прикладной схеме. Вместо обеспечения СИДД через входные параметры команд, обращения к
конкретным конструктивам на языке EXPRESS могут явно или неявно встраиваться в имена
функ ций или подпрограмм. Полный набор функций, доступных прикладному программисту,
зависит от прикладной схемы, лежащей в основе реализации СИДД.
П р и м е ч а н и е 2 — Возможна компиляция приклатиой схемы для создания реализации. Такой
компилятор обычно генерирует функции и параметры, вычисляя их во время компиляции приклатиой про
граммы.
П р и м е р 4 —Команда набора значений атрибута *а1» экземпляра объекта «11* типа «И» в ранней
привязке должна быть записана как SetValuct1а1<i1. value).
Ранние и поздние языковые привязки СИДД могут быть опубликованы вместе в одном стан
дарте серии ГОСТ Р ИСО 10303 —в группе методов реализации. Реализации СИДД могут обеспечи
вать одновременное выполнение ранней и поздней привязок и их использование в одной приклад ной
программе.
4.9 Обработка ошибок
Описание каждой команды включает список возможных индикаторов ошибок, могущих воз
никать при условиях, препятствующих успешному завершению данной команды. В настоящем стан
дарте не определено, как выдаются уведомления об ошибках для отдельных команд СИДД. Каждая
языковая привязка СИДД определяет механизм выдачи уведомления об ошибке, соответствующий
данному конкретному языку.
Схема сеанса СИДД определяет содержание уведомления об ошибке через атрибут
sdaisession.errors, который доступен в качестве ресурса любому механизму обработки ошибок язы
ковой привязки СИДД и прикладному программисту.
Полный список индикаторов ошибок языковых привязок СИДД приведен в разделе И для
соответствующих конструктивов конкретного языка. Реализация должна выбирать коды ошибок из
раздела 11 в качестве значения атрибута error_event.error (см. 7.4.7). если команда СИДД ошибоч на,
за исключением команды открытия сеанса (см. 10.3.1), которая не может присваивать значение
атрибуту, так как сеанс еще не инициирован. Механизм уведомления об ошибке, установленный в
каждой языковой привязке СИДД. не обязательно выдает коды ошибок, идентичные по типу или
значению кодам ошибок, выбранным в атрибуте error_event.error. Привязка может определить до
полнительные функции или подпрограммы для уведомления об ошибках и управления ими. Любая
такая функция или подпрограмма не может изменять состояний ошибок сеанса СИДД.
5 Основные принципы
В настоящем стандарте использованы следующие предпосылки и допущения:
- во время сеанса СИДД для каждого экземпляра объекта или агрегата, описанного в схеме
СИДД или прикладной схеме, доступен уникальный и неизменный идентификатор:
- EXPRESS-схема, на которой основаны СИДД-модели и экземпляры схем, является полно
стью развернутой формой схемы, в которой допускается использование всех элементов, импорти
руемых из других схем, что делает ее полной без ссылок на другие схемы (см. A.I);
7