Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Многомерные агрегированные типы



Агрегированные типы языка EXPRESS являются одномерными по своей природе. Однако в EXPRESS существует возможность получения многомерных агрегированных типов. Для этого необходимо задать в качестве базы одного агрегированного типа другой подобный тип. Таким способом можно получать агрегированные типы неограниченной вложенности, поддерживающие произволь­ное количество измерений.

Пример объявления многомерного агрегированного типа: SET OF LIST OF INTEGER — множество списков, содержащих элементы типа INTEGER.

Поименованный тип

В отличие от простых и агрегированных, поименованные типы данных не яв­ляются встроенными в язык EXPRESS, а должны быть обязательно объявлены в информационной модели. Таким образом, поименованным типом называется спе­циально объявленный в информационной модели тип данных, имеющий уникаль-

70

ное имя. Поименованные типы предназначены для двух случаев. Во-первых, если необходимо использовать сущность в качестве типа данных. Во-вторых, когда не хватает выразительных возможностей, встроенных в EXPRESS, и требуется их расширение. Для каждого из этих случаев есть свой поименованный тип: для первого — тип данных «Сущность», а для второго — определяемый тип данных.

Тип данных «Сущность» возникает автоматически одновременно с объявле­нием самой сущности в информационной модели. Ему присваивается идентифика­тор сущности, который используется в дальнейшем для ссылок на этот тип.

Пример:

ENTITY POINT;

x, y, z: REAL;

ENDENTITY

Определяемый тип данных задается на основе какого-либо другого типа данных, в том числе и определяемого. С его помощью можно наложить некоторые ограничения на тот тип, на основе которого он создан и таким образом расширить выразительные возможности языка EXPRESS путем создания типа данных с но­выми свойствами. Например, можно создать новый определяемый тип данных «length» (длина), взяв за основу встроенный целочисленный тип REAL и наложив требование неотрицательности его значений. При этом будут расширены вырази­тельные возможности EXPRESS, так как в нем нет встроенного типа с неотрица­тельными целочисленными значениями. Вполне возможен вариант, при котором определяемый тип не накладывает никаких ограничений на свой базовый тип. В таких случаях он используется для повышения наглядности информационной мо­дели или для простоты управления ею (например, изменения).

Пример объявления определяемого типа данных:

TYPE length = REAL WHERE POS: SELF > = 0;

END TYPE.

И сущность, и определяемый тип данных относятся к категории понятий язы­ка EXPRESS и поэтому более подробно рассмотрены ниже.

Составной тип

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

71


УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ ПРОДУКЦИИ
Глава S. СТАНДАРТ STEP



С помощью типа «Перечисление» можно задавать область значений путем явного перечисления всех значений, входящих в нее, то есть путем явного опре­деления всех экземпляров типа. Таким образом, атрибут сущности (естественно, через некоторый определяемый тип) принимает одно из перечисленных значений. Ниже дан пример определяемого типа «trafficjights» (светофор), заданного на основе типа «Перечисление». Он включает только три значения: красный (red), желтый (yellow) и зеленый (green):

(red, yellow, green);

YПеречень экземпляров типа

В отличие от «Перечисления», тип «Выбор» позволяет задавать не перечень возможных значений типа данных, а перечень возможных областей значений типа данных. Следовательно тип «SELECT» определяет область значений, со­стоящую из нескольких других областей значений путем их явного перечисления. Таким образом, в общем случае атрибут сущности (естественно, через некоторый определяемый тип) может принимать значения, относящиеся к одной из перечис­ленных областей.

Рассмотрим пример:

В этом примере для окружности, представленной сущностью «circle» существует выбор системы координат, двумерной или трехмерной, где она будет задана. Способ представления окружности зависит от того, экземпляром какой сущности будет вы­ражен ее центр (атрибут «center»). Для представления точки в двумерном простран­стве объявлена сущность «point2D», заданная двумя координатами, а в трехмерном пространстве — сущность «poinGD», заданная тремя координатами. В данном при­мере также указан определяемый тип «point» (точка), являющийся объединением областей значений типов «point2D» и «poinGD». В свою очередь, атрибут «center» сущности «circle» представлен именно типом «point», что позволяет ему принимать в качестве своих значений экземпляры сущностей «point2D» и «point3D». Сам вопрос о выборе той или иной сущности выходит за рамки языка EXPRESS.
2.3.3. Понятия

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

Всего в EXPRESS существуют семь основных понятий:

1. Схема.

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

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

4. Сущность.

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

6. Функция.

7. Процедура.

Необходимо еще раз напомнить, что, несмотря на наличие в EXPRESS фун­кций и процедур, он не является языком программирования, а представляет собой язык информационного моделирования. Смысл функций и процедур со­стоит в вычислении и/или проверке корректности значений отдельных атрибу­тов сущностей.






Схема ( SCHEMA )

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

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



72
73



УПРАВЛЕНИЕ ЖИЗНЕННЫМ ЦИКЛОМ ПРОДУКЦИИ
Глава S. СТАНДАРТ STEP



Константы (CONSTANT )

Понятие «константа» выража­ет поименованное значение не­ которого типа данных языка EXPRESS, которое нельзя изме­ нить. Базовым типом константы могут быть простой, агрегирован­ный или поименованный типы. Константы используются для по­вышения наглядности информа­ционной модели, а также для уп­рощения управления ею. Напри­мер, максимальную длину стро­ковых типов, присутствующих в информационной модели, задают константой «maxlength», присво­ив ей значение «10». Тогда при объявлении строковых типов их максимальную длину можно обо­значить не числом «10», а константой «max_length», что повышает наглядность. Кроме того, если вдруг потребуется ее изменить, достаточно сменить объявление только константы, а не каждого типа в отдельности.

Константы могут быть заданы в рамках схемы, глобального правила, функ­ции или процедуры. При этом все константы данного строительного блока ука­зываются в единой конструкции CONSTANT. Любое упоминание имени кон­станты в рамках блока, в котором она объявлена, эквивалентно употреблению ее значения.

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

Рассмотрим пример.

Здесь показана структура, содержащая объявления трех констант, имеющих соответственно простой, агрегированный и поименованный типы в качестве базо-

74

вого. Константа простого типа «intval» базируется на целочисленном типе INTEGER и явно указанном значении «100». Константа агрегированного типа «intarray» имеет в качестве базы массив из трех элементов INTEGER, а в качестве своего значения — экземпляр агрегированного типа, причем третий элемент мас­сива задан в виде выражения, содержащего уже объявленную константу «int_val». Наконец, третья константа обладает поименованным типом «point» (предполо­жим, что сущность с таким именем и тремя вещественными атрибутами объявлена где-то в другом месте), а ее значение представляет собой экземпляр сущности.









Определяемый тип (ТУРЕ)

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


Поделиться:



Последнее изменение этой страницы: 2019-03-29; Просмотров: 327; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь