Товары в корзине: 0 шт Оформить заказ
Стр. 1 

73 страницы

Определяет язык для описания взаимосвязей между данными, управляемыми EXPRESS-схемами, и для описания альтернативных представлений таких данных.

 Скачать PDF

Консультация по подбору ГОСТабесплатно

Идентичен ISO 10303-14:2005

Оглавление

1 Область применения

2 Нормативные ссылки

3 Термины и определения

4 Основные принципы

     4.1 Введение

     4.2 Основные принципы модели исполнения

     4.3 Среда исполнения

5 Требования соответствия

     5.1 Классы соответствия языка EXPRESS-X

6 Синтаксис спецификации языка

7 Основные элементы языка

     7.1 Введение

     7.2 Зарезервированные слова

8 Типы данных

     8.1 Введение

     8.2 Тип данных образа

9 Объявления

     9.1 Введение

     9.2 Связывание

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

     9.4 Объявление отображения

     9.5 Объявление образа схемы

     9.6 Объявление отображения схемы

     9.7 Локальное объявление

     9.8 Объявление констант

     9.9 Объявление функций

     9.10 Объявление процедур

     9.11 Объявление правил

10 Выражения

     10.1 Введение

     10.2 Вызов образа

     10.3 Вызов отображения

     10.4 Вызовы частичного связывания

     10.5 Выражение FOR

     10.6 Выражение IF

     10.7 Выражение CASE

     10.8 Оператор прямого пути

     10.9 Оператор обратного пути

11 Встроенная функция

     11.1 Универсальная функция EXTENT

12 Области действия и видимости

     12.1 Введение

     12.2 Образ схемы

     12.3 Отображение схемы

     12.4 Образ и зависимый образ

     12.5 Метка раздела образа

     12.6 Идентификатор атрибута образа

     12.7 Выражение FOR

     12.8 Отображение и зависимое отображение

     12.9 Элемент языка FROM

     12.10 Цикл создания экземпляра объекта

     12.11 Оператор пути

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

     13.1 Введение

     13.2 Элемент языка REFERENCE

Приложение А (обязательное) Регистрация информационного объекта

Приложение В (обязательное) Синтаксис языка EXPRESS-X

Приложение С (обязательное) Алгоритм преобразования текста с языка EXPRESS-X на язык EXPRESS

Приложение D (справочное) Вопросы реализации

Приложение Е (справочное) Функция unnest оператора пути

Приложение F (справочное) Семантика таблицы отображений

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов национальным стандартам Российской Федерации

Библиография

 

73 страницы

Дата введения01.10.2016
Добавлен в базу01.02.2017
Актуализация01.02.2020

Этот ГОСТ находится в:

Организации:

21.07.2015УтвержденФедеральное агентство по техническому регулированию и метрологии925ст
ИзданСтандартинформ2016 г.
РазработанЦНИИ РТК

Industrial automation systems and integration. Product data representation and exchange. Part 14. Description methods. The EXPRESS-X language reference manual

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27
Стр. 28
стр. 28
Стр. 29
стр. 29
Стр. 30
стр. 30

ГОСТ Р исо

10303-14-

2015

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

НАЦИОНАЛЬНЫМ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

Системы автоматизации производства и их интеграция

ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ

Часть 14

Методы описания.

Справочное руководство по языку EXPRESS-X

ISO 10303-14:2005

Industrial automation systems and integration — Product data representation and exchange — Part 14: Description methods: The EXPRESS-X language reference manual

(IDT)

Издание официальное

Москва

Стандартинформ

2016

Предисловие

1    ПОДГОТОВЛЕН Федеральным государственным автономным научным учреждением «Центральный научно-исследовательский и опытно-конструкторский институт робототехники и технической кибернетики» (ЦНИИ РТК) на основе собственного аутентичного перевода на русский язык международного стандарта, указанного в пункте 4

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 459 «Информационная поддержка жизненного цикла изделий»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 21 июля 2015 г. № 925-ст

4    Настоящий стандарт идентичен международному стандарту ИСО 10303-14:2005 «Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 14. Методы описания. Справочное руководство по языку EXPRESS-Х» (ISO 10303-14:2005 «Industrial automation systems and integration — Product data representation and exchange — Part 14: Description methods: The EXPRESS-X language reference manual»).

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА

5    ВВЕДЕН ВПЕРВЫЕ

Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

© Стандартинформ, 2016

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии

о : organization;

SELECT

po.name := p.last_name; ро.org := о.department__name; END_MAP;

END SCHEMA MAP;

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

#100=PERSON_ORG('Smith','Engineering');    /*    <#1,#31>    */

#101=PERSON_ORG('Smith','Sales');    /*    <#1,#32>    */

#102=PERSON_ORG('Jones','Engineering');    /* <#2,#31> */

#103=PERSON_ORG('Jones' ,'Sales') ;    /*    <#2,#32> */

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

3 В приведенном ниже фрагменте, является ли атрибут ро. dept number двунаправленным или нет, зависит от сущности функции dept_func:    

MAP person_org_map AS ро : person_org;

FROM р: person; о : organization;

SELECT

po.name := p.last name;    --    двунаправленный

po.org : = о.department name; -- двунаправленный

po.industry_code := о.owning_enterprise.industry.code_num; -- двунаправленный po.dept number := dept_func(o.department_name); — возможно, не двунаправленный END MAP;

В данном подразделе определены только основные аспекты модели исполнения. Детали процесса связывания описаны в 9.2. Детали процесса реализации для образов описаны в 9.3, а для отображений — в 9.4.

4.3 Среда исполнения

Язык EXPRESS-X не описывает среду исполнения. В частности, язык EXPRESS-X не определяет:

-    как ссылки соотносятся с именами;

-    как задаются наборы входных и выходных данных;

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

экземпляры объектов в целевом наборе данных. Язык EXPRESS-X не определяет, какой эффект модификация исходных данных может оказать на пространства образов или целевые наборы данных после первоначального отображения.

5 Требования соответствия

5.1    Классы соответствия языка EXPRESS-X

5.1.1    Введение

