EXPRESS (язык моделирования данных)

редактировать
Рис. 1. Требования к базе данных для коллекции аудиокомпакт-дисков (CD), представленные в нотации EXPRESS-G.

EXPRESS - это стандартный язык моделирования данных язык для данных продукта. EXPRESS формализована в стандарте ISO для обмена продуктами модели STEP (ISO 10303) и стандартизирована как ISO 10303-11.

Содержание
  • 1 Обзор
    • 1.1 EXPRESS-G
  • 2 Простой пример
  • 3 Компоненты EXPRESS
    • 3.1 Типы данных
    • 3.2 Атрибут объекта
    • 3.3 Супертипы и подтипы
    • 3.4 Алгоритмические ограничения
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
Обзор

Модели данных формально определяют объекты данных и отношения между объектами данных для интересующей области. Некоторые типичные приложения моделей данных включают поддержку разработки баз данных и обеспечение обмена данными для конкретной интересующей области. Модели данных задаются на языке моделирования данных. EXPRESS - это язык моделирования данных, определенный в ISO 10303-11, Справочном руководстве по языку EXPRESS.

Модель данных EXPRESS может быть определена двумя способами: текстовым и графическим. Для формальной проверки и в качестве входных данных для таких инструментов, как SDAI текстовое представление в файле ASCII является наиболее важным. С другой стороны, графическое представление часто больше подходит для использования человеком, например, для объяснения и обучения. Графическое представление, называемое EXPRESS-G, не может представить все детали, которые могут быть сформулированы в текстовой форме.

EXPRESS похож на языки программирования, такие как Pascal. В рамках SCHEMA можно определять различные типы данных вместе со структурными ограничениями и алгоритмическими правилами. Основная особенность EXPRESS - это возможность формально проверить совокупность типов данных - это проверка всех структурных и алгоритмических правил.

EXPRESS-G

EXPRESS-G - это стандартная графическая нотация для информационных моделей. Это дополнение к языку EXPRESS для отображения определений сущностей и типов, отношений и количества элементов. Эта графическая запись поддерживает подмножество языка EXPRESS. Одно из преимуществ использования EXPRESS-G перед EXPRESS заключается в том, что структура модели данных может быть представлена ​​в более понятной форме. Недостатком EXPRESS-G является то, что сложные ограничения не могут быть определены формально. Рисунок 1 - это пример. Модель данных, представленная на рисунке, может быть использована для определения требований к базе данных для коллекции аудио компакт-дисков (CD).

Простой пример
Рис. 2. Диаграмма EXPRESS-G для схемы семейства

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

SCHEMA Family; ЛИЦО Лицо АБСТРАКТНЫЙ НАД ТИП (ONEOF (Мужской, Женский)); имя: STRING; мать: НЕОБЯЗАТЕЛЬНО Самка; отец: НЕОБЯЗАТЕЛЬНО кобель; END_ENTITY; СУЩЕСТВО Женский ПОДТИП (Человек); END_ENTITY; СУЩЕСТВО Мужской ПОДТИП (Человек); END_ENTITY; END_SCHEMA;

Модель данных заключена в Семейство схем EXPRESS. Он содержит сущность супертипа Person с двумя подтипами Male и Female. Поскольку Person объявлен как ABSTRACT, могут существовать только вхождения (ONEOF) подтипа Male или Female. Каждое появление человека имеет обязательный атрибут имени и, необязательно, атрибуты матери и отца. Существует фиксированный стиль чтения атрибутов некоторых типов сущностей:

  • Женщина может играть роль матери для Человека
  • Мужчина может играть роль отца для Человека
EXPRESS Building блоки

Типы данных

EXPRESS предлагает серию типов данных с определенными символами типов данных в нотации EXPRESS-G:

