Семинар по ISO 10303. Обзор норм ISO 10303. Внедрение языка EXPRESS. Преобразование ISO 10303-22, страница 4

ENTITY Engine,

ID INTEGER, UNIQUE;

Identifier: ID, END_ENTITY,

ENTITY Person,

Surname. STRING;

Name . STRING;

UNIQUE Surname, Name;

END_ENTITY;

1.8.7 Локальные правила (domain rules)

Атрибуты или области значений их типов какого-либо entity могут дополнительно ограничиваться путем применения локальных правил WHERE

ENTITY ChiefOffice SUBTYPE OF (Office);

WHERE MinArea . Area >= 30.0;

ENDENTITY;

SDAI 1.9 Константы

Константы являются значениями, которые не изменяются во время их жизни. Они представляются именами Соглашения о константах указываются в объявлении констант.

CONSTANT

Thousand : NUMBER := 1000;

Pi_half : REAL := Pl/2;

Home : Point .= Point (0.0, 0.0, 0.0);

END_CONSTANT;

1.9.1 Предварительно определенные константы

математические           PI         e (CONST_E)

логические       TRUE   FALSE UNKNOWN

прочие SELF    Бесконечность (?) - для спецификации верхней границы типа            агрегата _____________________

1.10 Операторы

Для спецификации ограничений и для расчета производных атрибутов могут быть применены алгоритмы. Эти алгоритмы определяются в форме простых выражений и/или с помощью определений и вызовов функций и процедур. При этом в распоряжении имеются следующие классы операторов'

арифметические          = - * / ** DIV   MOD

отношений      = о > < <= >=   •=: •о.   IN LIKE

бинарные, строковые   отношения индексов [ ] и слияния +

логические       NOT AND OR XOR

агрегаты           D * + - ^ >s       QUERY =         о IN

компоненты     . \ = о :=: :о:     ||

1.11 Функции и процедуры

Соглашение о функциях и процедурах аналогично языку PASCAL.

FUNCTION distance (p1, р2 . point): REAL;

PROCEDURE midpoint (p1,p2 : point; VAR result: point);

Во взаимосвязи с определениями функций и процедур два предопределенных типа имеют специальное значение. AGGREGATE и GENERIC. Эти оба типа могут быть использованы только как типы формальных параметров в процедурах и функциях. Для формального параметра типа AGGREGATE при вызове может быть в качестве фактического параметра установлен любой агрегированный тип (array, list и т д) Тип формального параметра GENERIC предусмотрен для всех других типов и может рассматриваться как супертип всех других типов данных.

1.11.1 Предварительно определенные функции

abs ехр log2 sizeof

acos format loglO sqrt

asm atan blength hibound himdex length loindex nvl odd tan typeof usedm

cos lobound rolesof value

exists log sin

1.11.2 Предварительно определенные процедуры

remove

insert

1.12

Выполняемые операции (statements)

ALIAS

CASE BEGIN...END

выдача синонима присваивание многократное разветвление объединенная команда


ESCAPE           выход из команды цикла

IF THEN ELSE команда условного ветвления

NULL  пустая команда

Вызов процедур

REPEAT          команда цикла

RETURN          возврат из функции

SKIP _____переход в конец команды цикла

1.13 Глобальные правила

Локальные правила в описании entity, такие, как UNIQUE и WHERE, влияют только на все экземпляры данного entity. Определение RULE, напротив, позволяет определить условия, которые действительны для более чем одного entity и даже для всей схемы. Глобальные правила имеют некоторые общие черты с функциями.. Главное различие состоит в том, что результат правила показывает, было ли удовлетворено глобальное условие или нет. Каждое правило имеет всегда одно из трех состояний: соблюдено (TRUE), не соблюдено (FALSE) или H6H3BecTHo(UNKNOWN). Если правило возвращает FALSE для некоторого количества экземпляров базы данных, то эта база данных рассматривается как не соответствующая модели EXPRESS.

1.14 Интерфейс схемы

Чтобы достичь желаемой модульности при моделировании, в EXPRESS применяется интерфейс между различными схемами, так что определения одной схемы могут быт» применены в другой схеме Для этого имеется две возможности спецификации; USE и REFERENCE. Обе конструкции позволяют ссылаться на объявления другой схемы Различие между обоими вариантами в том, что спецификация USE может использоваться только для объявления entity. Эти чужие entity далее расматриваются и обрабатываются локально. Спецификация REFERENCE, напротив, рассматривает далее чужие объявления как внешние по отношению к собственной схеме и позволяет только обращение к ним. Следствие этого в том, что используемые (USE) entity могут передаваться от схемы к схем§. При ссылочном объявлении (REFERENCE) этого не происходит. Ссылаться можно на константы, типы, entities, функции и процедуры.

USE FROM GeometrySchema (Point, Line AS Lin);

REFERENCE FROM GeometrySchema (Point, distance ASDist);

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

В языке EXPRESS имеется два вида комментариев во-первых, блок (который может быть вложенным) комментариев, начинающийся по аналогии с языком PASCAL символами (* и заканчивающийся *), и, во-вторых, комментарии в конце строки, который начинается символами — и распространяется до конца строки без явного закрытия.

1.16 Пример на языке EXPRESS: чертеж

Рис 1.0 Проблемная область чертеж

14