Класс соответствия реализации анализатора или программы отображения EXPRESS-X показывает, какую часть языка поддерживает данная реализация. Объявления классифицируются с помощью подмножеств языка, как показано в таблице 1.

Таблица 1 — Объявления и подмножества языка EXPRESS-X

Объявление

Подмножество 1

Подмножество 2

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

+

-

Объявление отображения

-

+

Окончание таблицы 1

Объявление

Подмножество 1

Подмножество 2

Объявление зависимого отображения

-

+

Объявление константы

+

+

Объявление функции

+

+

Объявление процедуры

+

+

Объявление правила

+

-

Разработчик анализатора или программы отображения EXPRESS-X должен установить любые ограничения, которые данная реализация накладывает на число и длину идентификаторов, на диапазон обрабатываемых чисел и на максимальную точность представления действительных чисел. Данные ограничения должны быть задокументированы для тестирования на соответствие.

5.1.2    Классы соответствия анализатора EXPRESS-X

Реализация анализатора EXPRESS-X должна обеспечивать синтаксический анализ любых формальных спецификаций, написанных на языке EXPRESS-X, которые согласуются с классом соответствия, присвоенным данной реализации. Считают, что анализатор EXPRESS-X соответствует конкретному уровню проверки, определенному в 5.1.4, если он может выполнить все проверки формальной спецификации, написанной на языке EXPRESS-X, необходимые для данного уровня (и всех нижележащих уровней).

Анализатор EXPRESS-X, относящийся к классу соответствия 1, должен анализировать все объявления из подмножества языка 1 (см. таблицу 1).

Анализатор EXPRESS-X, относящийся к классу соответствия 2, должен анализировать все объявления из подмножества языка 2 (см. таблицу 1).

Анализатор EXPRESS-X, относящийся к классу соответствия 3, должен анализировать все объявления, определенные в настоящем стандарте.

5.1.3    Классы соответствия программы отображения EXPRESS-X

Реализация программы отображения EXPRESS-X должна обеспечивать отображение любых формальных спецификаций, написанных на языке EXPRESS-X, которые согласуются с классом соответствия, присвоенным данной реализации. Отображение осуществляется по отношению к одному или нескольким наборам исходных данных; определение того, как эти наборы данных становятся доступными для программы отображения, находится вне области применения настоящего стандарта.

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

Программа отображения EXPRESS-X, относящаяся к классу соответствия 2, должна обеспечивать отображение всех объявлений из подмножества языка 2 (см. таблицу 1).

Программа отображения EXPRESS-X, относящаяся к классу соответствия 3, должна обеспечивать отображение всех объявлений, определенных в настоящем стандарте.

5.1.4    Проверка совместимости анализаторов EXPRESS-X

5.1.4.1    Введение

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

5.1.4.2    Уровень 1: проверка ссылок

Данный уровень предусматривает проверку формальной спецификации на ее синтаксическую и ссылочную правильность. Формальная спецификация считается синтаксически правильной в том случае, если она соответствует синтаксису, сгенерированному при расширении основного синтаксического правила, представленного в приложении В. Формальная спецификация считается ссылочно правильной в том случае, если все ссылки на элементы языка EXPRESS-X соответствуют правилам области действия и области видимости, определенным в разделе 13.

7

5.1.4.3    Уровень 2: проверка типов данных

Данный уровень включает проверки уровня 1 и проверку формальной спецификации на ее совместимость по следующим позициям:

-    выражения должны подчиняться правилам, определенным в разделе 10 и в ИСО 10303-11, раздел 12;

-    назначения должны подчиняться правилам, определенным в ИСО 10303, подраздел 13.3.

5.1.4.4    Уровень 3: проверка значений

Данный уровень включает проверки уровня 2 и проверку формальной спецификации на ее совместимость с выражениями вида «А должно быть больше, чем В», определенным в ИСО 10303-11, разделы 7—14. При этом данные выражения ограничены случаями, когда значения А и В могут быть получены из литералов и/или констант.

5.1.4.5    Уровень 4: полная проверка

Данный уровень включает проверку формальной спецификации на ее совместимость со всеми требованиями, установленными в настоящем стандарте.

6 Синтаксис спецификации языка

В данном разделе определена нотация, используемая для представления синтаксиса языка EXPRESS-X.

Полный синтаксис языка EXPRESS-X приведен в приложении В. Части этих синтаксических правил воспроизведены в различных разделах настоящего стандарта для иллюстрации синтаксиса конкретных операторов. Эти части не всегда полны. Поэтому иногда необходимо руководствоваться приложением В в отношении недостающих в данном примере правил. Части синтаксических правил в тексте настоящего стандарта представлены в рамках. Каждое синтаксическое правило внутри рамки обозначено слева уникальным номером для использования его в перекрестных ссылках в других синтаксических правилах.

