Разработка метода информационной совместимости программных средств автоматизации начальных этапов проектирования изделий
Изучение программно-математического обеспечения информационной совместимости, анализ проблем. Реализация и преимущества преобразования данных в CAD/CAM-системах. Представление кривых и поверхностей в NURBS. Проблемы сохранения точности и валидации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | диссертация |
Язык | русский |
Дата добавления | 13.09.2014 |
Размер файла | 3,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Диссертация
на соискание ученой степени
кандидата технических наук
Специальность: 05.07.02 - проектирование, конструкция и производство летательных аппаратов
РАЗРАБОТКА МЕТОДА ИНФОРМАЦИОННОЙ СОВМЕСТИМОСТИ ПРОГРАММНЫХ СРЕДСТВ АВТОМАТИЗАЦИИ НАЧАЛЬНЫХ ЭТАПОВ ПРОЕКТИРОВАНИЯ ИЗДЕЛИЙ
Москва, 2013
Оглавление
Глава 1. Современное состояние проблемы информационной совместимости программных средств автоматизации начальных этапов проектирования изделий
1.1 Аналитический обзор существующих методов
1.2 Многообразие методов информационной совместимости
1.3 Проблемы информационной совместимости различных программных средств
1.4 Выводы
Глава 2. Методология информационной совместимости программных средств автоматизации
2.1 Подходы к преобразованию данных в CAD/CAM-систем
2.2 Реализация и преимущества предлагаемого метода
2.3 Объектно-ориентированная среда программирования CASCADE
2.4 Структуризация начальных этапов проектирования изделий
2.5 Выводы
Глава 3. Вопросы разработки программно-математического обеспечения метода информационной совместимости
3.1 Внутренние структуры данных
3.2 Внутренний формат представления данных
3.3 Выбор NURBS в качестве внутреннего представления кривых и поверхностей
3.4 Проблемы сохранения точности и валидации внутреннего формата
Приложение. Метод информационной совместимости в соответствии со стандартом внутреннего языка моделирования
Глава 1. Современное состояние проблемы информационной совместимости программных средств автоматизации начальных этапов проектирования изделий
В первой главе проводится обзор состояния вопроса, анализ существующих методов и актуальность решаемой задачи. Рассматриваются аспекты влияния разнообразных форматов на функционирование CAD/CAM систем.
1.1 Аналитический обзор существующих методов
В настоящее время хранение и передача информации об изделии является важнейшей составляющей информационного обеспечения CAD/CAM систем. Стандартизированность форматов хранения данных является в большинстве случае коммерческой тайной и не публикуется в открытых источниках. Практически каждая тяжелая система на сегодняшний день не имеет возможности корректно работать с данными из других систем. Существующие методы в подавляющем большинстве являются узконаправленными.
Методы информационной совместимости практически не используются, так как производители систем встраивают процедуры импорта/экспорта непосредственно в свою систему (табл.1.1).
Таблица 1.1. Методы информационной совместимости
Большинство прикладных программ, например программы генерации сетки для анализа по методу конечных элементов (численный метод решения дифференциальных уравнений с частными производными, а также интегральных уравнений, возникающих при решении задач прикладной физики) или траектории движения инструмента станков с ЧПУ, требуют на входе технического описания продукта.
Данные технических требований импортируются их CAD-системы. Однако все существующие CAD-системы хранят результаты проектирования в своих собственных структурах данных. Они могут не соответствовать входному формату используемой прикладной программы. В связи с этим возникает проблема обмена данными между различными системами.
Для переноса данных необходимо преобразовывать данные технических требований одной системы в формат другой системы. Также необходимо преобразовывать данные и в обратном направлении. Следовательно, для каждой пары систем необходимо иметь два метода переноса данных (рис.1.1).
Рисунок 1.1. Прямой метод переноса данных
Если есть n различных систем, то необходимо разрабатывать n*(n-1) методов, поскольку количество пар систем равно n*(n-1)/2. Таким образом метод прямого конвертирования непрактичен, так как требует разработки отдельного метода преобразования данных для каждой системы. Более того, добавление одной системы к n имеющимся потребуется разработать 2*n дополнительных методов.
Существует и другой способ обмена данными - ввод нейтральной структуры базы данных, называемых нейтральным файлом. Данная структура будет являться промежуточной точкой коммуникации между различными системами (рис.1.2).
Рисунок 1.2. Метод нейтрального файла
Таким образом в каждой системе будет своя пара методов для экспорта и импорта данных в нейтральный формат (рис.1.3).
Рисунок 1.3. Использование нейтрального файла
В данном случае для обмена данными между n системами потребуется 2*n методов. То есть данный метод лишен недостатка, когда требовалось разрабатывать все возрастающее количество методов.
Однако имеются и недостатки у данного метода. Например, прямой метод работает быстрее и создаваемые им файлы данных обычно имеют меньший размер, чем нейтральные файлы. Также когда происходит процесс переноса данных технических требований через нейтральный файл, некоторая информация теряется, особенно информация о топологическом дереве и ограничениях в системах параметрического моделирования.
Исходя из указанного можно сделать вывод об актуальности разработки современной методологии информационной совместимости программных средств автоматизации начальных этапов проектирования изделий.
Далее представлены основные методы информационной совместимости.
Стандарт IGES
Национальный стандарт США IGES (Initial Graphic Exchange Specification) является непосредственным предшественником международного стандарта STEP.
Рисунок 1.4. Структура IGES-файла
Известна схема, иллюстрирующая необходимость стандартизации представления данных для обмена данными между различными прикладными системами. По этой схеме видно, что при использовании стандартного представления данных для связи n систем необходимо n интерфейсов между каждой из систем и стандартным представлением. При отсутствии же стандартного представления потребуется (n-1)2 интерфейсов между каждой парой систем. Этой цели и служил стандарт IGES.
IGES предусматривал обмен данными между системами через стандартный ASCII-файл. Структура (рис.1.4) и формат этого файла описаны в тексте стандарта. Для каждого из возможных типов объектов определено, какие данные, в какой последовательности и в каком формате должны быть представлены.
При передаче через файлы IGES не только объектов базовой геометрии и чертежных объектов, но и данных других типов, оказалось, что вовлечение в сферу действия IGES новых предметных областей требует написания новых разделов стандарта[31, 41].
Новые разделы должны быть прочитаны и интерпретированы специалистами в области информационных моделей и программистами-разработчиками интерфейсов, и только после этого они могли их использовать в своих дальнейших работах. Именно недостатки стандарта IGES выявили потребность в разработке нового стандарта, который получил название STEP. Также как и стандарт IGES, стандарт STEP предусматривает использование для хранения и передачи данных ASCII-файла, но структура данных в этом файле упрощена по сравнению со структурой данных в файле IGES.
Стандарт STEP
Стандарт ISO 10303 STEP (Standard for Exchange of Product data) является ключевым стандартом среди информационных стандартов. Для некоторых из стандартов STEP определяет единые используемые во всех этих стандартах средства описания данных и общую идеологию, для других стандартов (SGML, EDIFACT) должна быть обеспечена совместимость со стандартом STEP как с ключевым стандартом [38, 39, 40].
Формат STEP интегрирует понятия в предметной области «промышленное производство продукции», то есть представляет единую информационную модель этих понятий в виде, формализованном на уровне спецификаций объектно-ориентированного языка Express. STEP обеспечивает единое представление информации модели изделия в форме группы ресурсов, которые вместе поддерживают полное и однозначное определение изделия.
Достоинством стандарта STEP является наличие формального определения предметной области средствами языка Express. Компиляция облегчает обработку определения предметной области и позволяет выделить то подмножество, которое необходимо конкретному пользователю.
Форматы IGES и DXF были разработаны для обмена данными технических требований, а не данными о продукте. Под данными о продукте понимаются данные, относящиеся ко всему жизненному циклу продукта (например, проектирование, производство, контроль качества, испытания и поддержка). Хотя спецификации IDES и DXF были расширены с целью включения некоторых из этих данных, информации, содержащейся в этих файлах, по существу недостаточно для описания всего жизненного цикла продукта. Вследствие этого в США в 1983 году началась разработка нового стандарта под названием PDES (Product Data Exchange Specification -- спецификация для обмена данными о продуктах). Основной упор в PDES делался не на обмен данными технических требований, а на то, чтобы исключить человеческое присутствие из обмена данными о продукте. Иначе говоря, целью PDES было устранить потребность в инженерных чертежах и других бумажных документах при обмене информацией о различных фазах жизненного цикла продукта между сходными или различающимися САПР. Между тем в июле 1984 г. в Международной организации по стандартизации (ISO) были образованы технический комитет ТС 184 (Системы промышленной автоматизации) и его подкомитет SC4 (Внешнее представление данных о модели продукта) для установления единого международного стандарта обмена данными о модели продукта -- STEP (STandard for Exchange of Product model data). Цели PDES и STEP были идентичны, поэтому в июне 1985 г. Управляющий комитет IGES решил, что интересы США в программе STEP должен представлять стандарт PDES. В результате значение акронима PDES поменяли на «обмен данными о продукте с использованием STEP» (Product Data Exchange using STEP), чтобы подчеркнуть идентичность целей PDES и STEP.
В основе разработки STEP лежат следующие принципы:
* Стандарт STEP должен ориентироваться на данные о продукте, которые включают информацию обо всем жизненном цикле продукта: проектировании, производстве, контроле качества, испытании и поддержке. Таким образом, в качестве данных должна рассматриваться информация о допусках, технологических особенностях формы, конечноэлементная модель, модель для кинематического анализа и т.д., а также данные технических требований, относящиеся главным образом к форме продукта.
* В структурах данных STEP информация, относящаяся к приложению, должна храниться в модуле уровня приложения, отдельно от общей информации о форме. Благодаря такому подходу структура данных сможет поддерживать широкий спектр приложений, избегая при этом избыточности в общей структуре данных.
* Для определения структуры данных должен использоваться формальный язык. Спецификации IGES и DXF описывают формат физического файла, в котором хранятся все геометрические и прочие данные. В STEP данные описываются на языке EXPRESS, а затем результат преобразовывается в физический файл. Таким образом, можно избежать неоднозначностей при интерпретации данных о продукте, извлеченных из файла.
STEP разрабатывается рядом комитетов и рабочих групп, занимающихся разными частями стандарта. Эти части группируются по методам описания, интегрированным информационным ресурсам, прикладным протоколам, методам реализации и методологией согласования (рис. 1.6 и рис. 1.7). Статус каждой части показан рядом с ее номером. Статус обозначается буквами от «О» (предварительная стадия ISO) до «I» (международный стандарт -- высшая стадия разработки и принятия стандартов). Части, обозначенные буквами «Е», «F» (проект международного стандарта) и «I», считаются находящимися на достаточно высоком уровне для того, чтобы позволить разработчикам приступить к их реализации.
Рисунок 1.6. Архитектура STEP
Группа методов описания образует фундамент STEP. Она включает часть 1 «Обзор», которая содержит также определения, являющиеся в STEP универсальными. Принадлежащая той же группе часть 11 «Справочное руководство по языку EXPRESS» описывает язык моделирования данных, который используется в STEP. Части, относящиеся к группе методов описания, имеют номера от 1 до 9.
На следующем уровне находится группа интегрированных информационных ресурсов -- части, содержащие фактическое описание моделей данных STEP. Эти модели данных являются «кирпичиками» STEP. Интегрированные информационные ресурсы включают обобщенные ресурсы, прикладные ресурсы и конструкции, интерпретируемые приложением.
Рисунок 1.7. Архитектура STEP
Интегрированные обобщенные ресурсы -- это элементы, которые используются по необходимости прикладными протоколами. Номера частей, относящихся к обобщенным ресурсам, начинаются с 40 и используются всей гаммой прикладных протоколов STEP.
Интегрированные прикладные ресурсы содержат элементы, имеющие несколько больший объем контекста, чем обобщенные элементы. Номера частей, относящихся к прикладным ресурсам, начинаются со 100. Части с номерами от 500 -- это конструкции, интерпретируемые приложением. Они представляют собой многократно используемые группы информационных ресурсов, облегчающие представление одной и той же семантики в различных прикладных протоколах.
На верхнем уровне иерархии STEP находятся более сложные модели данных, используемые для описания конкретных данных о продукте. Эти части называются прикладными протоколами и описывают не только то, какие данные должны использоваться при описании продукта, но и то, как эти данные должны использоваться в модели. Прикладные протоколы используют интегрированные информационные ресурсы в четко очерченных сочетаниях и конфигурациях для представления определенной модели данных или некоторой фазы жизненного Цикла продукта. Прикладные протоколы нумеруются, начиная с 200. В настоящее время используются такие прикладные протоколы, как «Явное черчение» (201) и «Проектирование с управлением конфигурацией» (203).
Группа методов реализации STEP, части в которой нумеруются с 20, описывает соответствие между формальными спецификациями STEP и представлением, используемым для реализации STEP. Еруппа методологии проверки соответствия, части в которой нумеруются с 30, предоставляет информацию о методах проверки соответствия программных продуктов стандарту STEP, дает указания по созданию абстрактных испытательных пакетов и описывает задачи испытательных лабораторий. Часть 31, описывающая методологию выполнения проверки соответствия, принята в качестве международного стандарта (см. рис. 1.6). Стандарты STEP уникальны в том отношении, что они делают упор на испытания и содержат в себе описания методов испытаний.
Группа частей с номерами от 300 (абстрактные испытательные пакеты), состоит из данных и критериев, используемых для проверки соответствия программного продукта, реализующего стандарт STEP, его прикладному протоколу. Номера, присваиваемые абстрактным испытательным пакетам, превышают номера прикладных протоколов ровно на 100. Таким образом, абстрактный испытательный пакет с номером 303 относится к прикладному протоколу 203. Более подробную информацию о STEP можно получить на сайте http://www. nist. gov/sc4.
Сегодня STEP привлекает к себе повышенное внимание, так как ожидается, что он войдет в систему стандартов технологий CALS (Computer-aided Acquisition and Logistics Support -- Непрерывные поставки и информационная поддержка жизненного цикла продукции) как стандарт обмена данными о продуктах. Цель инициативы CALS, автором которой является Министерство обороны США, -- компьютеризация процесса формирования требований, заказа, эксплуатации, поддержки и обслуживания систем вооружений, используемых в армии США. Основное внимание эта инициатива уделяет заданию форматов, которые будут использоваться для хранения и обмена компьютерными данными. Хотя CALS создавалась для военных целей, она становится промышленным стандартом хранения и обмена компьютерными данными в организации.
Стандарт VDA FS
VDA FS появился в связи с тем, что существовала задача организовать обмен графическими данными между разработчиками автомобилей и станкостроительными предприятиями [37]. Тем самым последние могли выпускать необходимое оборудование и оснастку для автостроительных компаний, а кроме того закладывать необходимое представление графической информации в программное обеспечение своего оборудования. Также в качестве дополнительного требования была выдвинута простота работы с VDA FS и простота его реализации внутри автоматизированных систем CAD, САМ и CAD/CAM. Разработка осуществлялась в отделах CAD/CAM - систем таких автомобильных фирм, как «BMW», «VW», «Opel», «Porsche», «Daimler - Benz» и на станкостроительных фирмах или фирмах связанных со станкостроением «Hella», «Bosch». Сами разработчики надеялись, что за счёт своей простоты употребления формат VDA FS получит мировое распространение.
Стандарт DXF
DXF является обменном форматом, используемом в системе AutoCAD фирмы AutoDesk, впервые появившейся на рынке в 1982 г. [7]. С тех пор система получила необычайно широкое распространение. Она успешно применяется в различных областях приложений: машиностроении, архитектуре, электронике. DXF - это основной формат для обмена чертежами между AutoCAD и другими системами. Формат внутренних файлов системы - файлов чертежей (DWG-файлы) является конфиденциальной информацией фирмы AutoDesk Inc.
Структура файла DXF эквивалентна структуре файла чертежа (DWG), имеющего двоичный формат. Файлы обмена описаниями чертежей содержат почти всю информацию, необходимую для воспроизведения чертежа. Это основной источник документированной графической информации. Одним необходимым элементом, отсутствующим в DXF файлах, является описание графических символов и шрифтов. Эти описания могут быть найдены в файлах графических символов и шрифтов.
1.2 Многообразие методов информационной совместимости
До момента заполнения рынка системами проектирования вопрос совместимости с уже существующими системами не рассматривался. Каждая новая система стремится занять лидирующее положение на рынке.
Однако методика вытеснения конкурентов с рынка себя не оправдала и встал вопрос об унификации (стандартизации) обменных форматов данных.
Для создания единого стандарта в международной организации ИСО был организован специальный комитет. В его задачу входила разработка унифицированного подхода к созданию форматов хранения данных путем описания их объектно-ориентированным языком Express [38].
Существует несколько направлений стандарта (протоколы), которые описывают соответствующие прикладные области. Большинство протоколов STEP (рис.1.8) находятся в состоянии разработки [36].
Рисунок 1.8. Состояние завершенности разработки различных протоколов STEP
Основные производители систем не спешат переходить на новые стандарты из-за нежелания отказываться от существующих наработок и отсутствием окончательного варианта стандарта.
Можно выделить несколько уровней информационной совместимости программных средств:
* возможность хранения в системе документов (файлов), созданных в других приложениях, или ссылок на них. Это минимальный уровень интеграции, поддерживаемый большинством систем;
* обмен данными между полями документа (например, штампом чертежа) и атрибутивной информацией, хранящейся в базе данных системы. Это позволяет избежать повторного ввода информации пользователем;
* передача информации о параметрах модели в систему с синхронизацией данных в автоматическом или ручном режиме;
* корректная работа с компонентными (многофайловыми) документами и с документами, содержащими ссылки на другие документы.
Очевидно, что различные программные продукты обеспечивают разный уровень информационной совместимости.
Помимо возможности одновременной работы большого количества пользователей и высокопроизводительной работы с большими объемами данных системы масштаба предприятия и более крупные должны быть предельно открытыми, гибкими и переносимыми -- для максимально успешного функционирования в гетерогенном окружении. Кроме того, одними из основных критериев являются надежность и отказоустойчивость системы и защита данных от несанкционированного доступа.
При реализации методов информационной совместимости должно обеспечиваться правильное отображение букв кириллицы в документах различных форматов в разных кодировках и поддерживаться работа с документами, имеющими длинные имена файлов на русском языке.
Очевидно, что система, использующая методы информационной совместимости должна позволять хранить документы любых типов без ограничения их количества и объема. При этом дублирование документов должно быть исключено. Необходимо учитывать возможность совместного использования электронных и бумажных документов. Система должна позволять быстро находить нужный документ.
Краткий перечень основных критериев сравнения систем по основным признакам:
* поддержка неограниченной глубины уровней структуры изделия неограниченной сложности;
* возможности многовариантного проектирования. Возможности хранения вариантов, не вошедших в основной проект;
* работа с исполнениями и конфигурациями изделий. Возможности формирования обозначения исполнений в автоматическом режиме в соответствии с требованиями ЕСКД;
* возможность создания проекта на основе существующего;
* наличие средств визуального сравнения двух и более проектов;
* возможности получения информации о вхождениях объекта в проекты;
* возможности классификации узлов, деталей и документов. Возможность формировать обозначение из классификатора или в автоматическом режиме. Возможность формирования обозначений в соответствии с требованиями ЕСКД, СПДС и другими отечественными стандартами. Возможности контроля неповторяемости обозначений;
* наличие функций учета изменений;
* возможности системы по генерированию на любой стадии проекта различных отчетов. Возможность формировать спецификации и различные ведомости по ЕСКД, СПДС и стандартам предприятия;
* возможности по ведению истории создания изделия;
* наличие средств для формирования специализированных режимов представления информации о проекте для различных групп сотрудников.
Перечень рекомендаций мировых стандартов занимает многие десятки страниц, поэтому привести их в полном объеме не представляется возможным.
1.3 Проблемы информационной совместимости различных программных средств
В последнее время очень актуальным является проблема развития систем обеспечивающим целостность данных об изделии. Если верить прогнозам поставщиков программного обеспечения, то ситуация будет развиваться в идеальном для предприятий направлении.
Поставщики информационных систем обещают предприятиям, внедряющим подобные системы, обеспечение полного управления информацией об изделии на протяжении всего жизненного цикла: от маркетинговой проработки до утилизации через стадии проектирования, подготовки производства, производства, сбыта и сопровождения. Но если внимательно проанализировать перечень компаний, предлагающих решения в области автоматизации этапов жизненного цикла изделий, то все компании практически те же, которые на протяжении последних лет продавали аналогичные системы.
В действительности же проблема заключается в том, что, используя какую-либо одну систему (будь то PDM, PDM II или PLM), в настоящее время не представляется возможным решить все задачи поддержки информации о продукте на протяжении всего его жизненного цикла. Поэтому поставщики систем предлагают теперь заказчикам не один продукт, а несколько систем, связанных между собой. И если убрать маркетинговые изыскания, то вместо одного продукта заказчику предлагается комплект из нескольких систем, связанных между собой (например, CAD + САМ + CAE + САР + PDM + ERP). За счет предложения более широкого спектра интегрированных решений снижаются затраты на передачу данных между приложениями. Минусы обычно состоят в том, что внедрение такого комплекса может потребовать отказа от уже существующих на предприятии систем (что приведет к дополнительным затратам), а заказчик окажется более тесно связанным с единственным поставщиком выбранного решения.
Если говорить о мировом уровне, то, без сомнения, существуют предприятия, которые смогут внедрить у себя подобные системы в полном объеме. Что же касается нашей страны, то внедрение комплексной системы на более-менее крупном предприятии в первую очередь натолкнется на финансовые проблемы, а также на ряд проблем технического и организационного характера.
Поскольку речь идет об управлении информации на протяжении всего жизненного цикла, то возникает необходимость интеграции -- как минимум систем конструкторской, технологической подготовки производства и системы управления предприятием. Для решения этой задачи необходимо внедрить в рамках всего предприятия единую систему классификации изделий, единые справочники (материалов, комплектующих и т.п.) и обеспечить поддержку работы в территориально-распределенном режиме.
Казалось бы, несложная задача, но, как показывает практика, в настоящее время она не решена на подавляющем большинстве отечественных предприятий. Более того, даже между конструкторской и технологической подсистемами почти всегда существует разрыв в потоке данных (не считая подготовки программ для станков с ЧПУ). Следовательно, одним из первых шагов для обеспечения информационной совместимости программных средств должна стать организация единых справочников в рамках предприятия. Здесь возможны два пути решения:
1.обеспечить интеграцию данных из различных конструкторской и технологической систем подготовки производства через интерфейсы к различным системам;
2.построить единую САПР на базе решения одного производителя.
Каждый из этих подходов имеет свои плюсы и минусы: в первом случае -- это большая гибкость и независимость от разработчиков отдельных систем, во втором -- большая интегрированность, но меньшая гибкость. В условиях реального производства, когда на предприятии уже имеются работающие системы, первый путь представляется более перспективным, поскольку не требует замены существующих модулей и приобретения новых.
Немаловажной проблемой прослеживаемости данных об изделии на протяжении всего его жизненного цикла является то, что в различных системах (конструкторских, технологических, производственных) используются разные наборы данных. Сегодня в предлагаемых разработчиками системах, как правило, практически не реализована сквозная прослеживаемость существования конкретного экземпляра изделия на всех стадиях его разработки, производства и сопровождения (за исключением единичного и мелкосерийного производства преимущественно оборонного назначения и особо ответственных изделий гражданской продукции). Для изделий серийного и массового производства в лучшем случае речь идет о прослеживаемости партии изделий.
Внедрение систем в масштабах предприятия всегда затрагивает интересы различных групп сотрудников, интеграция же в рамках единой системы конструкторских, технологических и управленческих данных неизбежно приводит к конфликтам интересов. Как показывает практика, прежде всего конфликты вызывают распределение прав доступа к информации между службами (проблема «кто главный») и перевод данных, ранее являвшихся достоянием отдельных сотрудников, на корпоративный уровень (проблема «незаменимых людей»).
Кроме того, при внедрении систем подобного уровня предприятия сталкиваются с необходимостью выработки собственных стандартов, методик и инструкций. Здесь, в отличие от внедрения, скажем, САПР, копирование чужого опыта по ряду причин практически невозможно из-за различий в специфике работы, бизнес-процессов, инфраструктуры, а коллеги, уже прошедшие этот путь, не стремятся делиться информацией. К тому же внедрение новой системы очень часто вызывает сопротивление сотрудников, работающих с уже существующими системами. Бороться с этим можно только посредством сочетания методов убеждения и административных рычагов.
Без решения указанных проблем внедрение сложной информационной системы практически неосуществимо, не говоря уже о том, что попытки соединения всех функциональных возможностей в рамках одной системы приводят к созданию своего рода информационного монстра, неудобного для решения профессиональных задач специализированными группами пользователей. Получается, что перспективы в данной области далеко не такие радужные, как это хотят показать поставщики программного обеспечения.
Определяющее значение приобретают стандартные решения. Так, ряд отечественных разработчиков решений по управлению документами уже включили в свои продукты поддержку систем управления документацией (ODMA), активно развивается поддержка стандарта STEP, а некоторые разработчики автоматизированных систем заявили об ориентации на соблюдение требований международных стандартов (WfMC). Сразу несколько компаний в том или ином объеме включили в свои продукты поддержку классификатора ЕСКД. Выдвинут ряд предложений по созданию единого интерфейса между отечественными системами TDM/PDM. Разработаны интерфейсы между популярными системами САПР, PDM и ERP, причем как самими разработчиками этих систем, так и их партнерами.
Таким образом, явно растет интерес компаний к обмену данными, причем даже между конкурентами. Практически все отечественные разработчики САПР заявили о своих намерениях создать интегрированные решения, полностью базирующиеся на их собственных разработках. Насколько реалистичны такие прогнозы, покажет время, хотя мировой опыт пока опровергает возможность создания действительно полноценного интегрированного решения, охватывающего все аспекты поддержки информации об изделии на протяжении его жизненного цикла, одним разработчиком.
1.4 Выводы
Проведенный анализ существующих стандартов и методов информационной совместимости позволил оценить состояние данного вопроса и сделать следующие основные выводы:
1) В части математического обеспечения сочетаются методы точного аналитического описания моделируемых объектов с методами приближенного описания. Следует уделять особое внимание обмену информацией между различными системами, поддержке существующих и вновь появившихся форматов, что является предметом данной работы.
2) В части информационного обеспечения следует создавать максимально обширные базы данных существующих форматов обмена данными.
3) В части методического обеспечения следует стремиться максимально упростить освоение метода пользователем и выпускать автоматизированные системы, предоставляющие конечным пользователям большой набор функций под имеющееся у них оборудование.
Глава 2. Методология информационной совместимости программных средств автоматизации
Даётся обзор традиционных подходов к преобразованию информации в CAD/CAM-системах. Рассматривается методология информационной совместимости программных средств автоматизации начальных этапов проектирования изделий. Доказывается преимущество предлагаемого метода информационной совместимости.
2.1 Подходы к преобразованию данных в CAD/CAM-систем
Преобразование информации обычно выполняется двумя способами - непосредственно CAD/CAM системой или автономным конвертером [21].
В первом случае программист вставляет функции чтения файла другого формата непосредственно в программный код CAD/CAM системы. Процедура импорта обменного файла в систему, например, может производиться следующим путем (рис. 2.1.)
Рис.2.1 Традиционный путь преобразования из одного формата в другой
Основные преимущества данного метода:
-простота реализации,
-достаточно высокая скорость работы;
-минимальный расход памяти за счет исключения хранения временных структур.
Практически все современные системы имеют возможность импорта/экспорта информации. Однако существует ряд ограничений при использовании процедур обмена, потому что в целом любая CAD/CAM система представляет собой сложный комплекс программного обеспечения с жесткими связями и достаточно большим объемом.
1.При внесении изменений и дополнений в код системы требуется перекомпиляция части или всей системы. Очевидно, что в этом случае резко снижается скорость поставки заказчикам и пользователям новых или исправленных версий продукта.
2.Снижается надёжность всей системы в целом. Известны случаи, когда ошибки чтения обменного файла приводят к аварийному завершению работы всей программы с потерей всех несохраненных данных.
3.Никакая система не может охватить всего многообразия форматов данных, представленных на рынках. Поэтому обычной является практика продажи дополнительных интерфейсов с разными форматами.
4.Если существующая система не обладает интерфейсом с нужным форматом, то не стоит покупать другую систему из-за необходимости прочитать один файл.
Вышеуказанные недостатки обычно преодолеваются путем написания автономного конвертера, который читает обменный файл и записывает файл внутреннего формата, или файл выбранного выходного формата (если конвертер используется отдельно от системы). В этом случае процесс совместной работы конвертера и системы может быть представлен так (рис.2.2):
Рис. 2.2 Преобразование с использованием автономного конвертера
Пунктирной линией обозначен участок работы автономного конвертера. Автономный конвертер (АК) оформляется в виде отдельного исполняемого модуля и может вызываться как из CAD/CAM системы, так и отдельно для генерации файлов внутреннего/другого формата. При вызове АК из системы весь процесс трансляции проходит невидимо для пользователя (см. рис. 2.2). Преимуществами данного подхода являются:
-возможность как автономной, так и фоновой работы.
-система, использующая АК, в большей степени защищена от потери данных вследствие ошибки конвертера.
Однако даже при таком подходе требуется некоторые программные переделки. Это относится к добавлению соответствующих пунктов в меню, организацию внутрисистемных вызовов и т.п. Кроме того, при необходимости добавление в систему работы с новым форматом требуется написание нового конвертера, т.е. часть работы приходится проделывать несколько раз.
2.2 Реализация и преимущества предлагаемого метода
При написании данной работы была разработана новая методология, свободная от перечисленных недостатков. Предложенный метод состоит в следующем. Преобразование производится через внутренний формат. Интерфейс с пользователем оформляется в виде отдельного исполняемого модуля.
Предложенный метод позволяет обойтись без перепрограммирования исполняемого модуля системы.
Несложно видеть, что при традиционных подходах количество модулей. В общем виде связь между отдельными компонентами конвертера можно представить в виде следующей схемы (рис. 2.3).
Рис. 2.3 Общая схема взаимодействия между компонентами конвертера
Параметрами функций импорта и экспорта являются, соответственно, имя входного/выходного файла, и указатель на менеджер объектов (внутренний массив данных).
Базовый для STEP-технологий язык Express описан в стандарте ISO 10303, том 11. Язык является объектно-ориентированным, имеет универсальный характер, его можно использовать для описания статических структур и их свойств в различных предметных областях, несмотря на то, что язык разрабатывался прежде всего в качестве средства представления моделей промышленных изделий на разных этапах их жизненного цикла.
Описание некоторого приложения на языке Express в рамках стандартов STEP называют Express моделью. В модели декларируются множества понятий и объектов, входящих в приложение, свойства и взаимосвязи объектов.
Модель состоит из одной или нескольких частей, называемых Express схемами или просто схемами, и обменного файла. Схема - раздел описания, являющийся областью определения данных. В ней вводятся необходимые типы данных. При описании свойств типов данных могут применяться средства процедурного описания -- процедуры, функции, правила, константы. Обменный файл содержит конкретные экземпляры типов данных.
Описание схемы начинается с заголовка, состоящего из служебного слова schema и идентификатора -- имени схемы. Далее следует содержательная часть -- тело схемы. Описание заканчивается служебным словом end_schema:
SCHEMA <имя_схемы>; <тело_схемы>; ENDSCHEMA;
Далее представлен простой пример описания модели:
SCHEMA Family; ENTITY Person
ABSTRACTSUPERTYPE OF (ONEOF (Male, Female));
name: STRING;
mother: OPTIONAL Female;
father: OPTIONAL Male;
END_ENTITY;
ENTITY Female
SUBTYPE OF (Person);
ENDENTITY; ENTITY Male
SUBTYPE of (Person);
ENDENTITY;
END SCHEMA;
В этом простом примере описана одна сущность - супертип Person, включающая в себя два подтипа Male и Female. Ключевое слово ABSTRACT в описании супертипа строго ограничивает и подтипом Person может быть только Male, Female. Каждая сущность Person имеет обязательное к заполнению поле name и два необязательных mother и father (необязательность заполнения полей определяется ключевым словом OPTIONAL). Причём эти поля будут содержать сущности Male и Female соответственно. Далее идёт описание сущностей Male и Female, как подтипов супертипа Person. На рисунке 2.4 представлено описание модели на языке Express-G.
Рис. 2.4. Описание модели на языке Express-G
В языке Express-G существует графическое описание информационных моделей, т.е. данный язык позволяет визуализировать схемы, написанные на языке Express. Далее представлены основные правила построения схем на языку Express-G:
1. В прямоугольнике записывается имя сущности;
2. Перечисляемые типы данных записываются в прямоугольнике со штрихованными границами и небольшой линией в конце справа:
3.Определённые типы данных (определены пользователем), записываются в прямоугольнике со штрихованными границами:
4. Выборный тип данных (позволяет выбирать типы данных по некоторым опциям, заданным в программе) записываются в прямоугольнике со штрихованными границами и небольшой линией в конце слева.
5. Стандартные типы данных записываются прямоугольником с небольшой линией справа:
6. Стандартные типы данных используемые Express:
- String - строковая переменная, любая длина и любые символы (ISO 10646/Unicode);
- Boolean - может принимать два значения True и False;
- Logical - аналогичен Boolean, но имеет третье значение - UNKNOWN;
- Integer - целое число, в большинстве реализаций ограничено 32 битами;
- Real - вещественное число, задумывалось как любое по значению и точности, но в большинстве реализаций его ограничили 64 битами.
Также языком Experss поддерживаются массивы Arrays и Sets.
7. Тонкая сплошная линия с кружком на конце соединяет обязательные поля и сущности, штрихованная линия с кружком на конце соединяет необязательные поля и сущности, толстые линии с кружком на конце объединяют сущности-супертипы с подтипами.
8. В описание сущностей может быть включено ключевое слово WHERE, оно используется при описании сущностей - подтипов.
9. Ссылки типа use отличаются тем, что декларации сущностей из другой схемы используются в данной схеме как свои локальные, в то время как reference просто позволяет обращаться к декларациям другой сущности. Ограниченность reference выражается в том, что сущности из другой схемы можно использовать только в качестве типов атрибутов в сущностях данной схемы.
2.3 Объектно-ориентированная среда программирования CASCADE
Open CASCADE - среда разработки наукоемких прикладных и универсальных программ автоматизации инженерной деятельности на производствах и в исследовательских отделах. Open CASCADE представляет собой несколько «уменьшенную» версию CASCADE, главное преимущество которой, возможность бесплатного использования мощных библиотек, в которых заложены бесценные знания и опыт сотни специалистов различных областей мировой науки и техники. Выбирая Open CASCADE, пользователи, помимо скомпилированных библиотек, в полное распоряжение получают все исходные коды - поэтому среда и является открытой.
По мнению главы представительства Datavision International в России Пьера Лафонта, единственной серьезной проблемой для российских разработчиков являлось и в большинстве случаев пока остается неумение доводить свои разработки до промышленного применения, составлять на них соответствующую мировым требованиям документацию, осуществлять техническую поддержку.
Сегодня в московском представительстве компании ведутся ряд проектов по поставке заказчикам комплекса программ, включающего, наряду с собственными разработками MATRA Datavision, разработки российских партнеров.
В текущем году многие проекты по поставке программного обеспечения были связаны с разработкой дополнительных программных модулей на базе универсальных САПР. Дополнительно к поставляемому базовому программному обеспечению разрабатывались специальные приложения либо с привлечением встроенных средств создания прикладных программ системы, либо на Open CASCADE. Так, одним из партнеров MATRA Datavision -- фирмой ВОК (Москва), разработчиком и изготовителем штампов и пресс-форм, был разработан модуль NC Formatter, решение которого оказалось настолько удачным, что сегодня программа работает на 15 различных предприятиях СНГ, среди которых широко известные предприятия -- Красногорский механический завод, «Красная звезда» (Кировоград) и «Мотор Сич» (Запорожье), где NC Formatter был внедрен в комплекте с универсальной САПР для решения задач, связанных с ЧПУ. NC Formatter не заменяет модули ЧПУ-обработки, имеющиеся в базовых интегрированных системах, а дает ряд дополнительных возможностей.
Open CASCADE - это библиотека для геометрического моделирования, полученная на базе С++. Она представляет собой набор функций и объектов для разработки специализированных научно-технических и профессиональных приложений в таких областях, как САПР, метрология, измерительные машины, биомедицина, трехмерная картография, оптика, разработка дизайна внешних форм изделий и т.д.
Учитывая современную тенденцию к открытости исходных текстов программных продуктов, MATRA Datavision опубликовала исходные тексты Open CASCADE в сети Интернет.
В архив полной версии Open CASCADE для входят:
- исходные тексты и заголовочные файлы;
- рабочие DLL- и LIB-библиотеки для окончательной и отладочной версии проекта;
- документация;
- примеры и программа Shape Viewer для визуального контроля выполнения операций;
- проекты на Visual С++ с примерами;
- файл setup.exe для удобной установки Open CASCADE;
- мастера Visual С++ для быстрого создания заготовки приложения. Пользователь может выбрать только то, что ему требуется и загрузить только
минимальный объем, необходимый для работы с библиотекой. Исходные тексты могут быть откомпилированы для любой платформы:
- Linux;
- UNIX;
- Windows;
- MacOS.
Вся документация разделена па три вида:
- общая информация;
- учебная документация;
- справочная документация.
Общая документация содержит информацию обзорного типа, в которой рассматриваются технические вопросы использования того или иного класса, представлены области применения и даются рекомендации по использованию. Учебная документация содержит в себе описание возможностей модуля. Здесь рассматриваются функциональное назначение и архитектура модуля, основные классы и методы с точки зрения их применения их функций, приводятся советы по использованию и варианты обхода подводных камней.
Справочное руководство по библиотекам CASCADE построено на базе языка С++. Оно объясняет основные правила синтаксиса, в контексте использования, смысл переменных и возвращаемых значений функций, а также возможность использования их совместно с другими функциями. Здесь можно найти описание всех ошибок и характер их возникновения. Все справочные руководства поставляются в HTML-формате и в формате помощи Windows.
Также в документации можно найти большое количество примеров, выполненных в виде проектов Visual С++. В этих примерах показано, как использовать тот или иной модуль или функцию.
Open CASCADE - классы используют все богатство классов С++. Однако разработчиками принят ряд собственных соглашений. Так, имя классов состоит из двух частей, разделенных подчерком. Первая часть имени указывает на принадлежность класса к определенной группе, а вторая - собственное имя класса.
Это позволяет группировать все классы в логические модули. Например, группа gp (геометрические примитивы) содержит такие классы, как:
1. gp_Pnt - точка;
2. gp_Circ2d - окружность;
3. gp_Ax2 - ось.
Объекты Open CASCADE похожи на большинство объектов С++. Например, код программы, иллюстрирующей процесс создания объекта «точка» представлен далее:
#include <gp_Pnt.hxx> //Размещаем объект «точка» в статической памяти. gpPnt Р(1,2,3); //Размещаем объект «точка» в динамической памяти.
gpPnt *Р = new gp_Pnt(l,2,3);
Следует отметить одну из основных особенностей библиотеки Open CASCADE, заложенную при разработке и отличающую ее от библиотек других разработчиков. При разработке архитектуры классов использовались все последние достижения в области распределения памяти и возможности совместного использования указателей на объекты. Так, если пользователь хочет создать ЗО-точку, то он имеет в своем распоряжении два класса: gp_Pnt и Geom_CartesianPoint. Эти два класса были созданы для различных целей. По соглашению каждый пользователь задействует gp_Pnt, когда ему необходимо использовать точку в качестве переменной, как можно видеть на следующем примере.
#include <gp_Pnt.hxx> gp Pnt P(1,2,3); Slandard_Real px = P.XQ;
Так же по соглашению Geom_CartesianPoint используется, когда пользователю требуется точка с расширенными функциональными возможностями, например, возможность совместного использования указателей на объект. Далее приведен пример текста программы, иллюстрирующий создание объекта типа GeomCartesianPoint, но ни один из способов описания не применяется при программировании в Open CASCADE:
#include<Geom_CartesianPoint.hxx> //Размещение точки в статической памяти. GeomCartesianPoint СР(1,2,3); //Размещение точки в динамической памяти GeomCartesianPoint *СР = new Geom_CartesianPoint(l ,2,3);
Для управления объектами Open CASCADE предлагает механизм, известный как handle, наследуемый от MMgt_Tshared-KTacca. Handle - это дескриптор, который автоматически перераспределяет память. Одним из классов, использующих механизм handle, является Geom_CartesianPoint.
Вызывая методы созданного объекта, оперируя с его дескриптором, следует использовать последовательность '->' (стрелка). Однако, в случае вызова метода дескриптора следует использовать '.' (точка) для доступа к ним.
Итак, основное назначение дескриптора заключается в хранении количества указателей, созданных на объект, и в автоматическом освобождении памяти в случае, если количество указателей равно нулю. Это огромное преимущество для программиста, поскольку ему не требуется следить за своевременным вызовом функции delete и освобождением памяти «вручную». Использование такого механизма гарантирует своевременное освобождение памяти в часто встречающихся ситуациях, например в таких, как представлено ниже.
Handle(G еот JZartesianP oint) Handle! = new Geom_CartesianPoint(l,2,3); //Создадим объект точки Pl> Handle(G еот JZartesianP oint) Handle2 = new Geom_CartesianPoint(3,4,5); //Создадим объект точки P2. Handlel = Handle2; //При выполнении операции присвоения, память выделенная под Р1 освобождается.
Наряду с этим дескриптор предоставляет ряд широко используемых функций. Например, проверка на нулевой указатель. Эта проверка позволяет узнать, имеется ли объект в действительности или нет, исключив ошибки связанные с неправильным обращением к памяти. Другой функцией является то, что дескриптору определенного класса можно присвоить объект любого его подкласса. Эта возможность есть и в существующих указателях:
Hendle(GeomCurve) Project(const Handle(Geom_Curve)& С, const Handle(Geom_Surface)& S);
Предположим, в качестве параметра Geom_Curve будет подставлен объект подкласса GeomBSplineCurve. В этом случае результатом функции будет объект того же класса, что и параметр, то есть объект типа Geom_BsplineCurve.
Разрабатывая объекты, можно манипулировать ими или как переменной, или как дескриптором. Если объект создается на короткое время и используется, например, для вычислений в несложном алгоритме, то можно использовать его как переменную. В безвыходных ситуациях можно использовать функции распределения памяти new и delete, однако это не рекомендуется.
В интерактивных приложениях очень частой операцией является выбор объекта при помощи мыши, поэтому уделим этому вопросу особое внимание. С возвращением дескриптора суперкласса возникает необходимость узнать, какой в действительности тип у выбранного объекта. Если пользователь знает действительный тип выбранного объекта, он может преобразовать дескриптор суперкласса в дескриптор этого объекта. Для этого можно использовать статическую функцию DownCast, определенную в классе Handle_Standard_Transient. Пример преобразования:
#inc/ude<Handle_Standard_Transient.hxx> #include<Geom_CartesianPoint.hxx>
Handle(Geom_CartesianPoint) CP = new Geom_CartesianPoint(l,2,3); HandlefGeom Point) P = CP; >//Преобразуем суперjaiacc в подкласс. Handle(Geom JZartesianP oint) NCP = Handle(Geom_CartesianPoint)::DownCast(P);
if(NCP.IsNull())
cout<<»Ошибка преобразования munoe»«endl;
Еще одну возможность, применяемую при создании интерактивных приложений представлена далее. Предположим, пользователю необходимо узнать тип выбранного объекта и в соответствии с ним предпринять какие-либо действия. Для определения типа объекта он может использовать несколько способов. Одним из них является использование макроса STANDARD TYPE. Макрос возвращает значение типа Standard_Type, который можно применять в операциях сравнения. Для сравнения следует использовать методы Standard_Type (наследованного от MMgt_Tshared) IsKind и DynamicType. Ниже приведен пример использования этих методов.
#include<Standard_Transient.hxx> #include<Geom_CartesianPoint.hxx>
>Handle(Geom_CartesianPoint) CP = new Geom_CartesianPoint(],2,3); Handle(Geom_Poinl) P = CP;
//Пример использования IsKind, когда нам требуется объект класса Geom_CartesianPoint. Standard_Boolean result =
Подобные документы
Программная и техническая характеристика информационных систем предприятия. Требования к информационной и программной совместимости. Проектирование программного обеспечения с использованием специализированных программных пакетов. Разработка базы данных.
отчет по практике [1,3 M], добавлен 11.04.2019Документ, на основании которого ведется разработка. Требования к составу и параметрам технических средств, к информационной и программной совместимости. Проработка программных средств. Переопределение стандартных операций для абстрактных типов данных.
курсовая работа [371,5 K], добавлен 21.02.2012Разработка игровой программы "разгадывания кроссворда". Создание схемы хранения данных, изучение возможности среды программирования. Требования к функциональным характеристикам, составу и параметрам технических средств, информационной совместимости.
курсовая работа [403,9 K], добавлен 26.03.2015Требования к составу и параметрам технических средств, информационной и программной совместимости. Разработка функциональных моделей автоматизированной системы "Деятельность бетонно-растворного узла". Интерфейс Web-приложения, руководство пользователя.
курсовая работа [4,6 M], добавлен 04.10.2014Этапы решения задачи классификации цифр арабского алфавита на основе нейронных сетей: выбор класса, структуры и пакета нейронной сети, ее обучение, требования к информационной и программной совместимости, составу и параметрам технических средств.
реферат [111,6 K], добавлен 19.10.2010Цели и задачи проектирования информационной системы, основные требования к ней, внутренняя структура и взаимосвязь отдельных компонентов. Обзор и анализ существующих программных разработок. Обоснование стратегии автоматизации и технологии проектирования.
курсовая работа [3,3 M], добавлен 12.01.2015Среда проектирования программного обеспечения Rational Rose. Унифицированный язык моделирования UML. Требования к функциональности, к безопасности, интерфейсу, настраиваемости, информационной и программной совместимости, программная документация.
курсовая работа [582,0 K], добавлен 20.07.2011Анализ проблем, возникающих при совмещении изображений в корреляционно-экстремальных навигационных системах. Использование двумерного дискретного преобразования Фурье. Нахождение корреляционной функции радиолокационного и моделируемого изображений.
дипломная работа [3,6 M], добавлен 07.07.2012Анализ и разработка информационной системы, структура сети предприятия. Описание процесса разработки конфигураций и выявление потребностей в автоматизации функций. Средства разработки проектирования и архитектура базы данных. Разработка модели угроз.
дипломная работа [1,4 M], добавлен 13.07.2011Появление системы управления базами данных. Этапы проектирования базы данных "Строительная фирма". Инфологическая и даталогическая модель данных. Требования к информационной и программной совместимости для работы с базой данных "Строительная фирма".
курсовая работа [93,0 K], добавлен 31.03.2010