A 02A Тип данных symbols.svg
  • Тип данных объекта: это наиболее важный тип данных в EXPRESS. Более подробно это описано ниже. Типы данных сущностей могут быть связаны двумя способами: в дереве под супертипа и / или атрибутами.
  • Тип данных перечисления: значения перечисления - это простые строки, такие как красный, зеленый и синий для rgb-перечисления. В случае, если тип перечисления объявлен расширяемым, он может быть расширен в других схемах.
  • Определенный тип данных: он дополнительно специализирует другие типы данных - например, определить положительный тип данных, который имеет тип integer со значением>0.
  • Выбрать тип данных: определяет выбор или альтернативу между различными вариантами. Чаще всего используется выбор между разными типами entity_types. Реже встречаются выборки, включающие определенные типы. В случае, если тип перечисления объявлен расширяемым, он может быть расширен в других схемах.
  • Простой тип данных
    • Строка: это наиболее часто используемый простой тип. Строки EXPRESS могут быть любой длины и содержать любой символ (ISO 10646 / Unicode).
    • Двоичный: этот тип данных используется очень редко. Он покрывает количество бит (не байтов). Для некоторых реализаций размер ограничен 32 битами.
    • Логический: Подобно логическому типу данных логический имеет возможные значения ИСТИНА и ЛОЖЬ, а также НЕИЗВЕСТНО.
    • Логический: с логическими значениями ИСТИНА и ЛОЖЬ.
    • Число: числовой тип данных является супертипом как целого, так и действительного. В большинстве реализаций используется тип double для представления real_type, даже если фактическое значение является целым числом.
    • Целое число: целые числа EXPRESS могут иметь в принципе любую длину, но большинство реализаций ограничивают их 32-битным значением со знаком.
    • Реальный: В идеале действительное значение EXPRESS не ограничено по точности и размеру. Но на практике реальное значение представлено значением с плавающей запятой типа double.
  • Тип данных агрегации: возможные типы aggregation_types: SET, BAG, LIST и ARRAY. В то время как SET и BAG неупорядочены, LIST и ARRAY упорядочены. BAG может содержать определенное значение более одного раза, это не разрешено для SET. ARRAY - это единственный агрегат, который может содержать неустановленные члены. Это невозможно для SET, LIST, BAG. Члены агрегата могут относиться к любому другому типу данных.

Следует упомянуть несколько общих моментов для типов данных.

  • Созданные типы данных могут быть определены в схеме EXPRESS. В основном они используются для определения сущностей, а также для указания типа атрибутов сущности и агрегированных членов.
  • Типы данных могут использоваться рекурсивным образом для создания все более и более сложных типов данных. Например. можно определить СПИСОК МАССИВА или ВЫБРАТЬ либо некоторых сущностей, либо других типов данных. Имеет ли смысл определять такие типы данных - другой вопрос.
  • EXPRESS определяет пару правил, как тип данных может быть дополнительно специализирован. Это важно для повторно объявленных атрибутов сущностей.
  • Типы данных GENERIC могут использоваться для процедур, функций и абстрактных сущностей.

Атрибут сущности

Атрибуты сущности позволяют добавлять "свойства" "сущностям и связать одну сущность с другой в определенной роли. Имя атрибута определяет роль. Большинство типов данных могут напрямую служить типом атрибута. Это также включает агрегирование.

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

  • Явные атрибуты - это атрибуты с прямыми значениями, видимыми в STEP-файле.
  • Производные атрибуты получают свои значения из выражения. В большинстве случаев выражение относится к другим атрибутам ЭТОГО экземпляра. Выражение может также использовать EXPRESS-функции.
  • Обратные атрибуты не добавляют «информацию» к объекту, а только именуют и ограничивают явный атрибут объекта с другого конца.

Конкретные символы атрибутов объекта Обозначение EXPRESS-G:

A 02B Attribute symbols.svg

Супертипы и подтипы

