Отношения супертип и подтипы

В теле схемы декларируются типы данных (Data Type). Тип данных -- это множество значений некоторой величины или множество объектов (набор экземпляров). язык модель express информационный

В языке Express используются следующие типы данных:

- сущность (Entity),

- простой (Simple Type),

- агрегативный (Aggregation Data Type),

- определяемый (Defined Data Type),

- нечисловой (Enumeration Data Type)

- выделяемый (Select Data Type)

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

ENTITY <имя_сущности>;

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

...

END_ENTITY;

Например, задание прямой линии (line) в виде двух инцидентных точек р0 и р1 (атрибутов типа point) выглядит следующим образом:

ENTITY line;

p0,p1: point;

END_ENTITY;

Атрибуты и переменные сами могут быть сущностями, так тип атрибутов p0 и p1 предыдущего примера декларируется, как сущность, атрибутами которой в случае пространства 3D являются геометрические координаты x,y,z:

ENTITY point;

x,y,z: REAL;

END_ENTITY;

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

Рис. 1.2. Изображение сущности в языке Express-G

Изображение атрибутов в Express-G поясняет рис. 1.3, из которого, в частности, следует, что атрибут представлен прямоугольником, а супертип связи "сущность-атрибут" или "сущность-сущность" отображаются линиями, причем в случае связи с optional атрибутом используется пунктирная линия. Направление связи обозначается окружностью на конце линии, ведущей к атрибуту. Имя атрибута записывается рядом с этой линией. В прямоугольнике атрибута записывается тип атрибута.

Рис. 1.3. Изображение атрибутов в языке Express-G

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

· integer -- целые числа;

· real -- вещественные числа;

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

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

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

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

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

Рис. 1.4. Изображения простых типов в языке Express-G

Изображения простых типов на языке Express-G показаны на рис.1. 4.

Отношения агрегирования (типа целое-часть) или отношения обобщения (функция-вариант реализации), характерные для представления структур объектов в виде альтернативных (И-ИЛИ) деревьев, в языке Express выражаются в форме отношений между типами данных. Для этого введены понятия супертипа (supertype), как более общего типа, и подтипов (subtypes), как подчиненных типов. На рис. 1.5 верхняя сущность относится к супертипу, а три нижних прямоугольника изображают подтипы, линии связи прямоугольников должны быть утолщенными.

Рассмотрим пример фрагмента И-ИЛИ-дерева, в котором имеется ИЛИ вершина a1 и две подчиненные ей альтернативные вершины b1 и b2. Общим атрибутом для b1 и b2 является size типа real, специфичный для b1 атрибут -- vol типа real, а специфичный для b2 атрибут met типа string. Этот фрагмент может быть описан следующим образом:

ENTITY a1

SUPERTYPE OF (ONEOF (b1,b2));

size: REAL;

END_ENTITY;

ENTITY b1

SUBTYPE OF (a1);

vol: REAL;

END_ENTITY;

ENTITY b2

SUBTYPE OF (a1);

met: STRING;

END_ENTITY;

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

· в случае, если a1 есть И вершина, вместо oneof используется зарезервированное слово and (в более общем случае andor), т.е. вторая строчка примера будет выглядеть так: supertype of (b1 and b2);

· если между подтипами нет взаимосвязи, выражаемой логической функцией (в частности, ИЛИ или И вершинами), то указание в a1 факта, что это супертип, не требуется; достаточно упоминание о подчиненности подтипов в их декларациях в виде: subtype of (a1);

· перед декларацией supertype записывается зарезервированное слово abstract, если вершине a1 не соответствуют какие-либо экземпляры сущности, т.е. если a1 введена только для указания общих для подтипов атрибутов;

· у одного подтипа может быть больше одного супертипа; подтип наследует атрибуты всех своих супертипов; если в декларациях супертипов используются одинаковые идентификаторы атрибутов, то ссылка на них должна быть в виде составного идентификатора, например: a1.size.

Рис. 1.5 Изображение супертипов и подтипов в языке Express-G


Источник: http://studbooks.net/2171928/informatika/tipy_dannyh_yazyke_express



Рекомендуем посмотреть ещё:


Закрыть ... [X]

Отношения супертип и подтипы - НОУ ИНТУИТ Подтипы и супертипы Как сделать что бы не глючил ноутбук

Отношения супертип и подтипы Отношения супертип и подтипы Отношения супертип и подтипы Отношения супертип и подтипы Отношения супертип и подтипы Отношения супертип и подтипы

Похожие новости