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

202 страницы

В стандарте определен язык, посредством которого могут быть описаны данные об изделии. Данный язык называется EXPRESS. В стандарте также определено графическое представление для подмножества конструкций языка EXPRESS. Данное графическое представление называется EXPRESS-G. EXPRESS является языком определения данных, как это установлено в ИСО 10303-1. Данный язык состоит из элементов, которые позволяют однозначно определять данные и устанавливать ограничения на эти данные. Область применения стандарта распространяется на: - типы данных; - ограничения на экземпляры типов данных. Область применения стандарта не распространяется на: - определение форматов баз данных; - определение форматов файлов; - определение форматов передачи; - управление процессами; - обработку информации; - обработку исключительных ситуаций. Язык EXPRESS не является языком программирования.

 Скачать PDF

Оглавление

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

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

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

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

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

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

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

     4.1 Формальные спецификации, написанные на языке ЕХРRЕSS

     4.1.1 Лексический язык

     4.1.2 Графическая форма

     4.2 Реализации языка ЕХРRЕSS

     4.2.1 Синтаксический анализатор языка ЕХРRЕSS

     4.2.2 Графический редактор

5 Фундаментальные принципы

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

     6.1 Синтаксис спецификации

     6.2 Обозначение специальных символов

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

     7.1 Набор символов

     7.1.1 Цифры

     7.1.2 Буквы

     7.1.3 Специальные символы

     7.1.4 Подчеркивание

     7.1.5 Пустое пространство

     7.1.6 Комментарии

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

     7.2.1 Ключевые слова

     7.2.2 Зарезервированные слова, обозначающие операторы

     7.2.3 Встроенные константы

     7.2.4 Встроенные функции

     7.2.5 Встроенные процедуры

     7.3 Знаки

     7.4 Идентификаторы

     7.5 Литералы

     7.5.1 Двоичный литерал

     7.5.2 Целочисленный литерал

     7.5.3 действительный литерал

     7.5.4 Строковый литерал

     7.5.5 Логический литерал

8 Типы данных

     8.1 Простые типы данных

     8.1.1 Числовой тип данных

     8.1.2 Действительный тип данных

     8.1.3 Целочисленный тип данных

     8.1.4 Логический тип данных

     8.1.5 Булев тип данных

     8.1.6 Строковый тип данных

     8.1.7 двоичный тип данных

     8.2 Агрегированные типы данных

     8.2.1 Тип данных АRRАY

     8.2.2 Тип данных LIST

     8.2.3 Тип данных ВАG

     8.2.4 Тип данных SЕТ

     8.2.5 Уникальность значений в агрегированных структурах

     8.3 Именованные типы данных

     8.3.1 Объектный тип данных

     8.3.2 Определенный тип данных

     8.4 Конструкционные типы данных

     8.4.1 Перечисляемый тип данных

     8.4.2 Выбираемый тип данных

     8.5 Обобщенные типы данных

     8.6 Классификация применения типов данных

     8.6.1 Конкретизирующие типы данных

     8.6.2 Параметрические типы данных

     8.6.3 Базисные типы данных

9 Объявления

     9.1 Объявление типа

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

     9.2.1 Атрибуты

     9.2.2 Локальные правила

     9.2.3 Подти пы и суперти пы

     9.2.4 Абстрактный объектный тип данных

     9.2.5 Ограничения подтипов/супертипов

     9.2.6 Неявные объявления

     9.2.7 Конкретизация

     9.3 Схема

     9.4 Константа

     9.5 Алгоритмы

     9.5.1 Функция

     9.5.2 Процедура

     9.5.3 Параметры

     9.5.4 Локальные переменные

     9.6 Правило

     9.7 Ограничения подтипов

     9.7.1 Ограничение абстрактного супертипа

     9.7.2 Подтипы полного покрытия

     9.7.3 Перекрывающиеся подтипы и их спецификация

10 Область видимости и видимость

     10.1 Правила области видимости

     10.2 Правила видимости

     10.3 Правила для явных элементов

     10.3.1 Оператор альтернативных имен АЫАЗ

     10.3.2 Атрибут

     10.3.3 Константа

     10.3.4 Элемент перечисления

     10.3.5 Объект

     10.3.6 Функция

     10.3.7 Параметр

     10.3.8 Процедура

     10.3.9 Выражение QUERY

     10.3.10 Оператор цикла

     10.3.11 Правило

     10.3.12 Метка правила

     10.3.13 Схема

     10.3.14 Ограничение подтипа

     10.3.15 Тип

     10.3.16 Метка типа

     10.3.17 Переменная

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

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

     11.2 Спецификация интерфейса RЕFЕRЕNСЕ

     11.3 Взаимодействие интерфейсов USЕ и RЕFЕRЕNСЕ

     11.4 Импорт объектов посредством неявных интерфейсов

     11.4.1 Импорт констант

     11.4.2 Импорт определенных типов данных

     11.4.3 Импорт объектных типов данных

     11.4.4 Импорт функций

     11.4.5 Импорт процедур

     11.4.6 Импорт правил

     11.4.7 Импорт ограничений подтипов

12 Выражения

     12.1 Арифметические операторы

     12.2 Операторы отношений

     12.2.1 Операторы сравнения значений

     12.2.2 Операторы сравнения экземпляров

     12.2.3 Оператор принадлежности

     12.2.4 Интервальные выражения

     12.2.5 Оператор сопоставления строк

     12.3 Двоичные операторы

     12.3.1 Индексирование двоичных чисел

     12.3.2 Оператор двоичной конкатенации

     12.4 Логические операторы

     12.4.1 Оператор NОТ

     12.4.2 Оператор АMD

     12.4.3 Оператор ОR

     12.4.4 Оператор ХОR

     12.5 Строковые операторы

     12.5.1 Индексирование строк

     12.5.2 Оператор конкатенации строк

     12.6 Операторы агрегированных структур

     12.6.1 Индексирование агрегированных структур

     12.6.2 Оператор пересечения

     12.6.3 Оператор объединения

     12.6.4 Оператор различия

     12.6.5 Оператор подмножества

     12.6.6 Оператор супермножества

     12.6.7 Оператор запроса

     12.7 Ссылки

     12.7.1 Простые ссылки

     12.7.2 Префиксные ссылки

     12.7.3 Ссылки на атрибуты

     12.7.4 Групповые ссылки

     12.8 Вызов функции

     12.9 Инициализатор агрегированных структур

     12.10 Оператор построения экземпляра сложного объекта

     12.11 Совместимость типов

     12.12 Выбираемые типы данных в выражениях

     12.12.1 Выбираемые типы данных в унарных выражениях

     12.12.2 Выбираемые типы данных в бинарных выражениях

     12.12.3 Выбираемые типы данных в тернарных выражениях

13 Исполняемые операторы

     13.1 Пустой оператор

     13.2 Оператор АLIАS

     13.3 Присваивание

     13.3.1 Оператор присваивания

     13.3.2 Совместимость по присваиванию

     13.4 Оператор САSЕ

     13.5 Составной оператор

     13.6 Оператор ЕSСАРЕ

     13.7 Оператор 1F...ТНЕN...ЕLSЕ

     13.8 Оператор вызова процедур

     13.9 Оператор RЕРЕАТ

     13.9.1 Инкрементное управление

     13.9.2 Управляющее условие WHILE

     13.9.3 Управляющее условие UNTIL

     13.10 Оператор RETURN

     13.11 Оператор SКIР

14 Встроенные константы

     14.1 Константа е

     14.2 Неопределенность

     14.3 Константа FАLSЕ

     14.4 Константа РI

     14.5 SЕLF

     14.6 Константа ТRUЕ

     14.7 Константа UNKNOWN

15 Встроенные функции

     15.1 Арифметическая функция АВS

     15.2 Арифметическая функция АСОS

     15.3 Арифметическая функция АSINI

     15.4 Арифметическая функция АТАN

     15.5 Двоичная функция ВLЕNGТН

     15.6 Арифметическая функция СОS

     15.7 Универсальная функция ЕХISТS

     15.8 Арифметическая функция ЕХР

     15.9 Универсальная функция FОRМАТ

     15.9.1 Символьное представление

     15.9.2 Представление шаблоном

     15.9.3 Стандартное представление

     15.10 Арифметическая функция НIВОUND

     15.11 Арифметическая функция НIINDЕХ

     15.12 Строковая функция LENGТН

     15.13 Арифметическая функция LОВОUND

     15.14 Арифметическая функция LОG

     15.15 Арифметическая функция LОG2

     15.16 Арифметическая функция LОG10

     15.17 Арифметическая функция LОINDЕХ

     15.18 Функция пустого значения NVL.

     15.19 Арифметическая функция ОDD

     15.20 Универсальная функция RОLЕSОF

     15.21 Арифметическая функция SIN

     15.22 Агрегированная функция SIZЕОF

     15.23 Арифметическая функция SQRT

     15.24 Арифметическая функция ТАN

     15.25 Универсальная функция ТYРЕОF

     15.26 Универсальная функция USЕDIN

     15.27 Арифметическая функция VАLUE

     15.28 Функция принадлежности VАLUE_IN

     15.29 Функция уникальности VАLUE_UNIQUЕ

16 Встроенные процедуры

     16.1 Процедура INSЕRТ

     16.2 Процедура RЕМОVЕ

Приложение А (обязательное) Синтаксис языка ЕХРRЕSS

     А.1 Лексические элементы

     А.1.1 Ключевые слова

     А.1.2 Классы символов

     А.1 .3 Лексические элементы

     А.1.4 Комментарии

     А.1 .5 Интерпретированные идентификаторы

     А.2 Грамматические правила

     А.3 Список перекрестных ссылок

Приложение В (обязательное) Определение допустимых реализаций объектов

     В.1 Формализованный подход

     В.2 Операторы ограничения суперти пов и подтипов

     В.2.1 ОNЕОF

     В.2.2 АND

     В.2.3 АNDОR

     В.2.4 Приоритет операторов

     В.3 Интерпретация возможныхтипов данных сложных объектов

Приложение С (обязательное) Ограничения на экземпляры, налагаемые спецификацией интерфейса

Приложение D (обязательное) Графическое подмножество языка ЕХРRЕSS - ЕХРRЕSS-Q

     D.1 Введение и обзор

     D.2 Обозначения определений

     D.2.1 Обозначения простых типов данных

     D.2.2 Обозначения конструкционных типов данных

     D.2.3 Обозначение определенныхтипов данных

     D.2.4 Обозначение объектных типов данных

     D.2.5 Обозначение ограничений подтипов

     D.2.6 Обозначение функций и процедур

     D.2.7 Обозначение правил

     D.2.8 Обозначение схем

     D.3 Обозначение взаимосвязей

     D.4 Обозначение компоновки диаграмм

     D.4.1 Ссылки между страницами

     D.4.2 Ссылки между схемами

     D.5 диаграммы уровня объектов

     D.5.1 Имена ролей

     D.5.2 Мощности множеств

     D.5.3 Ограничения

     D.5.4 Конструкцион ные и определенные типы данных

     D.5.5 Объектные типы данных

     D.5.6 Ссылки между схемами

     D.6 диаграммы уровня схем

     D.7 Полные ЕХРRЕSS-G диаграммы

     D.7.1 Полная диаграмма уровня объектов

     D.7.2 Полная диаграмма уровня схем

Приложение Е (обязательное) Заявка о соответствии реализации протоколу (ЗСРП)

     Е.1 Синтаксический анализатор языка ЕХРRЕSS

     Е.2 Средство редактирования ЕХРRЕSS-G

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

     F.1 Обозначение документа

     F.2 Обозначение синтаксиса

Приложение G (обязательное) Генерация одной схемы из нескольких схем

     G.1 Введение

     G.2 Основные понятия

     G.3 Изменение имен

     G.3.1 Конфликты имен

     G.3.2 Идентификаторы, представленные строками

     G.4 Этап 1 - преобразование нескольких схем в промежуточную схему

     G.4.1 Введение

     G.4.2 Первичное содержимое

     G.4.3 Вторичное содержимое

     G.4.4 Сокращение

     G.4.5 Имена и версии схем

     G.5 Этап 2 - преобразование промежуточной схемы в схему по ИСО 10303-11:1994 .

     G.5.1 Введение

     G.5.2 Инициализация

     G.5.3 Преобразование наращиваемых конструкционных типов данных

     G.5.4 Преобразование ограничений подтипов

     G.5.5 Преобразование абстрактных объектных и обобщенных типов данных

     G.5.6 Преобразование атрибутов, переименованных при повторном объявлении

Приложение Н (справочное) Взаимосвязи

     Н.1 Взаимосвязи через атрибуты

     Н.1.1 Простая взаимосвязь

     Н.1.2 Групповая взаимосвязь

     Н.1.3 дистрибутивная взаимосвязь

     Н.1.4 Инверсныйатрибут

     Н.2 Взаимосвязи подтип/супертип

Приложение J (справочное) Модели на языке ЕХРRЕSS для примеров, иллюстрирующих ЕХРRЕSS-G

     J.1 Пример модели единой схемы

     J.2 Модель взаимосвязей

     J.3 Простое дерево подтипов/супертипов

     J.4 Повторное объявление атрибутов

     J.5 Модели, состоящие из нескольких схем

Приложение К (справочное) Возможность языка ЕХРRЕSS, не рекомендуемые к использованию .

Приложение L. (справочное) Пример использования новых конструкций языка ЕХРRЕSS

     L.1 Примеруправления разработкой изделий

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

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

Стр. 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-11—

2009


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

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

Часть 11

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

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

ISO 10303-11:2004

Industrial automation systems and integration — Product data representation and exchange — Part 11: Description methods.

The EXPRESS language reference manual (IDT)

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

Ю

h-

0

1

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

2010


Предисловие

Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. № 184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации — ГОСТ Р 1.0 — 2004 «Стандартизация в Российской Федерации. Основные положения»

Сведения о стандарте

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

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

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

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

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

5    ВЗАМЕН ГОСТ Р ИСО 10303-11-2000

Информация об изменениях к настоящему стандарту публикуется в ежегодно издаваемом информационном указателе «Национальные стандарты», а текст изменений и поправок — в ежемесячно издаваемых информационных указателях «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет

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

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

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

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

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

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

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

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

Дата введения —2010 — 07—01

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

В настоящем стандарте определен язык, посредством которого могут быть описаны данные об изделии. Данный язык называется EXPRESS.

В настоящем стандарте также определено графическое представление для подмножества конструкций языка EXPRESS. Данное графическое представление называется EXPRESS-G.

