Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Уч_пос_CALS_CASE.doc
Скачиваний:
43
Добавлен:
09.11.2019
Размер:
2 Mб
Скачать

3.6. Понятия

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

  1. Схема.

  2. Константы.

  3. Определяемый тип.

  4. Сущность.

  5. Глобальное правило.

  6. Функция.

  7. Процедура [5].

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

Объявление схемы начинается с ключевого слова “SCHEMA”, за которым следует ее имя, и заканчивается ключевым словом “END_SCHEMA”. Между именем и завершением объявления находится тело схемы [5].

SCHEMA example;

Рис. 9. Структура схемы

Константы (CONSTANT). Понятие «константа» выражает поименованное значение некоторого типа данных, которые нельзя изменить. Базовым типом константы может быть простой агрегированный или поименованный тип. Константы могут быть заданы в рамках схемы глобального правила, функций или процедуры:

CONSTANT

int_lenth: INTEGER 100;

……………….;

……………….;

END_CONSTANT;

Определяемый тип (TYPE). Определяемый тип выражает поименованный тип данных языка EXPRESS, заданный на основе какого - либо (исходного) типа данных. Его назначением является расширение возможностей языка EXPRESS за счет создания типа с новыми свойствами. В качестве исходного могут выступать простой, агрегированный, другой определяемый или составной типы. При этом область значения вновь создаваемого определяемого типа будет либо полностью совпадать, либо являться подмножеством области значения исходного типа.

Правило области значения определяемого типа. В объявлении определяемого типа задаются несколько правил области значений. Каждое такое правило представляет собой условие вхождения значения из области значений исходного в область значения определяемого типа, т.е. данное правило является своего рода фильтром, содержащим в себе выражение, которое в результате своего выполнения должно дать значение логического типа: ложь (FALSE), истина (TRUE) или неопределенность (UNKNOWN) [5].

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

TYPE week = INTEGER;

WHERE

R1: SELF ≥ 1;

R2: SELF ≤ 7;

END_TYPE;

В данном примере указан определяемый тип «неделя» (week), представляющий собой номер дня. Определение правил в области значения начинается с ключевого слова WHERE и продолжается вплоть до окончания объявления типа.

Сущность (ENTITY). Является основным элементом языка. Имеет в рамках схемы уникальный идентификатор, основные свойства заданы с помощью атрибутов и локальных правил. В EXPRESS есть возможность определять отношение наследования между двумя или более сущностями, при котором сущность-потомок получает все свойства сущности-предка (рис.10).

ENTITY name;

Рис. 10. Описание сущности

Атрибут сущности. Каждый атрибут имеет имя, которое должно быть уникальным. Имя атрибута раскрывает его значение в контексте сущности. Область его возможных значений задается путем спецификации типа данных атрибута [5]. Атрибуты бывают явные и вычисляемые. Явный атрибут выражает свойство сущности, которое обязательно должно получить некоторое заданное в явном виде значение. Применение ключевого слова OPTIONAL указывает на необязательность значения атрибута.

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

ENTITY square;

color: OPTIONAL STRING;

side: REAL;

DERIVE

Perimeter: REAL := 4*side;

area: REAL := side**2;

END_ENTITY.

Локальное правило сущности. Объявление сущности определяет область ее экземпляров. По умолчанию они являются корректными, что не всегда соответствует потребностям проектировщиков. Ограничение на область экземпляров определяют с помощью локальных правил сущности.

В EXPRESS существует два вида локальных правил:

- правило уникальности;

- правило области значения.

Правило уникальности

Требует от всех экземпляров уникальности значения одного или нескольких атрибутов. Правило задается конструкцией при помощи ключевого слова UNIQUE.

Правило области значения

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

Наследование. В EXPRESS сущность определяется как класс объектов реального мира с общими характеристиками. Естественно, что существуют подклассы, в которых объекты, помимо характеристик классов, обладают еще набором собственных характеристик. Чтобы избежать дублирования обозначений свойств, введено отношение наследования. Оно устанавливает связь между сущностями, при которой области экземпляров одних сущностей, называемых потомками, становятся подмножеством экземпляров других сущностей (предков). Для спецификации предка используется конструкция «SUBTYPE OF».

Интерфейс между схемами. Для упрощения восприятия EXPRESS позволяет разбивать крупные модели на более мелкие. Причем целостность большой модели сохраняется, т.к. существует инструмент задания связи между схемами, которое задается путем спецификации интерфейса между ними [5]. Интерфейс предназначен для того, чтобы строительные блоки одной схемы были видимы в другой и могли там использоваться. Есть два типа интерфейсов между схемами:

- использование (USE FROM);

- ссылка (REFERENCE FROM).

Рассмотрим пример реализации интерфейса между схемами с применением отношения наследования, правила области значений и уникальности:

SCHEMA man;

ENTITY person;

name: STRING;

age: INTEGER;

WHERE

born: age ≥ 0;

END_ENTITY;

ENTITY worker;

SUBTYPE OF (person);

speciality: STRING;

passport: STRING;

UNIQUE

a1: passport;

WHERE

adult: age ≥ 16;

END_ENTITY;

END_SCHEMA;

SCHEMA car_driver;

USE FROM man;

ENTITY driver;

SUBTYPE OF (worker);

permis de condure: STRING;

length of service: INTEGER;

UNIQUE

a2: permis de condure;

END_ENTITY;

END_SCHEMA;

SCHEMA driver’s_information;

REFERENCE FROM man;

ENTIRY driver;

who_is: worker;

information: STRING;

END_ENTITY;

END_SCHEMA.

В данном примере существуют: схема “man” (человек), содержащая сущность “person” (личность), в которой при помощи правила области значений рождение определено, как условие существования личности и сущность “worker” (рабочий), в которой правило уникальности применено для данных паспорта работника; схема “car_driver” (водитель автомобиля), в ней объявлен интерфейс использования “man”, что дает возможность объявить сущность “driver” (водитель) в качестве потомка сущности “worker”; схема "driver’s_information” называет интерфейс ссылки, задействуя сущность “worker” в качестве объявления атрибута "who_is”. Таким образом, интерфейс ссылки представляет собой ограниченный вариант интерфейса использования.