Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
И.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
818.57 Кб
Скачать

6.4. Краткое описание языка Express

Например, задание прямой линии (line) в виде двух I <имя Сущности>

инцидентных точек рО и р 1 (атрибутов типа point) вы- '

глядит следующим образом: Рис. 6.4. Изображение

entity line; сущности в Express-G

pO,pl: point;

end_entity;

Атрибуты и переменные сами могут быть сущ- Сущность Атрибут

ностями; так, тип атрибутов предыдущего примера [_

декларируется, как сущность, атрибутами которой в

случае З.Ь-пространства являются геометрические

координаты х, у, z: Необязательный

entity point; атрибут

X,y,z: real; Рис. 6.5. Атрибуты в

end_entity; Express-G

В Express-G сущности изображаются прямоугольниками, внутри прямоуголь-

ника записывается имя сущности (рис. 6.4).

Если свойство является необязательным для данной сущности, то его вы-

ражают так называемым необязательным (optional) атрибутом. В его опи-

сании перед типом атрибута добавляется служебное слово optional:

<идентификатор атрибута>: optional <тип атрибута>;

Изображение атрибутов в Express-G поясняет рис. 6.5, из которого, в част-

ности, ясно, что атрибут представлен прямоугольником, а связи сущность -

атрибут или сущность - сущность отображаются линиями, причем в случае

связи с optional атрибутом используется пунктирная линия. Направление свя-

зи обозначается окружностью на конце линии, ведущей к атрибуту. Имя атри-

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

ется тип атрибута.

Некоторые из атрибутов могут определяться через другие атрибуты. Тогда

атрибуты, выражаемые через другие атрибуты, называют порожденными

(derived), что отображается служебным словом derive в декларации атрибу-

та. Например, описание окружности кроме обязательных атрибутов, которыми

в приведенном ниже примере выбраны радиус и центр окружности, может вклю-

чать порожденный атрибут площадь круга:

entity point;

X,y,z: real;

end_entity;

entity circle;

center: point;

radius: real; ~ явные атрибуты center, radius

derive

area: real := pi*radius**2; (* порожденный атрибут area *)

end_entity;

309

б Информационная поддержка этапов жизненного цикла изделий CALS-технологии

Отметим, что между символами «(*» и «*)» записывается комментарий -

произвольный текст по усмотрению автора модели. Если комментарий умеща-

ется в одной строчке, то достаточно перед его текстом поставить двойной

дефис (--).

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

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

Integer (целые числа);

real (действительные числа);

number — тип, объединяющий типы integer и real;

logical - его значениями могут быть true, false или unknown (неопределен-

ность);

Boolean - с возможными значениями true или false;

binary - последовательность битов 1 или 0;

string - строка символов.

Их изображения на схемах на языке Express-G показаны на рис. 6.6.

Для binary и string в круглых скобках можно указать максимально возмож-

ное число элементов множества, например, если строка А может включать до

24 Символов, то:

A: string(24);

если ровно 24 символа, то

A: string(24) fixed;

если ограничений нет, то

A: string;

Если переменная аЪс имеет тип binary, то выражение abc[5:7] означает биты

с 5-го по 7-й в коде аЪс.

Значения простых типов выражаются с помощью литералов. Литералы -

это числа (целые, действительные), двоичные коды, логические значения (true,

false, unknown), фрагменты текста (строковый тип). Примеры записи литера-

лов:

двоичный (начинается со знака %)-%!00101110

целое десятичное число - 1052

действительный (обязательна десятичная точка) - З4.е-3 или 0.034

строковый (занимает не более одной строки) - 'first name'

BINARY | |

LOGICAL | |