EXPRESS является языком определения данных, как это установлено в ИС010303-1. Данный язык состоит из элементов, которые позволяют однозначно определять данные и устанавливать ограничения на эти данные.

Область применения настоящего стандарта распространяется на:

-типы данных;

-    ограничения на экземпляры типов данных.

Область применения настоящего стандарта не распространяется на:

-    определение форматов баз данных;

-    определение форматов файлов;

-    определение форматов передачи;

-    управление процессами;

-    обработку информации;

-    обработку исключительных ситуаций.

Язык EXPRESS не является языком программирования.

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

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

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

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

ИСО/МЭК 10646:2003 Информационные технологии. Универсальный многооктетный набор закодированных символов (UCS) [ISO/IEC 10646:2003, Information technology—Universal Multiple-Octet Coded Character Set (UCS)]

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

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

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

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

-    требование соответствия (conformance requirement);

-    контекст (context);

-данные (data);

-    язык определения данных (data specification language);

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

-    информационная модель (information model);

-    форма ЗСРП (PICS proforma).

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

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

графический символ (graphic character).

Примечание—Данное определение охватывает только те символы из ИСО/МЭК 10646, которые имеют установленное визуальное представление; тем самым исключаются любые пустые или заштрихованные позиции в таблице символов.

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

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

3.3.1    сложный объектный тип данных (complex entity data type): Представление объекта. Сложный объектный тип данных устанавливает область значений, определяемую общими атрибутами и ограничениями допустимой комбинации объектных типов данных в конкретном графе подтипов/супертипов.

3.3.2    экземпляр сложного объекта (сложного объектного типа данных) [complex entity (data type) instance]: Именованное значение сложного объектного типа данных. Имя экземпляра сложного объекта используется для ссылок на данный экземпляр.

3.3.3    значение сложного объекта (сложного объектного типа данных) [complex entity (data type) value]: Элемент данных, представляющий элемент информации в рамках класса, определяемого сложным объектным типом данных. Данный элемент принадлежит области определения, установленной данным сложным объектным типом данных.

3.3.4    константа (constant): Именованный элемент данных из заданной области определения, значение которого не может быть изменено.

3.3.5    тип данных (data type): Область значений.

3.3.6    объект (entity): Класс информации, определенный общими свойствами.

3.3.7    объектный тип данных (entity data type): Представление объекта. Объектный тип данных устанавливает область значений, определяемую общими атрибутами и ограничениями.

3.3.8    экземпляр объекта (объектного типа данных) [entity (data type) instance]: Именованное значение объектного типа данных. Имя экземпляра объекта используется для ссылок на данный экземпляр.

3.3.9    значение (отдельного) объекта (объектного типа данных) [(single) entity (data type) value]: Элемент данных, представляющий элемент информации в рамках класса, определенного объектным типом данных. Данный элемент принадлежит области определения, установленной данным объектным типом данных.

3.3.10    экземпляр (instance): Именованное значение.

3.3.11    многолепестковый сложный объект (многолепестковый сложный объектный тип данных) [multi-leaf complex entity (data type)]: Сложный объектный тип данных, состоящий из нескольких объектных типов данных, которые не имеют последующих подтипов в рамках данного сложного объектного типа данных.

3.3.12    экземпляр многолепесткового сложного объекта (многолепесткового сложного объектного типа данных) [multi-leaf complex entity (datatype) instance]: Именованное значение многолепесткового сложного объектного типа данных. Имя экземпляра многолепесткового сложного объекта используется для ссылок на данный экземпляр.

3.3.13    значение многолепесткового сложного объекта (многолепесткового сложного объектного типа данных) [multi-leaf complex entity (data type) value]: Элемент данных, представляющий элемент информации в рамках класса, определяемого многолепестковым сложным объектным типом данных.

ГОСТ Р ИС010303-11 —2009

Данный элемент принадлежит области определения, установленной данным многолепестковым сложным объектным типом данных.

3.3.14    частичный сложный объектный тип данных (partial complex entity datatype): Потенциальное представление объекта. Частичный сложный объектный тип данныхявляется группировкой объектных типов данных в графе подтипов/супертипов, которая может частично или полностью формировать сложный объектный тип данных.

3.3.15    значение частичного сложного объекта (partial complex entity value): Значение частичного сложного объектного типа данных. Данное значение само по себе не имеет смысла и должно объединяться с другими значениями частичного сложного объекта и с именем для формирования экземпляра сложного объекта.

3.3.16    совокупность (population): Множество экземпляров объектного типа данных.

3.3.17    основная схема (primary schema): Схема в группе взаимосвязанных схем, образующая ориентированный граф, возможно, циклический. Основная схема является предметом интереса. В графе могут существовать одна или несколько основных схем, тогда как остальные схемы графа служат только для поддержки основных схем. Основная схема играет особую роль в преобразовании из короткой формы схемы в длинную форму (см. приложение G).

3.3.18    корневая схема (root schema): Схема в группе взаимосвязанных схем, образующая ориентированный граф, возможно, циклический. Корневая схема не является целью в какой-либо спецификации интерфейса, но все другие схемы должны быть достижимы из корневой схемы. Корневая схема может рассматриваться в качестве представителя графа. Корневая схема играет особую роль в преобразовании из короткой формы схемы в длинную форму (см. приложение G).

3.3.19    экземпляр простого объекта (простого объектного типа данных) [simple entity (data type) instance]: Именованный элемент данных, представляющий блок информации в рамках класса, определенного объектом. Данный элемент принадлежит области определения, установленной отдельным объектным типом данных.

3.3.20    граф подтипов/супертипов (subtype/supertype graph): Объявленная совокупность объектных типов данных. Объектные типы данных, объявленные в графе подтипов/супертипов, связаны через формулировку подтипов. Граф подтипов/супертипов определяет один или несколько сложныхобъектныхтипов данных.

3.3.21    лексема (token): Не подлежащий декомпозиции лексический элемент языка.

3.3.22    значение (value): Элемент данных.

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

4.1    Формальные спецификации, написанные на языке EXPRESS

4.1.1    Лексический язык

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

Уровни проверки

Уровень 1 — проверка ссылок. Данный уровень состоит из проверки формальной спецификации для подтверждения ее синтаксической и ссылочной корректности. Формальная спецификация синтаксически корректна, если она соответствует синтаксису, сформированному посредством расширения основного синтаксического правила (syntax), установленного в приложении А. Формальная спецификация корректна в отношении ссылок, если все ссылки на элементы языка EXPRESS соответствуют области применения и правилам видимости, установленным в разделах 10 и 11.

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

-    выражения должны удовлетворять правилам, установленным в разделе 12;

-    присваивания должны удовлетворять правилам, установленным в 13.3;

-    объявления инверсных атрибутов должны удовлетворять правилам, установленным в 9.2.1.3;

-    повторные объявления атрибутов должны удовлетворять правилам, установленным в 9.2.3.4.

Уровень 3 — проверка значений. Данный уровень состоит из проверки формальной спецификации

для подтверждения ее соответствия утверждениям типа «А должно быть больше В», установленным

3

в разделах 7 — 16. Данная проверка ограничена случаями, когда значения А и В могут быть выражены литералами и/или константами.

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

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

4.1.2    Графическая форма

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

Уровни проверки

