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

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

     11 Спецификация интерфейса


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

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

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

Синтаксис:

228 interface_specification = reference_clause | use_clause .



Внешним объявлением является любое объявление (например, объекта), которое появляется во внешней схеме (любой схеме, отличной от данной схемы).

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

Внешний элемент языка EXPRESS может быть в данной схеме задан новым именем. На элемент языка EXPRESS в данной схеме следует ссылаться по новому имени, заданному после ключевого слова AS.

11.1 Спецификация интерфейса USE

Тип данных объекта или определенный тип данных, объявленный во внешней схеме, становится видимым посредством использования спецификации USE. Спецификация USE задает имя внешней схемы и факультативно объявленные в ней имена типов данных объекта или определенных типов данных. Если в спецификации USE не определен named_types, все поименованные типы данных, объявленные или используемые внешней схемой, трактуются как объявленные локально в данной схеме.

Синтаксис:

313 use_clause = USE FROM schema_ref [ `(` named_type_or_rename

                                  { `,` named_type_or_rename } `)` ] `;`  .

246 named_type_or_rename = named_types [ AS ( entity_id | type_id ) ] .



11.2 Спецификация интерфейса REFERENCE

Спецификация REFERENCE дает возможность сделать видимыми в данной схеме следующие элементы языка EXPRESS, объявленные во внешней схеме:

- константа;

- объект;

- функция;

- процедура;

- тип.

Спецификация REFERENCE задает имя внешней схемы и, факультативно, имена элементов языка EXPRESS, объявленные в ней. Если имена не установлены, то все элементы языка EXPRESS, объявленные или используемые внешней схемой, являются видимыми в текущей схеме.

Синтаксис:

267 reference_clause = REFERENCE FROM schema_ref [ `(` resource_or_rename

                                            { `,` resource_or_rename } `)` ] `;` .

274 resource_or_rename = resource_ref [ AS rename_id ] .

275 resource_ref = constant_ref | entity_ref | function_ref | procedure_ref |

                                    type_ref .

270 rename_id = constant_id | entity_id | function_id | procedure_id | type_id .



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

11.3 Взаимодействие USE и REFERENCE

Если тип данных объекта или определенный тип данных одновременно импортированы в данную схему с использованием USE и REFERENCE, спецификация USE имеет приоритет.