Продукты поддержки стандарта STEP

 

ST-Developer включает набор средств для разработки STEP-приложений: средства информационного моделирования, средства верификации данных в формате STEP и библиотеки для организации доступа к STEP-моделям для языков С, С++, Java

ST-Database Adaptors содержит набор программных продуктов, расширяющих возможности ST-Developer. Они обеспечивают загрузку и выгрузку данных в формате STEP в популярные СУБД: Oracle, Object Store и Versant.

ST-EXPRESS - средства информационного моделирования для аналитиков и разработчиков прикладных протоколов STEP. Включают в себя собственно компилятор языка информационного моделирования EXPRESS и набор средств для работы с графическим представлением языка - EXPRESS-G.

ST-ACIS обеспечивает конвертирование твердотельных моделей в формате ACIS в геометрию STEP и обратно. Поддерживает геометрические модели STEP согласно прикладному протоколу АР203. Представляет из себя либо отдельно исполненный транслятор, либо библиотеку для С++ с целью использования в собственных разрабатываемых приложениях.

ST-Visualizer - средство просмотра геометрических 3D моделей, описанных в формате STEP. Отображает тонированные твердотельные модели и может импортировать векторную и поверхностную геометрию по стандарту IGES. Обеспечивает функции вырезки и вставки геометрических примитивов между STEP-файлами и редактирование топологии твердотельных моделей.

ST-WebPublisher позволяет обеспечить доступ к моделям в формате STEP с использованием Web-технологии. Обеспечивает как просмотр геометрии в STEP-модели, так и данных конфигурации изделия. В состав ST-WebPublisher входят средства и шаблоны для создания HTML-страниц, растровых образов в формате GIF и Java по исходному обменному файлу STEP Part 21.

 

3.3.3. Основные элементы языка EXPRESS

 

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

Реализация объектно-ориентированного подхо­да возможна в двух вариантах.

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

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

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

Информационное моделирование (на базе методологии IDEF1Х) представляет информацию о сущностях, их связях и атрибутах, которое может быть использовано далее при создании специ­фикаций EXPRESS.

Функциональное моделирование отвечает за вто­рой элемент представления знаний — функциональ­ные связи между понятиями. Интеграция знаний в этой области пока осуществляется без привлечения ЭВМ, хотя предпринимают­ся попытки как-то регламентировать представление знаний, в частности, средствами IDEFO. В стандарте STEP средства IDEFO используются для иллюстра­тивного представления сферы использования при­ложения — программной реализации стандартного протокола приложения АР, содержащего специа­лизированную информационную модель.

Наконец, стандарт STEP касается и третьей ком­поненты проектирования — программной реализации стандартного АР. Для каждого стандартного про­токола его разработчиками составляется набор аб­страктных тестов, по которому проверяется реали­зация протокола на соответствие требованиям АР (см. рис.8). Следует отметить, что структура функциональной модели приложения (и, следовательно, представление в ЭВМ функциональных связей между понятиями) не опре­деляется стандартом STEP, а лишь ограничивается снизу требованием, чтобы ЭВМ «владела» понятия­ми информационной модели, по крайней мере, на уровне минимальных требований, заданных набо­ром абстрактных тестов.

Второй вариант является предпочтительным для использования в CALS, поскольку информация для создания информационных систем предварительно систематизируется и верифицируется.

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

Итак, язык EXPRESS предназначен для описания информационных моделей (как и метод IDEF1Х). Информационная мо­дель описывается одной или несколькими взаимо­связанными схемами. Схема состоит из набора элементов, который может включать в себя:

 

  - объекты (ENTITY);
  - типы (Type);
  - константы (Constant);
  - правила (Rule);
  - функции (Function) и процедуры (Procedure), необходимые для проверки правил и для вычисления значений производных атрибутов.

 

Прикладной протокол AP - это схема, описывающая некоторую предметную область. Прикладной протокол включается в стандарт как один из томов стандарта. Имена объектов, констант, функций, процедур, правил и типов уникальны в пределах данной схемы.

База данных (БД), формируемая в соответствии с описанием EXPRESS -схем, предназначена для хране­ния произвольного количества экземпляров каждой из сущностей, представленных в схемах. Сущность — информационный объект, характеризующийся идентификатором и списком атрибутов, определяю­щих свойства каждого из экземпляров сущности. Остальные элементы описания схемы играют вспомогательную роль, а именно: type-объявления определяют струк­туру представления атрибутов сущности. Алгоритмы и правила служат для проверки соответствия содер­жимого БД информационной модели, а интерфейс предназначен для унификации описания объектов (типов, алгоритмов, правил), используемых более чем в одной схеме.

Возможности описания информационных струк­тур в языке EXPRESS сводятся, в основном, к следую­щим. Прежде всего, имеется набор стандартных (встроенных в EXPRESS) данных, состоящий из группы простых типов, включающей типы number, integer, real, logical, boolean, binary, string, и из группы агрегативных типов, включающей типы array, bag, list, set — разновидности множества однотипных компонент. При использовании в схеме простых типов real, bina­ry, 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 10303 — дать стандарт описания данных о продукте на всех стадиях его ЖЦ. Поскольку состав данных о про­дукте существенно зависит как от дисциплины (классификационной группы) продукта, так и от стадии его ЖЦ, конечной целью ISO 10303 является разработка множества частных информационных моделей АР, каждый из которых характеризуется своим контекстом — дисциплиной и стадией ЖЦ продукта. В то же время было бы неверно разрабатывать АР без учета их частичной пересекаемости по информационным объектам, то есть возможности выделения в каждом АР контекстно-независимой части и объединения этих частей в группу моделей верхнего уровня — интегрированных ресурсов.

Выбран наиболее простой способ реализации этой возможности, а именно: сначала разработать в достаточно полном объеме структуру и состав интегрированных ресурсов и соответствующий набор первичных сущностей, разработку каждого АР регламентировать условием, что сущностями EXPRESS -схемы АР (так называемой «интерпретированной модели приложения» —AIM) могут быть только подтипы (потомки сущностей, представленных интегрированными ресурсами (ИР), при возникновении исключительной ситуации, когда для сущности, необходимой приложению, не удается найти предков в ИР, его состав пополняется необходимыми о6ъектами.

Состав документации по информационным моделям ISO 10303 открыт для пополнения новыми томами в рамках соглашения о том, что для ИР отводятся номера томов в интервале 41-199, а для АР — в ин­тервале 201-1199 (см. Приложение). Кроме того, документация по ИР разделяется на серию общих ресурсов (тома 41-99) и серию ресурсов приложения (тома 101-199). В от­личие от общих ресурсов, сфера применимости ко­торых полностью контекстно-независима, ресурсы приложения ориентированы на конкретные области применения. Наконец, к категории ИР можно отнести и библиотеку А1С EXPRESS-схем, описывающих от­дельные понятия предметной области, используе­мые в двух и более АР. Такая форма обеспечения ин­формационной совместимости различных АР под­держивается централизованным ведением этой биб­лиотеки специальной службой.

В настоящий момент происходит процесс замены стандартов первого поколения вновь разрабатываемыми и процесс этот еще далеко не завершен. Поэтому существующий комплекс стандартов представляет собой комбинацию стандартов обоих типов, позволяющих, тем не менее, хотя и с ограничениями, строить интегрированные информационные модели и обмениваться данными на всех стадиях ЖЦ.