Уровень 1 — проверка символов и области видимости. Данный уровень включает в себя проверку формальной спецификации для подтверждения ее соответствия спецификации уровня объекта или спецификации уровня схемы, которые определены в приложении D, разделы D.5 и D.6, соответственно. Данная проверка предусматривает проверку использования в формальной спецификации символов в соответствии с приложением D, разделы D.2, D.3 и D.4. Формальная спецификация также должна быть проверена на соответствие страничных ссылок и повторно объявленных атрибутов требованиям приложения D, подразделы D.4.1 и D.5.5, соответственно.

Уровень 2 — полная проверка. Данный уровень включает в себя проверку формальной спецификации на предмет установления в ней мест, не соответствующихтребованиям уровня полного объекта или уровня полной схемы, установленным в приложении D, а также требованиям, установленным в разделах? —16.

4.2    Реализации языка EXPRESS

4.2.1    Синтаксический анализатор языка EXPRESS

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

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

4.2.2    Графический редактор

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

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

5 Фундаментальные принципы

Для использования настоящего стандарта необходимо знание представленных ниже понятий.

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

ГОСТ Р ИС010303-11 — 2009

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

Многим элементам языка EXPRESS присвоены имена. Имя позволяет другим элементам языка ссылаться на связанное с этим именем представление. Использование имени в определении других элементов языка создает ссылку на базовое представление. Хотя в соответствии с синтаксисом языка для обозначения имени используется идентификатор, базовое представление должно быть изучено для понимания его структуры.

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

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

Процедурные описания ограничений в языке EXPRESS могут объявлять или делать ссылки на дополнительные экземпляры объекта как на локальные переменные, которые принимаются как временные идентифицируемые элементы области определения. Данные процедурные описания могут изменять дополнительные экземпляры объекта, но не могут изменять постоянные элементы области определения. Такие временные элементы области определения доступны только в процессе выполнения процедуры, в которой они объявлены, и прекращают свое существование после завершения ее выполнения.

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

-    как реализуются ссылки на имена;

-    какие другие схемы становятся известными;

-    как и когда проверяются ограничения;

-    что должна делать реализация, если ограничение нарушено;

-    имеют или не имеют право на существование в реализации экземпляры объектов, которые не соответствуют EXPRESS-схеме;

-    когда и как в реализации создаются, изменяются и удаляются экземпляры объектов.

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

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

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

6.1 Синтаксис спецификации

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

syntax

= {production}.

production

= identifier ' = ' expression '.'.

expression

= term {' |' term}.

term

= factor {factor}.

factor

= identifier | literal | group | option | repetition

identifier

= character {character}.

literal

= ' "' character {character}' "'.

group

= ' (' expression ')'.

option

= ' [' expression ' ]'.

repetition

= ' {' expression '}'.


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

5

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

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

Литерал используется для обозначения терминального символа, который не может быть раскрыт в дальнейшем. Литерал представляется последовательностью не зависящих от регистра символов, заключенной в апострофы. Под символом в данном случае понимается любой символ, определенный в ИСО/МЭК10646 в позициях21—7Е группы 00, плоскости 00, строки 00. Чтобы апостроф был включен в литерал, он должен быть записан дважды.

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

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

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

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

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

Примеры

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

Синтаксис:

311 string_type = STRING [ width_spec ].

341 width_spec = ' (' width ')' [ FIXED ].

340 width = numeric_expression .

Полное определение синтаксиса, представленное в приложении А, содержит определения лексем STRING, numeric_expression и FIXED.

2    В соответствии с синтаксисом, приведенном в примере 1, возможны следующие варианты: string;

string (22); string (19 ) fixed.

Правило для numeric_expression является достаточно сложным и позволяет представить много других вариантов.

6.2 Обозначение специальных символов

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

\а — представляет символы в позициях 21-7Е строки 00, плоскости 00, группы 00 из ИСО/МЭК 10646;

\п — представляет символ новой строки (newline), зависящий от системы (см. 7.1.5.2);