Сущность может быть определена как подтип одной или нескольких других сущностей (множественное наследование разрешено!). Супертип может иметь любое количество подтипов. В STEP очень распространена практика построения очень сложных графов под супертипов. Некоторые графики связывают друг с другом 100 и более объектов.

Экземпляр сущности может быть сконструирован либо для отдельной сущности (если не абстрактной), либо для сложной комбинации сущностей в таком графе под супертипа. Для больших графиков количество возможных комбинаций, вероятно, будет расти в астрономических пределах. Чтобы ограничить возможные комбинации, были введены специальные ограничения супертипа, такие как ONEOF и TOTALOVER. Более того, объект может быть объявлен абстрактным, чтобы гарантировать, что ни один экземпляр не может быть построен только из этого объекта, но только если он содержит неабстрактный подтип.

Алгоритмические ограничения

Сущности и определенные типы данных могут быть дополнительно ограничены правилами WHERE. Правила WHERE также являются частью глобальных правил. Правило WHERE - это выражение, которое должно оцениваться как ИСТИНА, в противном случае заполнение схемы EXPRESS недействительно. Подобно производным атрибутам, это выражение может вызывать функции EXPRESS, которые могут дополнительно вызывать процедуры EXPRESS. Функции и процедуры позволяют формулировать сложные операторы с локальными переменными, параметрами и константами - очень похоже на язык программирования.

Язык EXPRESS может описывать локальные и глобальные правила. Например:

ENTITY area_unit SUBTYPE OF (named_unit); ГДЕ WR1: (SELF \ named_unit.dimensions.length_exponent = 2) И (SELF \ named_unit.dimensions.mass_exponent = 0) И (SELF \ named_unit.dimensions.time_exponent = 0) И (SELF \ named_unit.dimensions.electric_current_exponent = 0) И (SELF \ named_unit.dimensions. Thermodynamic_temperature_exponent = 0) AND (SELF \ named_unit.dimensions.amount_of_substance_exponent = 0) AND (SELF \ named_unit.dimensions.luminous_intensity_exponent = 0); END_ENTITY; - area_unit

В этом примере описывается, что объект area_unit должен иметь квадратное значение длины. Для этого атрибут sizes.length_exponent должен быть равен 2, а все остальные показатели основных единиц СИ должны быть 0.

Другой пример:

TYPE day_in_week_number = INTEGER; WHERE WR1: (1 <= SELF) AND (SELF <= 7); END_TYPE; -- day_in_week_number

То есть, это означает, что значение недели не может превышать 7.

Итак, вы можете описать некоторые правила для своих сущностей. Подробнее о данных примерах можно найти в ISO 10303 -41

См. Также
Викискладе есть носители, относящиеся к EXPRESS.
темам, связанным с ISO
  • ISO 10303 : стандарт ISO для компьютерно-интерпретируемое представление и обмен данными о промышленных продуктах.
  • ISO 10303-21 : Форма обмена данными STEP со структурой ASCII
  • ISO 10303-22 : Стандартный интерфейс доступа к данным, часть методы реализации STEP
  • ISO 10303-28 : STEP-XML определяет использование Extensible Markup Language (XML) для представления EXPRESS-схемы
  • ISO 13584 -24: Логическая модель PLIB указано в EXPRESS
  • ISO 13399 : стандарт ISO для представления и обмена данными о режущем инструменте
  • ISO / PAS 16739 : отраслевые основные классы указаны в EXPRESS
  • List of STEP (ISO 10303) части
Прочие связанные темы
Ссылки

Эта статья включает материалы общественного достояния с веб-сайта Национального института стандартов и технологий https://www.nist.gov.

Дополнительная литература по
  • ISO 10303, главная страница STEP, Стандарта обмена данными модели продукта
  • Дуглас А. Шенк и Питер Р. Уилсон, Информационное моделирование пути EXPRESS, Oxford University Press, 1993, ISBN 978-0-19-508714-7
Последняя правка сделана 2021-05-18 03:31:38
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте