Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Л-4(EXPRESS) / Конспект лекций.doc
Скачиваний:
66
Добавлен:
16.05.2015
Размер:
567.3 Кб
Скачать

Слайд 39. Схема (schema)

Пояснения

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

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

Слайд 40. Константы (constant)

Пояснения

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

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

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

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