\q — представляет символ одиночной кавычки (апострофа) (') и входит в \а;

\s — представляет символ пробела;

\х9, \xAn\xD — представляют символы, расположенные соответственно в позициях 9,10 и 13 строки 00, плоскости 00, группы 00 из ИСО/МЭК 10646.

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

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

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

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

ГОСТ Р ИС010303-11 — 2009

Пример — Следующие форматы записи эквивалентны:

entity point; х, у, z : real; end_entity;

ENTITY point;

x,

У,

Z: REAL;

END_ENTITY;

7.1    Набор символов

В схемах, представленных на языке EXPRESS, должны использоваться только символы из набора, включающего символы, расположенные в позициях 09,0А, 0D, графические символы, лежащие в диапазоне от 20 до 7Е из ИСО/МЭК10646, а также специальный символ \п, обозначающий новую строку. Данный набор символов называется набором символов языка EXPRESS. На символы данного набора можно ссылаться по позиции, на которой расположен данный символ; номера этих позиций определены в шестнадцатеричной системе. Символы из данного набора, которые могут быть воспроизведены при печати (позиции 21-7Е из ИСО/МЭК 10646), комбинируются для формирования лексем языка EXPRESS. Лексемами EXPRESS являются ключевые слова, идентификаторы, знаки или литералы. Более подробно классификация набора символов языка EXPRESS рассмотрена ниже.

Таким образом, данный набор символов определен как абстрактный набор символов; он не зависит от его представления в конкретной реализации.

Примечания

1    В ИСО/МЭК 6429 [5] установлена семантика символов, расположенных в позициях 09, 0А, 0D из ИСО/МЭК 10646. Для настоящего стандарта семантика, установленная в ИСО/МЭК 6429, не требуется, но она и не противоречит ему.

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

7.1.1    Цифры

В языке EXPRESS используются арабские цифры 0 — 9 (позиции 30 — 39 из набора символов языка EXPRESS).

Синтаксис:

124 digit =' 0' | ' 1 ' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'.

7.1.2    Буквы

В языке EXPRESS используются буквы верхнего и нижнего регистров английского алфавита (позиции 41— 5А и 61— 7 А из набора символов языка EXPRESS). Регистр букв имеет значение только в явных строковых литералах.

Примечание — В структурах языка EXPRESS могут использоваться буквы верхнего, нижнего или обоих регистров (см. пример в 7).

Синтаксис:

128 letter = 'а'

| ' Ь'

'с' | 'd

' е ' | ' f'

'g' | 'h' | ' i1 | T 1 'k' |

' 1 '

| 'т'

' п ' | 'О'

' Р' 1 'q'

'r' | 's' | 't' | V | 'v' |

' w'

| 'X'

'у' | ' z'.

7.1.3. Специальные символы

Специальные символы (воспроизводимые при печати символы, не являющиеся буквами и цифрами) используются главным образом для пунктуации и в качестве операторов. Специальные символы соответствуют позициям 21 — 2F, ЗА — 3F, 40, 5В — 5Е, 60 и 7В — 7Е набора символов языка EXPRESS.

Синтаксис:

137 special = not_paren_star_quote_special | '(' | ')' | '*' | "

1

132 not paren star quote special = '!' | '

'&' 1 ■ + ■ 1

V 1 '

-' 1 V 1 '/' 1 1

1 '<■ 1

' = ■ 1 '

>' I '?' IT 1

■V | ']' 1

' Л ' | '

_'l 1 '{' 1 T 1

'}' 1 •

7.1.4 Подчеркивание

Символ подчеркивания ('_', позиция 5F из набора символов языка EXPRESS) может использоваться в идентификаторах и ключевых словах, но не в качестве первого символа.

7.1.5    Пустое пространство

Пустое пространство в тексте образуется посредством символов, определенных в 7.1.5.1 —7.1.5.3 и 7.1.6. Пустое пространство должно использоваться для разделения лексем в EXPRESS-схемах.

Примечание — Свободное и последовательное использование пустого пространства может улучшить структуру и удобочитаемость схемы.

7.1.5.1    Символ пробела

Один или несколько пробелов (позиция 20 из набора символов EXPRESS) могут располагаться между двумя лексемами. Обозначение \s может использоваться для представления символа пробела в синтаксических структурах языка.

7.1.5.2    Новая строка

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

Представление символа новой строки зависит от конкретной реализации.

7.1.5.3    Другие символы

Символы из позиций 09,0А и 0D должны трактоваться как пустое пространство, кроме случаев, когда они встречаются в строковом литерале. Для представления этих символов в синтаксических структурах языка должно использоваться обозначение \хп, где п является одним из символов 9, А или D.

7.1.6    Комментарии

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

7.1.6.1 Встроенный комментарий

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

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

Синтаксис:

145embedded_remark= '(*' [remark_tag] { (not_paren_star{ not_paren_star} ) | lparen_then_not_lparen_star | ('*' {'*'} ) I not_rparen_star_then_rparen | embedded_remark }'    .

147 remark_tag = ' remark_ref {'.' remark_ref}' " '.

148remark_ref= attribute_ref | constant_ref | entity_ref | enumeration_ref | function_ref | parameter_ref | procedure_ref | rule_label_ref | rule_ref | schema_ref | subtype_constraint_ref | type_label_ref | type_ref | variable_ref.

131    not_paren_star = letter | digit | not_paren_star_special.

128    letter    =    'a'    |    'b' |    'c'    |    'd'    |    'e'    |    T    | ' g'    |    ' h'    | ' i'    |'j'    I'k'l

'I'    |    ■m,|    'n'    |    'o'    |    'p'    |    'q'    | 'r'    |    ' s'    | ' t'    | ' u'    | ' v'    |

■w'| 'x' | ' у' I 'z'.

124 digit = 'O' Г1' Г2' Г3' Г4' Г5' Г6' Г7' Г8' Г9'■

133not_paren_star_special = not_paren_star_quote_special |

132    not_paren_star_quote_special =    '!' |    '    |    '#'    |    '$' |    '%' |    '&'    |    ' + ' |    |

| I    '/'    I    Г;' |    '<■    |    ' = ' |    |

'?' | '@' | '[' | ' \' | ']' |'л' | I '' ' I

'{' I Т I '}' I

129    lparen_then_not_lparen_star= '(' { '(' } not_lparen_star{ not_lparen_star}.

130    not_lparen_star= not_paren_star | ')'.

138not_rparen_star_then_rparen = not_rparen_star{not_rparen_star }')'{')'}■

135 not_rparen_star= not_paren_star | '('■

8

ГОСТ Р ИС010303-11—2009

Встроенные комментарии могут быть вложенными.

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

Пример — Следующая строка демонстрирует пример встроенного комментария:

(* Символы '(*' начинают комментарий, а символы '*)' его заканчивают*)

7.1.6.2    Заключительный комментарий

Заключительный комментарий записывается в конце физической строки. Два последовательныхде-фиса «—» начинают заключительный комментарий, а первый встреченный символ «новая строка» заканчивает его.

Синтаксис:

149 tail_remark = '—' [ remark_tag ] {\а | \s | \х9 | \xA | \xD} \n .

147    remark_tag = ' "' remark_ref {'.' remark_ref}' "'.

148    remark_ref = attribute_ref | constant_ref | entity_ref | enumeration_ref |

function_ref | parameter_ref | procedure_ref | rule_label_ref | rule_ref | schema_ref | subtype_constraint_ref | type_label_ref | type_ref | variable_ref.

Пример---это комментарий, заканчивающийся символом «новая строка».

7.1.6.3    Метка комментария

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

Синтаксис:

147    remark_tag = ' remark_ref {remark_ref}'    .

148    remark_ref= attribute_ref | constant_ref | entity_ref | enumeration_ref |

function_ref | parameter_ref | procedure_ref | rule_label_ref | rule_ref | schema_ref | subtype_constraint_ref | type_label_ref | type_ref | variable_ref.

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

a)    Элемент remark_ref должен соответствовать правилам видимости, определенным в 10.2.

b)    В составной ссылке комментария правила видимости, определенные в 10.2, должны использоваться следующим образом: ссылка слева от символа должна идентифицировать область видимости, в которой определена ссылка, расположенная справа от символа

Примечание — Составная ссылка комментария представляет собой ссылку комментария, в которой используется нотация с символом 1.1 (см. синтаксическое правило 147).

c)    Если ссылка комментария не найдена в соответствии с указанными выше правилами видимости, то комментарий не должен ассоциироваться с каким-либо элементом.

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

e)    Если вложенный комментарий и комментарий, в который он вложен, оба ссылаются на один и тот же идентифицированный элемент, то вложенный комментарий должен быть связан с этим элементом дважды: один раз в составе комментария, в который он вложен, и второй раз непосредственно.

Примеры

1 Помеченный комментарий в данном примере ссылается на атрибут attr в области видимости объекта ent;

ENTITY ent; attr: INTEGER;

END_ENTITY;

(*" ent.attr" Атрибут attr... *)

9

2 За ссылкой на схему my_second_schema в помеченном комментарии может следовать любой идентификатор, объявленный непосредственно в области видимости данной схемы, например, имя функции a_complicated_function, как в данном примере:

SCHEMA my_second_schema;

FUNCTION a_complicated_fu notion;

END_FUNCTION;

(*"my_second_schema.a_complicated_function" Данная сложная функция ... *)

END_SCHEMA;

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

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

7.2.1 Ключевые слова

Ключевые слова языка EXPRESS представлены в таблице 1.

Примечание — Ключевые слова представляются литералом, состоящим из заглавных букв. Это сделано для облегчения чтения синтаксических конструкций.

Таблица 1 — Ключевые слова языка EXPRESS

ABSTRACT

AGGREGATE

ALIAS

ARRAY

AS

BAG

BASED_ON

BEGIN

BINARY

BOOLEAN

BY

CASE

CONSTANT

DERIVE

ELSE

END

END_ALIAS

END_CASE

END_CONSTANT

END_ENTITY

END_FUNCTION

ENDJF

END_LOCAL

END_PROCEDURE

END_REPEAT

END_RULE

END_SCHEMA

END_SUBTYPE_CONSTRAINT

END_TYPE

ENTITY

ENUMERATION

ESCAPE

EXTENSIBLE

FIXED

FOR

FROM

FUNCTION

GENERIC

GENERIC_ENTITY

IF

INTEGER

INVERSE

LIST

LOCAL

LOGICAL

NUMBER

OF

ONEOF

OPTIONAL

OTHERWISE

PROCEDURE

QUERY

REAL

RENAMED

REFERENCE

REPEAT

RETURN

RULE

SCHEMA

SELECT

SET

SKIP

STRING

SUBTYPE

SUBTYPE_CONSTRAINT

SUPERTYPE

THEN

TO

TOTAL_OVER

TYPE

UNIQUE

UNTIL

USE

VAR

WHERE

WHILE

WITH

7.2.2 Зарезервированные слова, обозначающие операторы

Операторы, обозначенные зарезервированными словами, представлены в таблице 2. Определения этих операторов даны в разделе 12.

Табл и ца2 — Зарезервированные слова, обозначающие операторы языка EXPRESS


DIV

NOT


IN

OR


AND

LIKE

XOR


ANDOR

MOD


ГОСТ Р ИС010303-11 —2009

Содержание

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

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

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

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

3.2    Термины, определенные в ИСО/МЭК 10646-1 ......................... 2

3.3    Другие определения..................................... 2

4    Требования соответствия..................................... 3

4.1    Формальные спецификации, написанные на языке EXPRESS................. 3

4.1.1    Лексический язык.................................... 3

4.1.2    Графическая форма................................... 4

4.2    Реализации языка EXPRESS................................. 4

4.2.1    Синтаксический анализатор языка EXPRESS...................... 4

4.2.2    Графический редактор................................. 4

5    Фундаментальные принципы................................... 4

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

6.1    Синтаксис спецификации................................. 5

6.2    Обозначение специальных символов............................ 6

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

7.1    Набор символов....................................... 7

7.1.1    Цифры......................................... 7

7.1.2    Буквы.......................................... 7

7.1.3    Специальные символы................................. 7

7.1.4    Подчеркивание..................................... 7

7.1.5    Пустое пространство.................................. 8

7.1.6    Комментарии...................................... 8

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

7.2.1    Ключевые слова.................................... 10

7.2.2    Зарезервированные слова,    обозначающие операторы.................. 10

7.2.3    Встроенные константы.................................. 11

7.2.4    Встроенные функции.................................. 11

7.2.5    Встроенные процедуры................................. 11

7.3    Знаки............................................. 11

7.4    Идентификаторы........................................ 12

7.5    Литералы........................................... 12

7.5.1    Двоичный литерал................................... 12

7.5.2    Целочисленный литерал................................. 12

7.5.3    Действительный литерал................................. 12

7.5.4    Строковый литерал................................... 13

7.5.5    Логический литерал................................... 14

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

8.1    Простые типы данных.................................... 14

8.1.1    Числовой тип данных.................................. 14

8.1.2    Действительный тип данных.............................. 15

8.1.3    Целочисленный тип данных.............................. 15

8.1.4    Логический тип данных................................ 15

8.1.5    Булев тип данных................................... 15

8.1.6    Строковый тип данных................................. 16

8.1.7    Двоичный тип данных.................................. 16

8.2    Агрегированные типы данных................................. 17

8.2.1    Тип данных    ARRAY.................................. 17

8.2.2    Тип данных    LIST.................................... 18

8.2.3    Тип данных    BAG.................................... 19

8.2.4    Тип данных    SET.................................... 19

8.2.5    Уникальность значений в    агрегированных структурах................. 20

III

ГОСТ Р ИС010303-11—2009

7.2.3 Встроенные константы

Имена встроенных констант представлены в таблице 3. Определения этих констант даны в разделе 14.

Таблица 3 — Зарезервированные слова, обозначающие константы языка EXPRESS

?

SELF

CONST E

PI

FALSE

TRUE

UNKNOWN

7.2.4 Встроенные функции

Имена встроенных функций представлены в таблице 4. Определения этих функций даны в разделе 15.

Таблица 4 — Зарезервированные слова, являющиеся именами функций языка EXPRESS

ABS

ACOS

ASIN

ATAN

BLENGTH

COS

EXISTS

EXP

FORMAT

HIBOUND

HIINDEX

LENGTH

LOBOUND

LOG

LOG2

LOG 10

LOINDEX

NVL

ODD

ROLESOF

SIN

SIZEOF

SORT

TAN

TYPEOF

USEDIN

VALUE

VALUE IN

VALUE UNIQUE

7.2.5 Встроенные процедуры

Имена встроенных процедур представлены в таблице 5. Определения этих процедур даны в разделе 16.

INSERT    REMOVE


Таблица 5 — Зарезервированные слова, являющиеся именами процедур языка EXPRESS

7.3 Знаки

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

Таблица 6 — Знаки языка EXPRESS

*

f

+

%

I

\

/

<

>

[

]

{

}

i

e

(

)

<=

< >

> =

<*

:=

и

**

(*

*)

11

ГОСТ Р ИС010303-11 — 2009

8.3    Именованные типы данных.................................. 21

8.3.1    Объектный тип данных................................ 21

8.3.2    Определенный тип данных.............................. 21

8.4    Конструкционные типы данных................................ 21

8.4.1    Перечисляемый тип данных.............................. 22

8.4.2    Выбираемый тип данных............................... 24

8.5    Обобщенные типы данных................................. 25

8.6    Классификация применения типов данных.......................... 26

8.6.1    Конкретизирующие типы данных........................... 26

8.6.2    Параметрические типы данных............................ 27

8.6.3    Базисные типы данных................................ 27

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

9.1    Объявление типа...................................... 28

9.2    Объявление объекта..................................... 29

9.2.1    Атрибуты....................................... 29

9.2.2    Локальные правила.................................. 33

9.2.3    Подтипы и супертипы................................. 35

9.2.4    Абстрактный объектный тип данных.......................... 40

9.2.5    Ограничения подтипов/супертипов........................... 41

9.2.6    Неявные объявления................................. 44

9.2.7    Конкретизация..................................... 45

9.3    Схема............................................ 46

9.4    Константа.......................................... 47

9.5    Алгоритмы.......................................... 47

9.5.1    Функция........................................ 47

9.5.2    Процедура....................................... 48

9.5.3    Параметры....................................... 48

9.5.4    Локальные переменные................................ 53

9.6    Правило........................................... 53

9.7    Ограничения подтипов................................... 55

9.7.1    Ограничение абстрактного супертипа.......................... 56

9.7.2    Подтипы полного покрытия............................... 56

9.7.3    Перекрывающиеся подтипы и их спецификация..................... 57

10 Область видимости и видимость................................ 58

10.1    Правила области видимости................................ 58

10.2    Правила видимости..................................... 59

10.3    Правила для явных элементов............................... 60

10.3.1    Оператор альтернативных имен ALIAS........................ 61

10.3.2    Атрибут....................................... 61

10.3.3    Константа...................................... 61

10.3.4    Элемент перечисления............................... 61

10.3.5    Объект........................................ 61

10.3.6    Функция....................................... 62

10.3.7    Параметр...................................... 62

10.3.8    Процедура...................................... 62

10.3.9    Выражение QUERY................................. 62

10.3.10    Оператор цикла.................................. 63

10.3.11    Правило...................................... 63

10.3.12    Метка правила................................... 63

10.3.13    Схема....................................... 63

10.3.14    Ограничение подтипа................................ 64

10.3.15    Тип......................................... 64

10.3.16    Метка типа..................................... 64

10.3.17    Переменная..................................... 64

IV

ГОСТ Р ИС010303-11 — 2009

11    Спецификация интерфейсов................................... 65

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

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

11.3    Взаимодействие интерфейсов USE и REFERENCE..................... 66

11.4    Импорт объектов посредством неявных интерфейсов.................... 66

11.4.1    Импорт констант................................... 67

11.4.2    Импорт определенных типов данных......................... 67

11.4.3    Импорт объектных типов данных.......................... 67

11.4.4    Импорт функций................................... 68

11.4.5    Импорт процедур.................................. 68

11.4.6    Импорт правил.................................... 68

11.4.7    Импорт ограничений подтипов............................ 68

12    Выражения........................................... 68

12.1    Арифметические операторы................................ 69

12.2    Операторы отношений................................... 70

12.2.1    Операторы сравнения значений.......................... 71

12.2.2    Операторы сравнения экземпляров........................ 74

12.2.3    Оператор принадлежности.............................. 75

12.2.4    Интервальные выражения.............................. 76

12.2.5    Оператор сопоставления строк........................... 76

12.3    Двоичные операторы.................................... 77

12.3.1    Индексирование двоичных чисел........................... 77

12.3.2    Оператор двоичной конкатенации.......................... 78

12.4    Логические операторы................................... 78

12.4.1    Оператор NOT.................................... 78

12.4.2    Оператор AND.................................... 78

12.4.3    Оператор OR..................................... 79

12.4.4    Оператор XOR.................................... 79

12.5    Строковые операторы.................................... 80

12.5.1    Индексирование строк............................... 80

12.5.2    Оператор конкатенации строк............................ 80

12.6    Операторы агрегированных структур............................ 80

12.6.1    Индексирование агрегированных структур..................... 81

12.6.2    Оператор пересечения............................... 81

12.6.3    Оператор объединения............................... 82

12.6.4    Оператор различия................................. 83

12.6.5    Оператор подмножества............................... 84

12.6.6    Оператор супермножества.............................. 84

12.6.7    Оператор запроса.................................. 84

12.7    Ссылки........................................... 85

12.7.1    Простые ссылки................................... 85

12.7.2    Префиксные ссылки................................. 86

12.7.3    Ссылки на атрибуты................................. 86

12.7.4    Групповые ссылки................................. 87

12.8    Вызов функции....................................... 88

12.9    Инициализатор агрегированных структур.......................... 89

12.10    Оператор построения экземпляра сложного объекта.................... 90

12.11    Совместимость типов................................... 90

12.12    Выбираемые типы данных в выражениях......................... 91

12.12.1    Выбираемые типы данных в унарных выражениях................. 91

12.12.2    Выбираемые типы данных в бинарных выражениях................ 91

12.12.3    Выбираемые типы данных в тернарных выражениях................ 92

13    Исполняемые операторы..................................... 92

13.1    Пустой оператор....................................... 92

13.2    Оператор ALIAS....................................... 92

V

ГОСТ Р ИС010303-11 — 2009

13.3    Присваивание....................................... 93

13.3.1    Оператор присваивания............................... 93

13.3.2    Совместимость по присваиванию.......................... 93

13.4    Оператор CASE....................................... 95

13.5    Составной оператор..................................... 96

13.6    Оператор ESCAPE..................................... 96

13.7    Оператор IF...THEN...ELSE................................. 97

13.8    Оператор вызова процедуры................................ 97

13.9    Оператор REPEAT..................................... 97

13.9.1    Инкрементное управление.............................. 98

13.9.2    Управляющее условие WHILE............................ 99

13.9.3    Управляющее условие UNTIL............................. 99

13.10    Оператор RETURN..................................... 99

13.11    Оператор SKIP...................................... 99

14    Встроенные константы...................................... 100

14.1    Константа е......................................... 100

14.2    Неопределенность..................................... 100

14.3    Константа FALSE...................................... 100

14.4    Константа PI........................................ 100

14.5    SELF............................................ 100

14.6    Константа TRUE....................................... 100

14.7    Константа UNKNOWN.................................... 100

15    Встроенные функции....................................... 101

15.1    Арифметическая    функция ABS............................... 101

15.2    Арифметическая    функция ACOS.............................. 101

15.3    Арифметическая    функция ASIN............................... 101

15.4    Арифметическая    функция ATAN.............................. 101

15.5    Двоичная функция BLENGTH................................ 101

15.6    Арифметическая    функция COS............................... 102

15.7    Универсальная функция EXISTS.............................. 102

15.8    Арифметическая    функция EXP............................... 102

15.9    Универсальная функция FORMAT.............................. 102

15.9.1    Символьное представление............................. 102

15.9.2    Представление шаблоном.............................. 103

15.9.3    Стандартное представление............................ 104

15.10    Арифметическая функция HIBOUND............................ 104

15.11    Арифметическая функция HIINDEX............................. 104

15.12    Строковая функция LENGTH............................... 105

15.13    Арифметическая функция LOBOUND............................ 105

15.14    Арифметическая функция LOG.............................. 105

15.15    Арифметическая функция LOG2.............................. 106

15.16    Арифметическая функция LOG10.............................. 106

15.17    Арифметическая функция LOINDEX............................ 106

15.18    Функция пустого значения NVL.............................. 106

15.19    Арифметическая функция ODD.............................. 106

15.20    Универсальная функция ROLESOF............................. 107

15.21    Арифметическая функция SIN............................... 107

15.22    Агрегированная функция SIZEOF.............................. 108

15.23    Арифметическая функция SORT.............................. 108

15.24    Арифметическая функция TAN............................... 108

15.25    Универсальная функция TYPEOF............................. 108

15.26    Универсальная функция USEDIN.............................. 110

15.27    Арифметическая функция VALUE............................. 111

15.28    Функция принадлежности VALUEJN............................ 111

15.29    Функция уникальности VALUEJJNIQUE.......................... 111

VI

ГОСТ Р ИС010303-11 — 2009

16 Встроенные процедуры..................................... 112

16.1    Процедура INSERT..................................... 112

16.2    Процедура REMOVE.................................... 112

Приложение А (обязательное) Синтаксис языка EXPRESS..................... 113

А.1 Лексические элементы.................................... 113

А.1.1 Ключевые слова................................... 113

А.1.2 Классы символов................................... 115

А.1.3 Лексические элементы................................. 116

А.1.4 Комментарии..................................... 116

A. 1.5 Интерпретированные идентификаторы......................... 116

А.2 Грамматические правила................................... 116

A. 3 Список перекрестных ссылок................................ 121

Приложение В (обязательное) Определение допустимых реализаций объектов........... 127

B. 1 Формализованный подход.................................. 127

В.2 Операторы ограничения супертипов и подтипов....................... 128

B. 2.1 ONEOF........................................ 128

В.2.2 AND......................................... 128

В.2.3 ANDOR........................................ 128

В.2.4 Приоритет операторов................................ 128

В.3 Интерпретация возможных типов данных сложных объектов................. 128

Приложение С (обязательное) Ограничения на экземпляры, налагаемые спецификацией интерфейса 138

Приложение D (обязательное) Графическое подмножество языка EXPRESS — EXPRESS-G.....    141

D.1 Введение и обзор...................................... 141

D.2 Обозначения определений ................................. 141

D.2.1 Обозначения простых типов    данных.......................... 141

D.2.2 Обозначения конструкционных типов данных...................... 142

D.2.3 Обозначение определенных    типов данных....................... 143

D.2.4 Обозначение объектных типов данных......................... 144

D.2.5 Обозначение ограничений подтипов.......................... 144

D.2.6 Обозначение функций и процедур........................... 144

D.2.7 Обозначение правил................................. 144

D.2.8 Обозначение схем................................... 144

D.3 Обозначение взаимосвязей................................. 144

D.4 Обозначение компоновки диаграмм............................. 145

