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

Слайд 38. Понятие

Пояснения

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

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

  • Схема;

  • Константы;

  • Определяемый тип;

  • Сущность;

  • Глобальное правило;

  • Функция;

  • Процедура.

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

Слайд 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» (предположим, что сущность с таким именем, имеющая три вещественных атрибута, объявлена где-то в другом месте), а значение константы представляет собой экземпляр сущности.