[11-


Синтаксис языка EXPRESS-X определен как производная от синтаксической нотации Вирта (СНВ)

syntax

production

expression

term

factor

identifier

literal

group

option

repetition

Соглашения об обозначениях и самоопределенная СНВ приведены ниже.

{ production }    .

option | repetition

identifier ' = ' expression term { '|' term } . factor { factor }    .

identifier | literal | group character { character }    .

'''' character { character } ' (' expression ') '    .

' [' expression ' ] '    .

' { ' expression '} '    .

Знак равенства ' = ' обозначает порождающее правило. Элемент слева от знака равенства определяется как комбинация элементов, расположенных справа от него. Любые пробелы между элементами правой части не имеют значения, если только они не входят в состав литерала. В конце порождающего правила ставится точка '. '.

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

Литерал используется для обозначения терминального символа, который не может быть раскрыт в дальнейшем. Литерал представляется последовательностью символов, заключенной в апострофы. Чтобы апостроф был включен в литерал, он должен быть записан дважды, т.е. ' ' ' '.

Семантика разных видов скобок определена следующим образом:

-    фигурные скобки ' { }' обозначают ни одного или несколько повторений;

-    квадратные скобки ' [ ] ' обозначают необязательные параметры;

-    круглые скобки ' (    )    '    обозначают, что группа порождающих правил, заключенная в круглые

скобки, должна использоваться как единое порождающее правило;

8

ГОСТ Р ИСО 10303-14-2015

-    вертикальная линия ' | ' обозначает, что в выражении должен использоваться только один из элементов, разделенных вертикальными линиями.

Следующая нотация используется для представления полных наборов символов и некоторых специальных символов, которые трудно визуально отобразить:

-    \а — представляет любой символ из ИСО/МЭК 10646-1;

-    \п — представляет символ новой строки (newline), роль которого зависит от системы (см. пункт 7.1.5.2 ИСО 10303-11).

7 Основные элементы языка

7.1    Введение

В данном разделе определены основные элементы, из которых формируется спецификация отображения EXPRESS-X: набор символов, комментарии, знаки, зарезервированные слова, идентификаторы и литералы.

Элементы языка EXPRESS-X совпадают с элементами языка EXPRESS, определенными в ИСО 10303-11, раздел 7, с некоторыми исключениями, отмеченными далее.

7.2    Зарезервированные слова

Зарезервированными словами языка EXPRESS-X являются ключевые слова и имена встроенных констант, функций и процедур. Все зарезервированные слова языка EXPRESS (см. ИСО 10303-11) являются зарезервированными словами языка EXPRESS-X. Зарезервированные слова не должны использоваться в качестве идентификаторов. Дополнительные зарезервированные слова языка EXPRESS-X определены в таблице 2.

Таблица 2 — Дополнительные ключевые слова языка EXPRESS-X

DEPENDENT МАР

EACH

ELSIF

END DEPENDENT MAP

END МАР

END SCHEMA MAP

END SCHEMA VIEW

END VIEW

EXTENT

IDENTIFIED BY

INDEXING

MAP

ORDERED BY

PARTITION

SCHEMA MAP

SCHEMA VIEW

SOURCE

TARGET

VIEW

Примечание — В том случае, если правильный идентификатор языка EXPRESS совпадает с зарезервированным словом языка EXPRESS-X, использующие данный идентификатор схемы могут быть отображены с помощью переименования конфликтующего идентификатора с использованием элемента языка REFERENCE (см. 13.2).

8 Типы данных

8.1    Введение

Определенный в данном разделе тип данных вместе с типами данных, определенными в языке EXPRESS (ИСО 10303-11, раздел 8), составляют часть языка EXPRESS-X.

Каждый атрибут образа (см. 9.3.2) имеет связанный с ним тип данных.

8.2    Тип данных образа

Типы данных образа устанавливаются с помощью объявлений образа (см. 9.3). Типу данных образа присваивается идентификатор при определении отображения схемы или образа схемы. Ссылки на тип данных образа осуществляются с помощью данного идентификатора.

Синтаксис:

230 view reference = [

( schema map ref

schema view ref ) '

' ] view ref .

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

а) Элемент языка view reference должен представлять собой ссылку на образ, видимый в текущей области действия.

Ь) Элемент языка view reference не должен ссылаться на зависимый образ (см. 9.3.5).

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

VIEW circle;

FROM e : ellipse;

WHERE (e.major axis = e.minor_axis);

SELECT

radius : REAL := e.minor_axis; centre : point := e.centre;

END_VIEW;

9 Объявления

9.1    Введение

В данном разделе определены объявления, доступные в языке EXPRESS-X. Объявление в языке EXPRESS-X создает новый элемент языка и связывает с ним некоторый идентификатор. На элемент языка EXPRESS-X можно ссылаться в любом месте с помощью данного идентификатора.

В языке EXPRESS-X определены следующие объявления:

-    образа;

-    отображения;

-    зависимого отображения;

-    образа схемы;

-    отображения схемы.

Кроме того, спецификация на языке EXPRESS-X может содержать следующие объявления, определенные в ИСО 10303-11:

-    константы;

-    функции;

-    процедуры;

-    правила.

9.2    Связывание

9.2.1    Введение

Связующее пространство представляет собой совокупность связующих экземпляров, созданных из экземпляров, существующих в пространствах исходных объектных типов данных и пространствах образов. Связующее пространство рассчитывается как декартово произведение пространств, на которые имеются ссылки в элементе языка from из объявления образа или отображения.

Квалифицированное связующее пространство является подмножеством связующего пространства, состоящим только из тех связующих экземпляров, для которых элемент языка where возвращает значение true при связывании их переменных со значениями в связующем экземпляре.

Примечание — Положения, определенные в 9.2, применяются к объявлениям отображений и объявлениям образов. Положения, применяемые только к объявлениям образов, определены в 9.3. Положения, применяемые только к объявлениям отображений, определены в 9.4.

9.2.2    Связующее пространство

Синтаксис:

228 view_decl = ( root_view_decl | dependent_view_decl | subtype view decl ) .

136 map decl = MAP map_id AS target_parameter ';'    {    target parameter ';'    }    (

map_subtype_of_clause subtype_binding_header map decl body )    |    (

binding_header map_decl_body { binding_header map_decl_body } )

END_MAP ';'    .

47 binding_header = [ PARTITION partitioned ' ; ' ]    [ from_clause ]    [

local_decl 1 [ 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 .


Элемент языка FROM определяет элементы связующих экземпляров в связующем пространстве. Элемент языка FROM включает один или несколько параметров. Каждый исходный параметр связывает идентификатор с пространством.

10

ГОСТ Р ИСО 10303-14-2015

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

Идентификаторы source parameter id должны быть уникальными в области действия объявления отображения или образа.

Связующее пространство вычисляют как декартово произведение экземпляров пространств, на которые имеются ссылки в элементе языка from.

Пример — Связующее пространство строится над совокупностями объектов item и person.

SCHEMA source_schema.;    —    EXPRE    S S - схема

ENTITY item; item_number : INTEGER; approved_by : STRING;

END_ENTITY;

ENTITY person;

name : STRING;

END_ENTITY;

END_SCHEMA;

SCHEMA_VIEW example;

REFERENCE FROM source_schema;

VIEW items and persons;

FROM i : item; p : person;

SELECT

item_number : INTEGER := i.item number; responsible : STRING := p.name;

END_VIEW;

END_SCHEMA_VIEW;

Пусть Задана следующая совокупность (объекты представлены в соответствии с ИСО 10303-21) :

#1=1ТЕМ(123,'Smith');

#2=1ТЕМ(234,'Smith');

#33=PERSON('Jones');

#44=PERSON('Smith');

тогда соответствующее связующее пространство будет выглядеть следующим образом: {<#1,#33>,<#1,#44>,<#2,#33>,<#2,#44>}.

9.2.3 Квалификация связующего пространства

Элемент языка WHERE определяет критерии выбора связующих экземпляров в связующем пространстве. Элемент языка WHERE вместе с исходными пространствами, определенными в элементе языка from, определяют квалифицированное связующее пространство.

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

Синтаксис элемента языка WHERE определен в пункте 9.2.2.2 ИСО 10303-11.

Пример — Квалифицированное связующее пространство включает те пары объектов item и person из связующего пространства, для которых значением атрибута person. name является 'Smith' или 'Jones' и значением атрибута item. approved_by является также 'Smith' или 'Jones'.

SCHEMA_VIEW example;

REFERENCE FROM source_schema;

VIEW items and persons;

FROM i : item; p : person;

WHERE (p.name = 'Smith') OR (p.name = 'Jones');

(i.approved by = p.name);

SELECT

name : STRING := p.name;

END_VIEW;

END SCHEMA VIEW;

11

Квалифицированное связующее пространство, соответствующее данным из примера в 9.2.2, будет выглядеть следующим образом:

{<#1,#44>,<#2,#44>}.

9.2.4 Идентификация экземпляров образа и целевых экземпляров

Связующий экземпляр отображения или образа, не содержащий элемент языка identified_by_ clause, идентифицируют значениями (экземплярами объектного типа данных), которые он получает из пространств, на которые имеются ссылки в элементе языка FROM. Связующий экземпляр отображения или образа, содержащий элемент языка identified_by_clause, идентифицируют значением (значениями) элемента языка expression в соответствии с синтаксическим правилом 108. Эти схемы идентификации используют при вызове образа (см. 10.2) и вызове отображения (см. 10.3).

Синтаксис:

107    identified_by_clause = IDENTIFIED_BY id_parameter    {id_parameter

' ; ' } •

108    id_parameter = [id_parameter_id ':' expression .

109    id_parameter_id = simple_id .

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

198 source_parameter = source_parameter_id ':' extent_reference .


Элемент языка identified_by_clause определяет отношение эквивалентности между экземплярами в связующем пространстве.

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

При использовании в объявлении отображения элемента языка expression в элементе id_ parameter синтаксические конструкции языка не должны ссылаться на экземпляры целевых объектов отображения или на любые их атрибуты при любом уровне косвенности.

Два связующих экземпляра относятся к одному классу эквивалентности, если для каждого выражения элемента языка identified_by_clause вычисление значения данного выражения в контексте этих экземпляров дает в результате то, что данные экземпляры равны (пункт 12.2.2 ИСО 10303-11). В процессе реализации создается один экземпляр образа (образов) или целевая сеть (отображения) для каждого класса эквивалентности.

Пример —Данный пример иллюстрирует использование элемента языка identifi.ed._by. SCHEMA_VIEW example;

REFERENCE FROM some_s chema;

VIEW department;

FROM e : employee;

IDENTIFIED_BY e.department_name;

SELECT

name : STRING := e.department_name;

END_VIEW;

END_SCHEMA_VIEW;

S CHEMA s ome_s chema;

ENTITY employee; name : STRING; department name : STRING;

END_ENTITY;

END_SCHEMA;

#l=EMPLOYEE('Jones','Engineering');

# 2 =EMPLOYEE('Smith' ,'Sales') ;

#3=EMPLOYEE('Doe','Engineering');

Для представленных в данном примере образе и данных существуют два класса эквивалентности: {<#1>,<#3>} и {<#2>}, соответствующие связующим экземплярам с е. department_name = ' Engineering 'и е. department_name = ' Sales ' соответственно.

9.2.5 Классы эквивалентности и процесс реализации

Атрибуты образа (см. 9.3.2) и атрибуты целевого объекта (см. 9.4.2) представляют характеристики соответствующих образа (объявление образа) и объектов целевой сети (объявление отображения). Эти

12

ГОСТ Р ИСО 10303-14-2015

Синтаксис:

224 view_attribute_decl = view_attribute_id ':'    [    OPTIONAL    ]    [

source_schema_ref '.'    ] base_type 'expression ' ; '    .

134 map_attribute_declaration = [ target_parameter_ref [ index_qualifier ] [ group_qualifier ]    ] attribute_ref [ index_qualifier ]    '

expression ' ; '    .


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

Если класс эквивалентности, определенный элементом языка identified_by_class, содержит более одного квалифицированного связующего экземпляра, то значение элемента expression вычисляется следующим образом:

-    если существуют связующие экземпляры, для которых вычисление значения элемента expression (синтаксическое правило 224) не приводит к неопределенному результату, и если все такие значения, не являющиеся неопределенными, одинаковы (равенство экземпляров) или если существует только одно такое значение, то данное значение присваивается данному атрибуту;

-    если для двух или более связующих экземпляров вычисление значения элемента expression дает не являющиеся неопределенными неравные результаты или если все вычисления производят неопределенные значения, то данному атрибуту присваивается неопределенное значение.

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

(* Исходная схема *)    (*    Целевая    схема    *)

ENTITY employee; name: STRING; manager: STRING; dept: STRING; END_ENTITY;

END SCHEMA;

SCHEMA src;    SCHEMA    tar;

ENTITY department; employee: STRING; manager: STRING; dept_name: STRING; END_ENTITY;

END SCHEMA;

(* Схема отображения *)

SCHEMA_MAP example;

REFERENCE FROM src AS SOURCE; REFERENCE FROM tar AS TARGET;

MAP department_map AS d : department; FROM e : src.employee;

IDENTIFIED_BY e.dept;

SELECT d.employee := e.name; d.manager := e.manager; d.dept_name := e.dept;

END_MAP;

END SCHEMA MAP;

#1=EMPLOYEE('Smith','Jones','Marketing');

# 2 =EMPLOYEE('Doe','Jones','Marketing') ;

В приведенном фрагменте целевой набор данных содержит один экземпляр объекта, # ^DEPARTMENT ($, ' Jones' , ' Marketing'). Атрибут department. dept_name является неопределенным, так как результатом вычисления выражения для данного атрибута являются два разных значения ('Smith' и 'Doe').

9.2.6 Упорядочение экземпляров образа и целевых экземпляров

Элемент языка ORDERED_BY определяет упорядочение связующих экземпляров квалифицированного связующего пространства. Обращения к процедуре частичного связывания (см. 10.4) в соответствующем разделе образа или отображения дают в результате агрегированные структуры, упорядоченные в соответствии с элементом языка ordered by, если он присутствует.

13

Элемент expression в элементе языка ordered by должен вычислять значения одинакового сопоставимого по упорядоченности типа данных для всех связок в данном разделе. К сопоставимым по упорядоченности типам данных относятся number, binary, string и enumeration, а также их конкретизации. Результирующее упорядочение в связующем пространстве должно быть таким, чтобы значением выражения (е < f) не было false, где е и f представляют значения, полученные при вычислении выражения expression (см. синтаксическое правило 148) для любых двух последовательных элементов связующего пространства, а < — оператор сравнения значений языка EXPRESS (ИСО 10303-11, пункт 12.2.1) . Если определены дополнительные элементы языка expression, то для каждого последующего элемента expression описанный процесс применяется к результату вычисления значения предыдущего элемента expression.

Синтаксис:

47 binding header = [ PARTITION partitioned id ';' ]    [    from    clause    ]    [

local decl ]    [    where    clause    ]    [    identified    by    clause    ]    [

ordered_by_clause ].

148 ordered by clause = ORDERED BY expression {    expression    }    .


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

a)    Выражение expression из синтаксического правила 148 не должно давать в результате неопределенное значение для любых связок в данном разделе.

b)    В дочерних разделах образов и отображений не должен быть задан элемент языка ordered_ BY. Дочерние разделы образов и отображений должны наследовать упорядочение от своих родительских разделов, которое определяется элементом языка ordered by, если он там задан.

c)    Совокупность разделов образов, образующая иерархию, должна содержать не более одного элемента языка ordered_by.

d)    Совокупность разделов отображений, связанных элементом map_subtype_of_clause (см. синтаксическое правило 141), должна содержать не более одного элемента языка ordered by.

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 .


ГОСТ Р ИСО 10303-14-2015

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;

Синтаксис:

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 partitioned    ]    where_clause .

47 binding_header = [ PARTITION partition -id ';'    ]    [    from_clause ]    [

local_decl ]    [    where_clause    ]    [ identified_by_c]_ause ]    [

ordered_by_c]_ause ]    .


END VIEW;

15

ГОСТ Р ИСО 10303-14-2015

Содержание

1    Область применения..................................................................1

2    Нормативные ссылки..................................................................1

3    Термины и определения...............................................................2

4    Основные принципы..................................................................3

4.1    Введение........................................................................3

4.2    Основные принципы модели исполнения..............................................4

4.3    Среда исполнения................................................................6

5    Требования соответствия..............................................................6

5.1    Классы соответствия языка EXPRESS-X..............................................6

6    Синтаксис спецификации языка.........................................................8

7    Основные элементы языка.............................................................9

7.1    Введение........................................................................9

7.2    Зарезервированные слова..........................................................9

8    Типы данных.........................................................................9

8.1    Введение........................................................................9

8.2    Тип данных образа................................................................9

9    Объявления........................................................................10

9.1    Введение.......................................................................10

9.2    Связывание.....................................................................10

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

9.4    Объявление    отображения.........................................................18

9.5    Объявление    образа схемы ........................................................28

9.6    Объявление    отображения схемы...................................................29

9.7    Локальное объявление............................................................30

9.8    Объявление    констант.............................................................31

9.9    Объявление    функций.............................................................31

9.10    Объявление процедур...........................................................31

9.11    Объявление правил.............................................................31

10    Выражения........................................................................31

10.1    Введение.....................................................................31

10.2    Вызов образа..................................................................32

10.3    Вызов отображения.............................................................34

10.4    Вызовы частичного связывания...................................................36

10.5    Выражение FOR................................................................37

10.6    Выражение IF..................................................................40

10.7    Выражение CASE..............................................................40

10.8    Оператор прямого пути..........................................................40

10.9    Оператор обратного пути........................................................41

11    Встроенная функция................................................................43

11.1    Универсальная функция EXTENT..................................................43

12    Области действия и видимости.......................................................43

12.1    Введение.....................................................................43

12.2    Образ схемы...................................................................44

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

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

b)    Значение элемента partitioned должно быть уникальным в рамках объявления образа.

c)    Все разделы объявления образа должны определять одинаковые атрибуты (включая имена и типы данных).

d)    Атрибуты объявления образа должны быть представлены в одинаковом порядке в каждом из его разделов.

9.3.4 Постоянные разделы

Раздел, в котором отсутствуют синтаксические элементы from, where и identified_by, называется постоянным разделом. Постоянный раздел представляет один экземпляр образа без привязки к исходным данным.

Пример —Данный пример иллюстрирует использование постоянных разделов: VIEW person;

PARTITION тагу;

'Mary'; 22;

SELECT

name : STRING age : INTEGER PARTITION john;

'John'; 23;

SELECT

name : STRING age : INTEGER END VIEW;

9.3.5 Зависимые образы

Синтаксис:

228 view_decl = ( root_view_decl | dependent_view_decl | subtype_view_decl ) • “

67 dependent view decl = VIEW view_id ':' base type ';' binding header RETURN expression { binding_header RETURN expression } END_VIEW    .


Зависимым образом является образ, в котором нет определения атрибутов. В разделах зависимого образа определен элемент языка return expression (см. синтаксическое правило 67). Вычисление значения элемента языка expression не должно давать в результате значение типа aggregate. Вычисленное значение должно быть сопоставимо по типу данных с элементом языка base type (см. синтаксическое правило 67).

Если класс эквивалентности, определенный элементом языка identifiedby зависимого образа, содержит более одного квалифицированного связующего экземпляра, то возвращаемое значение вычисляется следующим образом:

-    если для каждой такой связки элемент языка return expression (см. синтаксическое правило 67) вычисляет одинаковые значения, то возвращается данное значение;

-    если для двух или более связок элемент языка return expression (см. синтаксическое правило 67) вычисляет разные значения, то возвращается неопределенное значение.

Примеры

1    В данном примере определен подтип типа данных саг, у экземпляров которого атрибут colour имеет значение ' red';

VIEW red car : car;

FROM rc : car;

WHERE rc.colour ='red';

RETURN rc;

END_VIEW;

2    В данном примере определено пространство, члены которого являются строками. Эти строки поступают из двух источников:

VIEW owner_name : STRING;

PARTITION one;

FROM po : person;

ГОСТ Р ИСО 10303-14-2015

12.3    Отображение схемы............................................................44

12.4    Образ и зависимый образ........................................................45

12.5    Метка раздела образа...........................................................45

12.6    Идентификатор атрибута образа..................................................45

12.7    Выражение FOR................................................................45

12.8    Отображение и зависимое отображение............................................45

12.9    Элемент языка FROM...........................................................46

12.10    Цикл создания экземпляра объекта...............................................46

12.11    Оператор пути................................................................46

13 Спецификация интерфейса..........................................................46

13.1    Введение.....................................................................46

13.2    Элемент языка REFERENCE.....................................................46

Приложение А (обязательное) Регистрация информационного объекта.........................48

Приложение В (обязательное) Синтаксис языка EXPRESS-X.................................49

Приложение С (обязательное) Алгоритм преобразования текста с языка EXPRESS-X на язык

EXPRESS...............................................................59

Приложение D (справочное) Вопросы реализации..........................................61

Приложение Е (справочное) Функция unnest оператора пути..................................62

Приложение F (справочное) Семантика таблицы отображений................................63

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов

национальным стандартам Российской Федерации...........................67

Библиография........................................................................68

IV

ГОСТ Р ИСО 10303-14-2015

Введение

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

Стандарты комплекса ИСО 10303 представляют собой набор отдельно издаваемых стандартов (частей). Стандарты данного комплекса относятся к одной из следующих тематических групп: «Методы описания», «Методы реализации», «Методология и основы аттестационного тестирования», «Интегрированные обобщенные ресурсы», «Интегрированные прикладные ресурсы», «Прикладные протоколы», «Комплекты абстрактных тестов», «Прикладные интерпретированные конструкции» и «Прикладные модули». Полный перечень стандартов комплекса ИСО 10303 представлен на сайте http://www.tc184-sc4.org/titles/STEP_Titles.htm. Настоящий стандарт входит в тематическую группу «Методы описания». Он подготовлен подкомитетом SC4 «Производственные данные» Технического комитета 184 ИСО «Системы автоматизации производства и их интеграция». Приложения А, В и С являются неотъемлемой частью настоящего стандарта; приложения D, Е и F являются справочными.

Настоящий стандарт определяет язык для описания взаимосвязей между данными, управляемыми EXPRESS-схемами, и для описания альтернативных представлений таких данных. Данный язых называется EXPRESS-X.

Пользователи настоящего стандарта должны быть знакомы со спецификацией языка EXPRESS, определенной в ИСО 10303-11, и со спецификацией кодирования открытым текстом структуры обмена, определенной в ИСО 10303-21.

v

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Системы автоматизации производства и их интеграция

ПРЕДСТАВЛЕНИЕ ДАННЫХ ОБ ИЗДЕЛИИ И ОБМЕН ЭТИМИ ДАННЫМИ

Часть 14

Методы описания.

Справочное руководство по языку EXPRESS-X

Industrial automation systems and integration. Product data representation and exchange. Part 14. Description methods. The EXPRESS-X language reference manual

Дата введения — 2016—10—01

1    Область применения

Настоящий стандарт определяет язык для описания взаимосвязей между данными, управляемыми EXPRESS-схемами, и для описания альтернативных представлений таких данных. Данный язых называется EXPRESS-X.

EXPRESS-X является языком отображения структурированных данных. Данный язык состоит из элементов, которые позволяют однозначно определять взаимосвязь между EXPRESS-схемами.

Требования настоящего стандарта распространяются:

-    на отображение данных, управляемых одной EXPRESS-схемой, на данные, управляемые другой EXPRESS-схемой;

-    отображение данных, управляемых одной версией EXPRESS-схемы, на данные, управляемые другой версией той же EXPRESS-схемы, причем эти две версии схемы имеют разные имена;

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

-    спецификацию альтернативных представлений данных, определенных в EXPRESS-схеме;

-    альтернативное представление таблиц отображения прикладных протоколов;

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

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

Требования настоящего стандарта не распространяются:

-    на отображение данных, определенных с помощью средств, отличных от языка EXPRESS;

-    идентификацию версии EXPRESS-схемы;

-    графическое представление конструкций языка EXPRESS-X.

2    Нормативные ссылки

В настоящем стандарте использованы ссылки на следующие международные стандарты (для датированных ссылок следует использовать только указанное издание, для недатированных ссылок — последнее издание указанного документа, включая все поправки к нему):

ИСО/МЭК 8824-1:2002* Информационная технология. Абстрактная синтаксическая нотация версии 1 (АСН.1). Часть 1. Спецификация основной нотации (ISO/IEC 8824-1:2002, Information technology — Abstract Syntax Notation One (ASN.1) — Part 1: Specification of basic notation)

* Отменен. Действует ИСО/МЭК 8824-1:2008. Для однозначного соблюдения требований настоящего стандарта, выраженных в датированных ссылках, рекомендуется использовать только данный ссылочный стандарт.

Издание официальное

ИСО 10303-1:1994 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 1. Общие представления и основополагающие принципы (ISO 10303-1:1994, Industrial automation systems and integration — Product data representation and exchange — Part 1: Overview and fundamental principles)

ИСО 10303-11:2004 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS (IS010303-11:2004, Industrial automation systems and integration — Product data representation and exchange — Part 11: Description methods: The EXPRESS language reference manual)

ИСО/МЭК 10646-1:20001 Информационные технологии. Универсальный многооктетный набор кодированных символов (UCS). Часть 1. Архитектура и основная многоязычная матрица (ISO/IEC 10646:2003, Information technology — Universal Multiple-Octet Coded Character Set (UCS) — Part 1: Architecture and Basic Multiligual Plane)

3 Термины и определения

3.1    Термины, определенные в ИСО 10303-1

В настоящем стандарте применены следующие термины:

-    данные (data);

-    информация (information).

3.2    Термины, определенные в ИСО/МЭК 10303-11

В настоящем стандарте применены следующие термины:

-    сложный объектный тип данных (complex entity data type);

-    экземпляр сложного объекта (сложного объектного типа данных) [complex entity (data type) instance];

-    константа (constant);

-    объект (entity);

-    объектный тип данных (entity data type);

-    экземпляр объекта (объектного типа данных) [entity (data type) instance];

-    экземпляр (instance);

-    частичный сложный объектный тип данных (partial complex entity data type);

-    значение частичного сложного объекта (partial complex entity value);

-    совокупность (population);

-    экземпляр простого объекта (простого объектного типа данных) [simple entity (data type)

instance];

-    граф подтипов/супертипов (subtype/supertype graph);

-    лексема (token);

-    значение (value).

3.3    Другие термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями:

3.3.1    связующее пространство (binding extent): Множество связующих экземпляров, созданных из экземпляров, присутствующих в исходных пространствах объектных типов данных и пространствах образов.

3.3.2    связующий экземпляр (binding instance): Совокупность ссылок на экземпляры объектного типа данных и экземпляры типа данных образа, связанные с образом или отображением.

3.3.3    пространство объектного типа данных (entity data type extent): Совокупность экземпляров данного объектного типа данных.

3.3.4    анализатор EXPRESS-X (EXPRESS-X parser): Сервисная программа, способная выполнять синтаксический анализ детализированного описания, сформулированного на языке EXPRESS-X.

3.3.5    программа отображения EXPRESS-X (EXPRESS-X mapping engine): Программное средство, выполняющее отображение структурированной информации, основанное на детализированном описании, сформулированном на языке EXPRESS-X.

ГОСТ Р ИСО 10303-14-2015

3.3.6    отображение (тар): Объявление взаимосвязи между данными, представляющими один или несколько исходных объектных типов данных или исходныхтипов данных образа, и данными, представляющими один или несколько целевых объектных типов данных.

3.3.7    сетевое отображение (network mapping): Отображение на множество целевых экземпляров объектов.

3.3.8    квалифицированное связующее пространство (qualified binding extent): Подмножество связующего пространства, состоящее из связующих экземпляров, соответствующих набору критериев выбора.

3.3.9    критерий выбора (selection criterion): Логическое выражение; критерий выбора соответствует требованиям только в том случае, если оценкой данного выражения является значение TRUE (ИСТИНА).

3.3.10    исходный набор данных (source data set): Совокупность экземпляров объектных типов данных, управляемых EXPRESS-схемой, являющаяся источником данных для отображения.

3.3.11    исходное пространство (source extent): Пространство образа или пространство объектных типов данных, предназначенное для создания связующего пространства.

3.3.12    целевой набор данных (target data set): Совокупность экземпляров объектов, созданных в результате отображения.

3.3.13    образ (view): Альтернативная организация информации в EXPRESS-схеме.

3.3.14    тип данных образа (view data type): Представление образа.

3.3.15    экземпляр типа данных образа (view data type instance): Именованный блок информации, созданный с помощью оценки образа.

3.3.16    пространство образа (view extent): Агрегированная структура экземпляров типов данных образа, содержащая все экземпляры, которые могут быть созданы из квалифицированного связующего пространства.

4 Основные принципы

4.1 Введение

Настоящий стандарт основан на изложенных в данном разделе основных принципах. Кроме того, к настоящему стандарту применимы понятия, описанные в ИСО 10303-11, раздел 5.

Язык EXPRESS-X обеспечивает спецификацию:

-    различающихся образов данных, управляемых EXPRESS-схемой, с использованием объявлений образов (см. 9.3) в образе схемы (см. 9.5);

-    отображения данных, управляемых одной или несколькими исходными EXPRESS-схемами, с использованием объявлений отображения (см. 9.4) в отображении схемы (см. 9.6).

Схема, представленная на языке EXPRESS-X, может содержать спецификации функций и процедур языка EXPRESS, для того чтобы поддержать определение образов и отображений.

Примечания

1    Соглашение об обозначениях, используемое в данной спецификации, должно контекстуализировать части предложения относительно обсуждения образов или отображений за счет включения в соответствующие места предложения терминов “(views [образы])” или “(maps [отображения])”.

2    Соглашение об обозначениях, используемое в данной спецификации, заключается в том, что связующий экземпляр обозначается как упорядоченный набор имен экземпляров объектов или образов, разделенных запятыми (“,”), заключенный в угловые скобки (“<>”). Упорядочение имен экземпляров соответствует порядку появления исходного пространства в элементе языка FROM в объявлении образа или отображения.

Пример — Пусть заданы:

-    объявление образа:

SCHEMA_VIEW my_person_org_achema_view;

REFERENCE FROM person_and_org_schema;

VIEW person_org;

FROM p: person; о : organization; — определяет порядок SELECT

name : STRING := p.last_name;

org : STRING := о.department_name;

END_VIEW;

END SCHEMA VIEW;

3

-    исходная EXPRESS-схема:

SCHEMA person_and_org_schema;

ENTITY person;

first_name : STRING; last_name : STRING;

END_ENTITY;

ENTITY organization;

department_name : STRING;

END_ENTITY;

END_SCHEMA;

-    данные, закодированные в соответствии с ИС010303-21 [2]:

#l=PERSON('James',' Smith') ;

#2=PERSON('Fredrick','Jones');

#31=ORGANIZATION('Engineering');

#32=ORGANIZATION('Sales');

тогда связующие экземпляры для заданных образа и данных могут быть записаны в представленном ниже виде. Понятие связующих экземпляров определено в других разделах настоящего стандарта и не является необходимым для понимания данного примера. Однако необходимо отметить, что первый элемент каждого связующего экземпляра берется из пространства объекта person, а второй элемент — из пространства объекта organization. Данный порядок соответствует порядку появления объектов person и organization в элементе языка FROM данного образа:

{<#1,#31>,<#1,#32>,<#2,#31>,<#2,#32>}.

4.2 Основные принципы модели исполнения

4.2.1    Введение

Настоящая спецификация определяет язык и модель исполнения. Модель исполнения состоит из двух фаз — процесса связывания и процесса реализации. При оценке образов и отображений используется общий процесс связывания, но их процессы реализации различаются.

4.2.2    Процесс связывания

Связующей средой является среда, в которой переменным присваиваются значения. Связующий экземпляр представляет собой структуру, которая связывает переменные, объявленные в элементе языка FROM из объявления образа или отображения. Элемент языка FROM ссылается на исходные пространства объектов и пространства образов. Границы значений берутся из этих исходных пространств. Каждый связующий экземпляр входит в набор, определяемый как декартово произведение ссылочных исходных пространств. Рассчитанный таким образом набор связующих экземпляров является связующим пространством для данного образа или отображения при заданных исходных пространствах. Связки переменных в связующем экземпляре образуют среду для оценки тела образа или отображения в процессе реализации, когда ссылочные данные в связующем экземпляре соотносятся со структурами, создаваемыми в целевой совокупности. Таким образом, каждый связующий экземпляр соответствует экземпляру типа данных образа (образов) либо экземплярам целевого объектного типа данных (отображениям) в целевой совокупности.

Исходные пространства отображений и образов должны быть пространствами объектных типов данных или пространствами образов.

Зацикливание между ссылками и исходными пространствами запрещено.

Примеры

1 В процессе связывания, относящемся к образу, данным и схеме и определенном в примере из 4.1, вычисляется связующее пространство объекта person_org {<#1,#31>,<#1,#32>, <#2 , #31>,<#2 , #32>). Данное пространство представлено ниже в табличной форме:

Связующий экземпляр

person

organization

#

first name

last name

#

department name

<#1,#31>

#i

'James'

'Smith'

#31

'Engineering'

<#1,#32>

#i

'James'

'Smith'

#32

'Sales'

<#2,#31>

#2

'Fredrick'

'Jones'

#31

'Engineering'

<#2,#32>

#2

' Fredrick'

'Jones'

#32

'Sales'

ГОСТ Р ИСО 10303-14-2015

2 Приведенный ниже образ схемы invalid является примером неправильного образа схемы, так как он содержит цикл ссылок (образ а ссылается на образ Ь, который ссылается на образ а): SCHEMA_VIEW invalid;

VIEW а;

FROM some_b : Ъ;

attrl : INTEGER := some_b.attr2 + 2;

END_VIEW;

VIEW b;

FROM some_a : a;

attr2 : INTEGER := some_a.attrl * 3;

END_VIEW;

END SCHEMA VIEW;

4.2.3 Процесс реализации

Связующей средой является среда, в которой переменным присваиваются значения, используемые во время процесса реализации. Каждый связующий экземпляр содержит набор значений, которые должны быть использованы в качестве границ переменных. Процесс реализации образа является процессом оценки тела образа (см. 9.3.2) для каждого связующего экземпляра в связующем пространстве. Порядок оценки связующих экземпляров не определен.

Примеры

1 Процесс связывания, относящийся к объявлению схемы, данных и образа из примера в 4.1, дает в результате связующее пространство объекта person_org:    {<#1,#31>,<#1,#32>,

<#2 , #31>,<#2, #32>}. Объявление образа и данные, использованные в примере из 4.1, здесь приведены еще раз:

VIEW person org;

FROM p: person; о : organization; — определяет порядок SELECT

name : STRING := p.last_name;

org : STRING := о.department_name;

#l=PERSON('James','Smith'); #2=PERSON('Fredrick','Jones');


END VIEW;

#31=ORGANIZATION('Engineering');

#32=ORGANIZATION('Sales');

Связующий экземпляр <#l,#3l> соответствует заданию экземпляра объектного типа данных #1 переменной р и объектного типа данных #31 переменной о. Оценка тела образа в данном связующем пространстве дает в результате экземпляр типа данных образа со значением ' Smith' для атрибута name и значением ' Engineering' для атрибута org. Экземпляры типа данных образа могут быть закодированы так же, как если бы они были экземплярами объектного типа данных, с помощью кодирования, определенного в ИСО 10303-21 [2]. Пространство образа для данного примера выглядит следующим образом:

#100=PERSON_ORG('Smith',    'Engineering');    /*<#1,#31>*/

#101=PERSON_ORG('Smith',    'Sales');    /*    <#1,#32>    */

#102=PERSON_ORG('Jones',    'Engineering');    /*    <#2,#31>    */

#103=PERSON_ORG('Jones',    'Sales');    /*    <#2,#32>    */

S СНЕМА s imi1ar_target; ENTITY person_org; name : STRING; org : STRING; END_ENTITY;

END SCHEMA;


2 Целевая EXPRESS-схема и отображение схемы со структурой, подобной структуре образа схемы, использованного в предыдущем примере, могут быть определены следующим образом:

SCHEMA_MAP similar;

REFERENCE FROM person_and_org_schema AS SOURCE; REFERENCE FROM similar_target AS TARGET;

MAP person_org_map AS po : person_org;

FROM p : person;

5

1

Отменен. Действует ИСО/МЭК 10646:2012. Для однозначного соблюдения требований настоящего стандарта, выраженных в датированных ссылках, рекомендуется использовать только данный ссылочный стандарт.

2