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

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

     9.3 Объявление образа

9.3.1 Введение

Объявление образа создает тип данных образа и объявляет идентификатор, чтобы на него ссылаться.

Пример - Следующее объявление образа создает тип данных образа arm_person_role_in_organization.

VIEW arm_person_role_in_organization;

FROM

pao : person_and_organization;

ccdpaoa : cc_design_person_and_organization_assignment;

WHERE ccdpaoa.assigned_person_and_organization :=: pao;

SELECT

person : person := pao.the_person;

org : organization := pao.the_organization;

role : label := ccdpaoa.role.name;

END VIEW;

Синтаксис:

228

view_decl = ( root_view_decl | dependent_view_decl | subtype_view_decl ) .

177

root_view_decl = VIEW view_id [ supertype_constraint ] ';'
Binding_header SELECT view_attr_decl_stmt_list { binding_header SELECT view_attr_decl_stmt_list } END_VIEW ';' .

47

binding_header = [ PARTITION partition_id ';' ] [ from_clause ] [ local_decl ] [ where_clause ] [ identified_by_clause ] [ ordered_by_clause ].

90

from_clause = FROM source_parameter ';' { source_parameter ';' } .

198

source_parameter = source_parameter_id ':' extent_reference .

83

extent_reference = source_entity_reference | view_reference .

9.3.2 Атрибуты образа

Атрибут типа данных образа представляет характеристику образа. Значение атрибута экземпляра образа получают в результате вычисления значения выражения, представленного элементом языка expression из синтаксического правила 224.

Имя атрибута образа (view_attribute_id из синтаксического правила 224) представляет роль, которую играет связанное с ним значение в контексте образа, в котором присутствует данный атрибут.     

Синтаксис:

226

view_attr_decl_stmt_list = { view_attribute_decl } .

224

view_attribute_decl = view_attribute_id ':' [ OPTIONAL ] [ source_schema_ref '.' ] base_type ':=' expression ';' .


Правила и ограничения

a) Значение, полученное в результате вычисления выражения, представленного элементом языка expression из синтаксического правила 224, должно быть совместимо по присваиванию с атрибутом образа base_type.

b) Любое имя атрибута образа view_attribute_id, объявленное в объявлении образа, должно быть уникально в рамках данного объявления.

c) Элемент языка OPTIONAL показывает, что значение данного атрибута может быть неопределенным. Использование элемента языка OPTIONAL не влияет на модель исполнения.

9.3.3 Разделы образа

Раздел образа является подмножеством пространства образа. Пространство образа представляет собой объединение его разделов. Объявление образа состоит из одного или нескольких объявлений разделов, в каждое из которых входят свои собственные элементы языка FROM и WHERE.

Пример - В ИСО 10303-201 прикладной объект ORGANIZATION может быть отображен из объекта PERSON, ORGANIZATION или PERSON_AND_ORGANIZATION. Отображение образа данной схемы на образ arm_organization определено следующим образом:

VIEW arm_organization;

PARTITION a_single_person;

FROM p : person;

...

PARTITION a_single_organization;

FROM o: organization;

...

PARTITION a_person_in_an_organization;

FROM po: person_and_organization;

...

END VIEW;

Синтаксис:

228

view_decl = ( root_view_decl | dependent_view_decl | subtype_view_decl ).

177

root_view_decl = VIEW view_id [ supertype_constraint ] ';'
Binding_header SELECT view_attr_decl_stmt_list { binding_header SELECT
view_attr_decl_stmt_list } END_VIEW ';'.

67

dependent_view_decl = VIEW view_id ':' base_type ';' binding_header
RETURN expression { binding_header RETURN expression } END_VIEW ';' .

206

subtype_view_decl = VIEW view_id subtype_declaration ';'
subtype_binding_header SELECT view_attr_decl_stmt_list {
subtype_binding_header SELECT view_attr_decl_stmt_list } END_VIEW ';'.

203

subtype_binding_header = [ PARTITION partition_id ';' ] where_clause .

47

binding_header = [ PARTITION partition_id ';' ] [ from_clause ] [
local_decl ] [ where_clause ] [ identified_by_clause ] [ ordered_by_clause ] .


Правила и ограничения

a) Если в объявлении образа присутствует более одного раздела, то элемент языка partition_id должен быть задан для каждого раздела.