ГОСТ Р ИСО 10303-21—2022
Приложение Е
(обязательное)
Множество EXPRESS-схем в структуре обмена
Е.1 Допустимые ссылки
Вструктуре обмена с несколькими секциями данных могут быть приведены ссылки на экземпляры объектов,
определенные в секциях данных по различным EXPRESS-схемам. При реализации ссылок между схемами возни
кают два вопроса: 1) какие ссылки можно считать верными? и 2) какие экземпляры следует считать правильными,
основанными на конкретной схеме, при определении схематического соответствия структуре обмена?
В настоящем разделе описаны два метода определения правильности ссылок между экземплярами объек
тов при установлении схематического соответствия для структуры обмена. Можно использовать другие методы, не
определенные в настоящем стандарте.
Примечание — Вданном разделе описаны способы, посредством которых автор документов, определя
ющих EXPRESS-схемы, также может задать правильные ссылки между двумя или несколькими схемами.
При определении схематического соответствия реализация может ссылаться на конкретный документ, опи
сывающий данную схему в рамках определений на языке EXPRESS, сокращенных имен и других требований или
ограничений. Если заданную схему используют в сочетании сдругими, данный документ также должен определять
правильность ссылок между этими схемами.
Если предполагается, что данное определение делается однократно и охватывает ряд схем, то не следует
дополнительно определять верность ссылок в конкретной структуре обмена.
Е.1.1 Метод спецификации интерфейса на языке EXPRESS
При использовании данного метода ссылки между экземплярами объектов различных схем должны быть
заданы посредством определения интерфейса на языке EXPRESS в соответствии с разделом 11 ИСО 10303-11.
На экземпляр типа, заданный в схеме, можно ссылаться через экземпляр типа, определенный вдругой схе
ме, если этот тип связан с последней посредством конструктивов USE или REFERENCE.
Пример
—
Рассматриваются две схемы и основанная на них структура обмена.
SCHEMA base;
ENTITY а;
range : REAL;
END_ENTITY;
ENTITY b;
name : STRING;
END_ENTITY;
END_SCHEMA;
SCHEMA extension;
USE FROM base (a, b);
ENTITY c;
addressedjtem : b;
address : STRING;
END_ENTITY;
RULE a_range_positive FOR (a);
WHERE
WR1: SIZEOF (QUERY (inst <* a | inst.range < 0)) = 0;
END_RULE;
END_SCHEMA;
ISO-10303-21;
HEADER;
61