D.4.1 Ссылки между страницами.............................. 146

D.4.2 Ссылки между схемами................................ 146

D.5 Диаграммы уровня объектов................................. 146

D.5.1 Имена ролей..................................... 146

D.5.2 Мощности множеств.................................. 146

D.5.3 Ограничения..................................... 147

D.5.4 Конструкционные и определенные типы данных.................... 147

D.5.5 Объектные типы данных................................ 148

D.5.6 Ссылки между схемами................................ 151

D.6 Диаграммы уровня схем................................... 151

D. 7 Полные EXPRESS-G диаграммы............................... 152

D.7.1 Полная диаграмма уровня объектов.......................... 152

D.7.2 Полная диаграмма уровня схем............................ 153

Приложение Е (обязательное) Заявка о соответствии реализации протоколу (ЗСРП)......... 154

E. 1 Синтаксический анализатор языка EXPRESS........................ 154

E. 2 Средство редактирования EXPRESS-G........................... 154

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

F. 1 Обозначение документа................................... 156

F. 2 Обозначение синтаксиса................................... 156

Приложение G (обязательное) Генерация    одной схемы из нескольких схем............. 157

G. 1 Введение.......................................... 157

G.2 Основные понятия..................................... 157

VII

ГОСТ Р ИС010303-11 — 2009

G.3 Изменение имен....................................... 158

G.3.1 Конфликты имен.................................... 158

G.3.2 Идентификаторы, представленные строками...................... 158

G.4 Этап 1 — преобразование нескольких схем в промежуточную схему............ 158

G.4.1 Введение....................................... 158

G.4.2 Первичное содержимое................................ 159

G.4.3 Вторичное содержимое................................ 160

G.4.4 Сокращение...................................... 165

G.4.5 Имена и версии схем................................. 169

G. 5 Этап 2 — преобразование промежуточной схемы в схему по ИСО 10303-11:1994 . . .    170

G.5.1 Введение....................................... 170

G.5.2 Инициализация.................................... 170

G.5.3 Преобразование наращиваемых конструкционных типов данных............ 170

G.5.4 Преобразование ограничений подтипов........................ 173

G.5.5 Преобразование абстрактных объектных и обобщенных типов данных......... 175

G. 5.6 Преобразование атрибутов, переименованных при повторном объявлении....... 176

Приложение Н (справочное) Взаимосвязи.............................. 178

H. 1 Взаимосвязи через атрибуты................................ 178

H. 1.1 Простая взаимосвязь................................. 179

Н.1.2 Групповая взаимосвязь................................ 180

Н.1.3 Дистрибутивная взаимосвязь............................. 181

Н.1.4 Инверсный атрибут................................... 182

Н.2 Взаимосвязи подтип/супертип................................ 182

Приложение J (справочное) Модели на языке EXPRESS для примеров, иллюстрирующих

EXPRESS-G...................................... 183

J.1 Пример модели единой схемы................................ 183

J.2 Модель взаимосвязей.................................... 184

J.3 Простое дерево подтипов/супертипов............................ 184

J.4 Повторное объявление атрибутов............................... 185

J.5 Модели, состоящие из нескольких схем........................... 185

Приложение К (справочное) Возможность языка EXPRESS, не рекомендуемые к использованию . .    187

Приложение L (справочное) Пример использования новых конструкций языка EXPRESS...... 188

L.1 Пример управления разработкой изделий........................... 188

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

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

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

VIII

ГОСТ Р ИС010303-11—2009

Введение

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

Стандарты комплекса ИС0 10303 представляют собой набор отдельно издаваемых стандартов (частей). Структура комплекса ИС0 10303 определена в ИС0 10303-1. Стандарты данного комплекса относятся к одной из следующих тематических групп: методы описания, методы реализации, методология и основы аттестационного тестирования, интегрированные обобщенные ресурсы, интегрированные прикладные ресурсы, прикладные протоколы, комплекты абстрактных тестов, прикладные интерпретированные конструкции и прикладные модули. Настоящий стандарт входит в тематическую группу методов описания.

Полный перечень стандартов комплекса ИСО 10303 доступен в Интернете на сайте http://www.td 84-sc4.org/titles/.

Настоящий стандарт определяет элементы языка EXPRESS. Каждый элемент языка представлен в собственном контексте с примерами. Сначала представлены простые элементы, а далее с нарастающей сложностью определяются более сложные конструкции. Настоящая вторая редакция ИС0 10303-11 включает в себя небольшой пересмотр положений первой редакции (ИС010303-11:1994), за которой временно сохранен статус действующего стандарта для поддержки основанных на ней реализаций языка EXPRESS и нормативных ссылок в других стандартах комплекса ИС010303. Во вторую редакцию включена также Техническая поправка ИС010303-11:1994/Кор.1:1999.

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

-BASED_ON;

-    END_SUBTYPE_CONSTRAINT;

-    EXTENSIBLE;

-    GENERIC_ENTITY;

-RENAMED;

-    SUBTYPE_CONSTRAINED;

-TOTAL_OVER;

-WITH.

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

Обзор языка

EXPRESS — это название формального языка спецификации информационных требований. Язык EXPRESS применяется для определения информационныхтребований других стандартов комплекса ИСО 10303. Язык EXPRESS создавался для решения следующих задач:

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

-    язык EXPRESS разработан для обеспечения возможности структурирования разнообразных данных, относящихся к стандартам комплекса ИС0 10303. В данном языке EXPRESS-схема является основой для структурирования и взаимосвязи элементов представления данных об изделии;

-    посредством языка определяются логические объекты, представляющие объекты реального мира. Определение объекта дается через его свойства, задаваемые областью их значений и накладываемыми на нее ограничениями;

-    язык, насколько это возможно, не должен быть привязан к конкретным реализациям. Тем не менее, имеется возможность создания представлений реализации (например, обмен статическими файлами) автоматическим и прямым способом.

IX

ГОСТ Р ИС010303-11 — 2009

В языке EXPRESS объекты определяются через их атрибуты, характеризующие признаки или характеристики объектов, имеющие большое значение для их понимания и использования. Атрибуты могут быть представлены простыми данными (например, целым числом) или другими объектами. Геометрическая точка может быть определена тремя действительными числами. Имена, присвоенные атрибутам, включаются в определение объекта. Так, для геометрической точки три действительных числа могут быть названы X, Y и Z. В языке установлена взаимосвязь между определяемым объектом и определяющими его атрибутами, а также между атрибутом и его представлением.

Примечания

1    При разработке языка EXPRESS были учтены особенности ряда языков, в частности, Ada, Algol, С, C++, Euler, Modula-2, Pascal, PL/I и SQL. Некоторые возможности были добавлены в язык EXPRESS, чтобы сделать его более пригодным для описания информационных моделей.

2    В настоящем стандарте примеры текстов на языке EXPRESS не соответствуют правилам какого-либо конкретного стиля. Действительно, в примерах иногда используется плохой стиль для того, чтобы сэкономить место или показать гибкость языка. Приведенные примеры не предназначены для того, чтобы отразить содержание информационных моделей, установленных в других стандартах комплекса ИСО 10303. Примеры приведены для того, чтобы продемонстрировать конкретные особенности языка EXPRESS. Не следует придавать значение какому-либо сходству между примерами, приведенными в настоящем стандарте, и нормативными информационными моделями, установленными в других стандартах комплекса ИСО 10303.

X