Основные элементы языка EXPRESS
Домен стандартных типов может иметь переменные размеры. Поэтому структура атрибута может варьироваться по размерам в разных экземплярах сущности. Более того, при наличии в entity-обьявлении необязательных (optional) атрибутов их структуры в некоторых экземплярах сущности могут отсутствовать вообще. По аналогии с использованием термина «популяция» в документации по EXPRESS для обозначения… Читать ещё >
Основные элементы языка EXPRESS (реферат, курсовая, диплом, контрольная)
Накопленные человечеством знания всегда формулируются в контексте иерархической системы (более строго — ациклической сети) понятий и функциональных связей между этими понятиями. Такая структура представления знаний моделируется при объектно-ориентированном подходе в виде иерархии классов с механизмом наследования общих свойств.
Реализация объектно-ориентированного подхода возможна в двух вариантах.
Первый вариант — некоторый набор знаний сразу доводится до уровня машинной программы. В этом случае необходим язык программирования, поддерживающий функционально полное описание класса. Практически это означает, что описание класса должно включать как данные (перечень атрибутов класса), так и «методы» (программы, реализующие полный набор операций над объектами данного класса). C++, Симула-67 — примеры языков объектно-ориентированного программирования, то есть реализации подхода по первому варианту.
Второй вариант — моделирование иерархии понятий и функциональных связей раздельно. В этом случае из описания класса исключаются методы. Описание становится декларативным и уже не связано с использующей его программой. Независимость описания классов от программной реализации делает излишней конкретизацию формата внутреннего преставления данных в ЭВМ. В итоге мы приходим к языку EXPRESS, предназначенному для описания иерархических систем понятий. Поскольку разнообразие таких систем определяется только разнообразием предметных областей знания, интеграция понятий в единую международную (стандартную) систему понятий становится реально достижимой целью, приближающей к решению глобальной проблемы представления знаний в ЭВМ.
Во втором варианте проектирование программного продукта включает три вида деятельности: информационное моделирование, функциональное моделирование и программную реализацию. Стандарт STEP (в расширенной трактовке) должен обеспечить интеграцию понятий в предметной области «промышленное производство продукции», то есть представить единую информационную модель этих понятий в виде, формализованном на уровне спецификаций EXPRESS.
Информационное моделирование (на базе методологии IDEF1Х) представляет информацию о сущностях, их связях и атрибутах, которое может быть использовано далее при создании спецификаций EXPRESS.
Функциональное моделирование отвечает за второй элемент представления знаний — функциональные связи между понятиями. Интеграция знаний в этой области пока осуществляется без привлечения ЭВМ, хотя предпринимаются попытки как-то регламентировать представление знаний, в частности, средствами IDEFO. В стандарте STEP средства IDEFO используются для иллюстративного представления сферы использования приложения — программной реализации стандартного протокола приложения АР, содержащего специализированную информационную модель.
Наконец, стандарт STEP касается и третьей компоненты проектирования — программной реализации стандартного АР. Для каждого стандартного протокола его разработчиками составляется набор абстрактных тестов, по которому проверяется реализация протокола на соответствие требованиям АР. Следует отметить, что структура функциональной модели приложения (и, следовательно, представление в ЭВМ функциональных связей между понятиями) не определяется стандартом STEP, а лишь ограничивается снизу требованием, чтобы ЭВМ «владела» понятиями информационной модели, по крайней мере, на уровне минимальных требований, заданных набором абстрактных тестов.
Второй вариант является предпочтительным для использования в CALS, поскольку информация для создания информационных систем предварительно систематизируется и верифицируется.
В разработке первой версии языка EXPRESS участвовало порядка 20 человек в период с 1985 по 1991 год. Проблема не ограничивалась изъятием методов из структуры описания класса. Требовалось разработать специализированный язык информационного моделирования, достаточно полный для описания любой системы понятий, связанных с производственной деятельностью, достаточно простой для освоения пользователем-непрограммистом и, наконец, достаточно технологичный для работы приложений с языковыми конструкциями. Конкретизация предметной области использования языка EXPRESS была необходима по существу, так как имеются области знания с более сложными структурами понятий (например, семиотика), ориентация на которые могла бы привести к чрезмерному усложнению проблемы.
Итак, язык EXPRESS предназначен для описания информационных моделей (как и метод IDEF1Х). Информационная модель описывается одной или несколькими взаимосвязанными схемами.
Прикладной протокол AP — это схема, описывающая некоторую предметную область. Прикладной протокол включается в стандарт как один из томов стандарта. Имена объектов, констант, функций, процедур, правил и типов уникальны в пределах данной схемы.
База данных (БД), формируемая в соответствии с описанием EXPRESS-схем, предназначена для хранения произвольного количества экземпляров каждой из сущностей, представленных в схемах. Сущность — информационный объект, характеризующийся идентификатором и списком атрибутов, определяющих свойства каждого из экземпляров сущности. Остальные элементы описания схемы играют вспомогательную роль, а именно: type-объявления определяют структуру представления атрибутов сущности. Алгоритмы и правила служат для проверки соответствия содержимого БД информационной модели, а интерфейс предназначен для унификации описания объектов (типов, алгоритмов, правил), используемых более чем в одной схеме.
Возможности описания информационных структур в языке EXPRESS сводятся, в основном, к следующим. Прежде всего, имеется набор стандартных (встроенных в EXPRESS) данных, состоящий из группы простых типов, включающей типы number, integer, real, logical, boolean, binary, string, и из группы агрегативных типов, включающей типы array, bag, list, set — разновидности множества однотипных компонент. При использовании в схеме простых типов real, binary, string можно специфицировать их формат, а при использовании агрегативных типов — их размеры (границы).
С помощью entity-объявлений и type-обьявлений разработчик схемы вводит собственный набор именованных типов, дополняя набор стандартных типов до набора «базовых». Базовый тип может использоваться в качестве компоненты агрегативного, а также в entity-объявлении для описания атрибута посредством конструкции: идентификатор атрибута: базовый тип в type-объявлениях определяемый тип описывается ссылкой на «определяющий» тип, который может быть простым, агрегативным, определяемым, перечисления или селекторным. Тип перечисления — это упорядоченный список конкретных строк-наименований. Селекторный тип — это любой из именованных типов, перечисленных в объявлении селекторного типа.
Каждому типу данных соответствует определенная область допустимых значений — домен. Областью допустимых значений атрибута является домен соответствующего базового типа, который определяется деревом определений типов, связывающих базовый тип с терминальными типами (простыми типами и/или entity-типами), которые и определяют структуру атрибута. В этой структуре каждому простому типу в атрибуте экземпляра сущности должно соответствовать конкретное значение из домена этого типа и каждому entity-типу — ссылка (указатель) на конкретный экземпляр соответствующей сущности.
Домен стандартных типов может иметь переменные размеры. Поэтому структура атрибута может варьироваться по размерам в разных экземплярах сущности. Более того, при наличии в entity-обьявлении необязательных (optional) атрибутов их структуры в некоторых экземплярах сущности могут отсутствовать вообще. По аналогии с использованием термина «популяция» в документации по EXPRESS для обозначения содержимого БД популяцией сущности называют совокупность всех имеющихся в БД ее экземпляров. Если трактовать популяцию сущности как файл записей — экземпляров сущности, — то, как видим, придется уточнить, что запись может варьироваться в файле по размерам и составу атрибутом (в пределах максимального состава).
Ограниченность значений атрибута рамками домена соответствующего базового типа является необходимым, но не всегда достаточным условием соответствия БД информационной модели. Для описания подобных ограничений в языке предусмотрены логические функции типа глобальных правил (rules).
Для спецификации локальных и глобальных правил язык EXPRESS дополнен широким набором операций с данными, тремя формами описания алгоритмов (функция, процедура, правило), наконец, набором стандартных функций и процедур оперирования данными, короче — средствами функционального моделирования, присущими процедурным языкам программирования.
Описание языка EXPRESS начинается с утверждения, что значение атрибута не может служить ключом поиска нужного экземпляра. Очевидно, это утверждение не следует понимать как отрицание необходимости процедур поиска по ключу в вычислительном процессе. Скорее всего, это намерение разделить проблему установления связей между экземплярами (это сфера программирования) и проблему описания информационной структуры, позволяющей зафиксировать установленную связь в виде соответствующей ссылки (это сфера применения языка EXPRESS). На самом деле полного разделения этих проблем достичь не удается. В связи с этим в EXPRESS вводится понятие уникальности значений группы атрибутов в популяции сущности, связанное с понятием ключевых атрибутов для процедуры поиска.
Рассмотренный выше тип связи между экземплярами сущностей по атрибутам (с помощью ссылок на необходимые экземпляры) является одним из двух имеющихся в языке EXPRESS типов связей. Второй тип связи — «генетический», или механизм множественного наследования, — состоит в следующем. С помощью subtype-предложения в entity-объявлении можно указать список сущностей — непосредственных «предков» данной сущности, от которых она наследует все свойства — атрибуты, правила и алгоритмы. Отношение наследования транзитивно, то есть вместе с наследованием свойств непосредственных предков наследуются свойства предков вышестоящего уровня, а в итоге — свойства всей «родословной». Наследование атрибутов означает их непосредственное включение в структуру собственных атрибутов сущности, в результате чего образуется «сложный» экземпляр.
При формировании сложного экземпляра необходимо задать значения как собственным атрибутам сущности, так и атрибутам всех предков. Следует заметить, что структура сложного экземпляра, относящаяся ко всей совокупности предков и рассматриваемая с уровня одного из предков сущности, однозначно определена информационной моделью лишь в сторону его предков, но не потомков, состав которых может зависеть от экземпляра. Поэтому при работе со сложным экземпляром на уровне сущности-предка доступу к атрибутам потомков предшествует обращение к стандартной функции type of, возвращающей список сущностей, представленных в экземпляре.
Помимо механизма наследования, язык EXPRESS заимствовал из генетики и идею мутации, реализованную следующим образом: при наличии в одной схеме нескольких подтипов некоторой сущности по умолчанию считается, что в популяции этой сущности возможны экземпляры со свойствами, характерными для любого сочетания указанных подтипов, в связи с чем система обеспечивает автоматическую генерацию entity-объявлений всех возможных подтипов-мутантов.
Остается перечислить языковые средства, обусловленные необходимостью компромисса между объемом памяти (длиной описания) и эффективностью вычислений.
Во-первых, это вычисляемые (derive) атрибуты, функционально зависящие от явных атрибутов экземпляра-сущности. Хранение derive-атрибутов в БД привело бы к избыточности информационной структуры, но их наличие в структуре экземпляра может сократить объем вычислений. Компромисс достигается следующим образом: в структуре хранения популяции сущности в БД derive-атрибуты отсутствуют, а при загрузке экземпляра в оперативную память системой обеспечивается пополнение структуры derive-атрибутами и вычисление из значений.
Во-вторых, это инверсные атрибуты сущности, или «обратные» ссылки. При работе с экземпляром сущности может потребоваться доступ к другим экземплярам той или иной сущности, из которых исходят «прямые» ссылки (по атрибуту) на данный экземпляр. Хотя в системе предусмотрена стандартная функция used in, формирующая множество таких экземпляров на основе полного просмотра популяции сущности, меньших вычислительных затрат потребовала бы технология фиксации всех «обратных» ссылок на эти экземпляры на этапе появления прямых ссылок при формировании популяции сущности. Такая технология реализуется системой по «заказу» разработчика схемы, представленному в виде соответствующих инверсных атрибутов.
Как уже указывалось, цель ISO 10 303 — дать стандарт описания данных о продукте на всех стадиях его ЖЦ. Поскольку состав данных о продукте существенно зависит как от дисциплины (классификационной группы) продукта, так и от стадии его ЖЦ, конечной целью ISO 10 303 является разработка множества частных информационных моделей АР, каждый из которых характеризуется своим контекстом — дисциплиной и стадией ЖЦ продукта. В то же время было бы неверно разрабатывать АР без учета их частичной пересекаемости по информационным объектам, то есть возможности выделения в каждом АР контекстно-независимой части и объединения этих частей в группу моделей верхнего уровня — интегрированных ресурсов.
Выбран наиболее простой способ реализации этой возможности, а именно: сначала разработать в достаточно полном объеме структуру и состав интегрированных ресурсов и соответствующий набор первичных сущностей, разработку каждого АР регламентировать условием, что сущностями EXPRESS-схемы АР (так называемой «интерпретированной модели приложения» —AIM) могут быть только подтипы (потомки сущностей, представленных интегрированными ресурсами (ИР), при возникновении исключительной ситуации, когда для сущности, необходимой приложению, не удается найти предков в ИР, его состав пополняется необходимыми о6ъектами. декомпозиция диаграмма графический моделирование Состав документации по информационным моделям ISO 10 303 открыт для пополнения новыми томами в рамках соглашения о том, что для ИР отводятся номера томов в интервале 41−199, а для АР — в интервале 201−1199 (см. Приложение). Кроме того, документация по ИР разделяется на серию общих ресурсов (тома 41−99) и серию ресурсов приложения (тома 101−199). В отличие от общих ресурсов, сфера применимости которых полностью контекстно-независима, ресурсы приложения ориентированы на конкретные области применения. Наконец, к категории ИР можно отнести и библиотеку А1С EXPRESS-схем, описывающих отдельные понятия предметной области, используемые в двух и более АР. Такая форма обеспечения информационной совместимости различных АР поддерживается централизованным ведением этой библиотеки специальной службой.
В настоящий момент происходит процесс замены стандартов первого поколения вновь разрабатываемыми и процесс этот еще далеко не завершен. Поэтому существующий комплекс стандартов представляет собой комбинацию стандартов обоих типов, позволяющих, тем не менее, хотя и с ограничениями, строить интегрированные информационные модели и обмениваться данными на всех стадиях ЖЦ.