В статье рассмотрены вопросы проектирования структур CAD/CAM-систем. Для обоснованного выбора структур систем и структур данных предложен метод проектирования, основанный на создании обобщенной модели CAD/CAM-систем по выбранному алгоритму их функционирования. Приведены примеры построения отдельных частей модели и сравнительные характеристики структур данных, используемых в некоторых системах.
ВВЕДЕНИЕ
Проектирование программного обеспечения CAD/CAM-систем носит специфический характер, поскольку способы представления входной и выходной информации сильно зависят от используемых внешних устройств и от стандартов по взаимодействию этих систем с внешними. От CAD/CAM-систем также требуется малое время реакции на действия пользователя. Разработка и создание CAD/CAM-систем является достаточно сложным и длительным процессом, требует значительных затрат материальных и людских ресурсов. При проектировании CAD/CAM-систем разработчики стараются получить лучшие эксплуатационные характеристики за счет рационального выбора структур программных средств и структур данных . К сожалению публикации на тему выбора структур программного обеспечения CAD/CAM-систем в отечественных журналах практически отсутствуют. Из зарубежных публикаций , на наш взгляд, интерес представляет работа [1].
ПОСЛЕДОВАТЕЛЬНОСТЬ СИНТЕЗА СТРУКТУР ПРОГРАММНЫХ СРЕДСТВ CAD/CAM-СИСТЕМ
Исходная информация для проектирования системы формулируется в технических требованиях на ее разработку, включающих описание алгоритма функционирования , способы представления информации на входе и выходе системы, способы кодирования информации, точность представления данных, рекомендации по используемым типовым подсистемам, выбранные показатели качества функционирования системы (например, объем занимаемой памяти, быстродействие и т. п.). В общем случае система или ее отдельные части могут быть реализованы как программно, так и аппаратно. Последнее характерно, например, для графических станций, где часть функций по работе с геометрической моделью реализована аппаратно.
На первой стадии синтеза структуры системы проводится предварительное разделение общего алгоритма функционирования на локальные алгоритмы (ЛА), т.е. алгоритмы с сильно связными операциями и использующими один способ кодирования и точность представления данных [3]. При разделении на локальные алгоритмы образуется первая группа вариантов структуры системы. Последующие варианты получаются за счет последовательного объединения ЛА в смысле их реализации в одном блоке структуры системы.
На второй стадии для каждого сформированного ЛА строится структурный граф, в котором дугам ставятся в соответствие значения качественного показателя различных способов реализации ЛА , а вершинам - различные способы представления информации на входе и выходе. Реализации ЛА далее будем называть локальными структурами (ЛС).
На третьей стадии выбирается структура всей системы, поэтому для каждого варианта структуры ЛА, полученного на первой стадии, строится обобщенная модель структуры системы. Обобщенная модель включает совокупность структурных графов, упорядоченную структурой общего алгоритма функционирования и охватывающую возможные способы кодирования, а также форматы и типы файлов. Лучший вариант построения системы выбирается путем подсчета суммарного показателя качества системы по алгоритму определения кратчайшего пути от входа к выходу на обобщенной модели.
ПРИМЕР ПРОВЕДЕНИЯ ОПЕРАЦИЙ С АЛГОРИТМАМИ НА ПЕРВОЙ СТАДИИ СИНТЕЗА СТРУКТУР
На рис. 1 показано предварительное разделение на локальные алгоритмы для 2D-системы проектирования конструкторско-технологической документации. Разделение на локальные алгоритмы проводится по определенным правилам [2, 3], которые для простоты изложения в настоящей публикации опустим. Входная информация в систему может поступать в интерактивном режиме через специальные средства взаимодействия пользователя с системой (ВХ1) или в командном режиме через интерпретатор входного графического языка (ВХ2). Выходная информация поступает на графический дисплей (ГД), графопостроитель (Г), печатающее устройство (ПУ), станки с ЧПУ и т. п.
Рисунок 1.
При первоначальном разделении на локальные алгоритмы выбраны следующие уровни представления информации в системе:
1. Параметрическая таблица описаний входной информации (ТО). Информация поступает и хранится в символьном виде. В общем случае в ТО может быть представлена геометрическая модель и действия по ее преобразованию. В частном случае в ТО хранится протокол действий пользователя при работе с системой.
2. Таблица входных описаний (ТВО), которая служит для внутрисистемного представления информации, в котором параметры являются фиксированными значениями, в остальном функции ТВО аналогичны функциям ТО.
3. Предтерминальный файл (ПТФ). В нем представлены результаты работы системы в аппаратно-независимом виде. В ПТФ используются фиксированные значения параметров, подготовленные для вывода на внешние устройства.
4. Терминальные файлы (Тфi). В них представлены результаты в кодах i-го устройства, на которое производится вывод информации.
Способы представления, кодирования и точность информации на входах и выходах системы определяются внешними устройствами или системами. Представление, кодирование и точность промежуточной информации задается разработчиком и в последующем уточняется на последней стадии синтеза структуры системы.
В системе выделены следующие локальные алгоритмы:
ИВС - алгоритмы интерпретации входных сообщений, включающие интерпретацию входного графического языка (ИВЯ) и интерпретацию интерактивных действий пользователя (ИИД);
ПР - алгоритм преобразования ТО в ТВО;
ГП - алгоритмы геометрических построений, осуществляющие вычисления координат характерных точек простых геометрических фигур, текста, алгоритмы штриховок, преобразования координат и т. п.;
ППi - алгоритмы преобразований информации для вывода на i-ое внешнее устройство.
Кроме того по j-ым уровням представления информации распределены алгоритмы виртуальной записи и чтения из оперативной памяти (ОПj), управления базами данных (БДj), редактирования (Рj) и преобразования (Пj) для вывода отредактированной информации на внешние устройства, в частности, на дисплей. Для 4-го уровня эти алгоритмы на рис.1 не показаны, как и не показаны алгоритмические средства управления последовательностью вычислений.
Каждый ЛА в системе в последующем будет реализован соответствующим программным блоком и на последних стадиях проектирования будут получены точные оценки этих блоков по выбранным критериям. Качественные сравнительные характеристики предполагаемой реализации можно получить при первоначальном разделении общего алгоритма функционирования на локальные алгоритмы. Для этого допустим, что на рис.1 вместо ЛА подставлены соответствующие блоки, реализующие эти ЛА. Перечислим основные выводы по анализу первого варианта структуры системы.
Последующие варианты построения системы образуются за счет проведения операций объединения ЛА в смысле их реализации в виде одного программного блока. Разработаны специальные правила объединения ЛА [2,3]: при объединении двух ЛА с различными способами кодирования информации выбирается способ кодирования, зафиксированный в технических требованиях на разработку системы. Кроме того из двух различных точностей представления информации выбирается наибольшая.
На рис. 2 показан один из следующих характерных вариантов построения системы. В этом варианте отсутствует промежуточное представление информации в виде ТВО и, соответственно, блоки Р2,П2,ОП2,БД2. Появляется новый преобразователь ПР1. Кодирование информации на выходе этого преобразователя отличается от кодирования в ТВО. Оно может быть более простым, поскольку каждая команда должна сразу исполняться геометрическим процессором ГП.
Рисунок 2.
Второй вариант построения системы занимает меньше памяти, чем первый, однако имеет меньшее быстродействие на операциях с объектами, хранящимися в базе данных на входе геометрического процессора.
Третий вариант построения структуры системы показан на рис. 3. В нем на входе системы имеется только интерпретатор интерактивных действий пользователя ИД, от которого информация по каждой команде непосредственно передается на геометрический процессор ГП. На входе ГП отсутствуют встроенные в систему средства редактирования и работы с базами данных, а также средства языкового взаимодействия пользователя с системой. Их функции могут выполнять средства операционной системы или другие известные системы. Для этого, например , может быть использован текстовый редактор типа ЛЕКСИКОН , компилятор с языка СИ, одна из известных систем управления базами данных и т.п. При этом снижаются расходы на разработку системы, сокращается время разработки. Однако, естественно, требуется больше памяти, теряется время на вызов другой системы, требуются специальные средства для вызова этих систем из основной.
Рисунок 3.
Рассмотрены только три наиболее характерные варианты построения системы, при синтезе структуры системы образуется существенно большее количество вариантов, то есть все возможные сочетания локальных алгоритмов. При этом возникает необходимость автоматизации процесса образования вариантов построения системы.
ВТОРАЯ СТАДИЯ СИНТЕЗА СТРУКТУР
Для формализации процесса выбора структуры системы производится упорядочение по формам представления входной и выходной информации различных вариантов реализации ЛА. Учитывая многообразие форм представления информации, каждый ЛА можно реализовать множеством ЛС . Представим множество ЛС пространственными графами, в которых вершинами являются способы представления информации, а дугами - реализация конкретных операций. Каждой дуге ставится в соответствие качественный показатель (например, время выполнения операции или объем требуемой памяти).
На рис. 4 схематично показана структура пространственного графа. Группы вершин, принадлежащие входу и выходу (плоскости А и В), располагаются на пересечении строк и столбцов матриц, по одной стороне которых отложены форматы файлов данных, по другой - типы данных. В качестве примера можно привести следующие форматы данных: одноразрядные (ОД), последовательные (ПС) в виде списков , параллельные (П) в виде таблиц. Могут быть использованы следующие типы данных: логические (Л), символьные (СВ), целые (Ц), действительные (Д) и т.п. Дуги графа соединяют как входные и выходные вершины, так и вершины, расположенные в плоскостях форматов и типов данных. В последнем случае они соответствуют реализациям преобразований данных на входе и выходе ЛС.
Рисунок 4.
Для каждой проблемной ориентации структуры графов могут быть уточнены, причем определение качественных показателей реализаций может производиться как теоретически, так и практически, путем замеров объемов памяти, быстродействия и других характеристик, представляющих интерес.
В табл. 1 приведен пример временных затрат при преобразованиях форматов и типов данных в плоскостях А и В (рис. 4) пространственного графа множества ЛС. Информация получена экспериментальным путем для одного типа компьютера. Время указано в условных единицах. В качестве форматов данных рассматривались одноразрядная переменная (О), список (С), таблица (Т). Типы данных представлены в виде символов (СВ), целых (Ц) и действительных (Д) чисел. Параметры I и J указывают длину строки и количество строк соответственно. По вертикали расположены форматы и типы данных на входе, по горизонтали - на выходе блока преобразования. Время преобразования убывает при переходе к более простым форматам данных от таблиц к спискам и одноразрядным переменным, а также при переходе от символьного к действительному и целочисленному типу данных.
Таблица 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ТРЕТЬЯ СТАДИЯ СИНТЕЗА СТРУКТУР
На третьей стадии синтеза создается обобщенная модель структуры системы. Обобщенной моделью будем называть определенную комбинацию ЛС, связанную последовательностью выполнения операций общего алгоритма функционирования и охватывающую возможные способы кодирования данных.
Обобщенная модель включает ЛС, осуществляющие непосредственное выполнение операций ЛА и преобразование данных. Обобщенная модель структуры, например, для двух способов кодирования а1 и а2, может быть представлена в виде пространственного графа так, показанного на рис. 5.
Рисунок 5.
Множества локальных структур ЛС11 - ЛС31 и ЛС12 - ЛС32 реализуют ЛА для способов кодирования a1 и а2 соответственно. Вертикальные поперечные плоскости в пространственных графах представляют преобразования форматов файлов и типов данных. ЛС1211, ЛС2311, ЛС1222, ЛС2322 отображают только связи между вершинами предыдущих и последующих графов (значения их дуг равны 0). ЛС1212 и ЛС2312, а также ЛС1221 и ЛС2321 являются эквивалентными и реализуют ЛА преобразования способов кодирования.
Реализация каждой операции на множестве локальных структур может быть заранее подготовлена в виде программы или аппаратуры, соответственно могут быть подсчитаны и значения качественных показателей каждой реализации.
На третьей стадии синтеза определяется структура системы. Лучшая ее реализация по заранее выбранному критерию будет соответствовать кратчайшему пути на обобщенной модели структуры.
Обобщенная модель наглядно показывает наличие значительного количества преобразований информации. Важным вопросом при этом является сокращение суммарного объема памяти и времени, расходуемых при преобразованиях.
Выше был рассмотрен пример преобразования типов и форматов данных для множества ЛС , далее остановимся на преобразованиях разных способов кодирования информации (ЛС1212, ЛС2312, ЛС1221, ЛС2321).
Затраты на реализацию такого рода преобразований могут быть существенно сокращены за счет использования промежуточных способов кодирования таких, как известные международные стандарты по обмену информацией между системами (например, IGES) или широко распространенные способы кодирования (DXF). Однако непосредственные преобразования, как показано на рис. 5, могут повысить эффективность работы системы за счет сокращения времени преобразований.
В качестве примера в табл. 2 приведены результаты экспериментальной оценки непосредственных преобразований растровых форматов PCX, GIF, PIC, TIF[4]. Эти преобразования возникают при передаче растровой информации между различными системами. В таблице указаны объем памяти, занимаемый программой преобразования, в байтах и время преобразования в секундах (в таблице числа с десятичной точкой). Использовался файл размером 320x200 пикселей цветного изображения.
Таблица 2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
АНАЛИЗ ОСОБЕННОСТЕЙ ПОСТРОЕНИЯ НЕКОТОРЫХ CAD/CAM-СИСТЕМ
Сравнительный анализ построения CAD/CAM-систем затруднен из-за отсутствия публикаций по их структурам. Анализ возможен лишь по внешним (пользовательским) характеристикам систем, таким как наличие или отсутствие отдельных блоков системы, реализующих конкретные алгоритмы функционирования, используемые открытые структуры данных, объемы памяти, занимаемые геометрическими моделями, времена выбора и преобразования моделей. Ниже отметим некоторые особенности структур отдельных систем и их структур данных, в свете изложенного метода синтеза. Рассматриваться будут особенности реализации алгоритмов, представленных на рис.1.
Наиболее универсальной и, на наш взгляд, избыточной, с точки зрения различных способов представления информации, является система AUTOCAD. Общая структура системы весьма близка к структуре на рис.1. В системе имеется двоичный файл внутреннего представления информации DWG, двоичный и символьный файл DXF. Для обмена с другими системами информация на входе и выходе может быть представлена в стандарте IGES. Естественно наличие DXF и IGES требует соответствующих преобразователей. Кроме того для обмена рисунками используется двоичный файл DXB. В системе помимо средств интерактивного взаимодействия пользователя имеется встроенный интерпретатор с языка AUTOLISP. Система имеет значительное количество преобразователей для вывода информации на внешние устройства, а также средства для хранения терминальных файлов.
К структуре, показанной на рис. 2, близка структура системы ГРАФИКА-81-2D, содержащая большую часть блоков. В системе имеется более специализированный интерпретатор графического языка, чем в AUTOCAD. В системе ГРАФИКА-81-2D непосредственно отсутствуют средства для хранения и редактирования терминальных файлов и средства редактирования текстовых описаний. Предполагалось, что эти функции заимствуются у операционной системы.
К структуре, показанной на рис. 3, близки структуры систем ADEM, КОМПАС, T-FLEX. В них отсутствуют интерпретаторы входных языков, описания геометрии объектов готовятся с применением трансляторов с универсальных алгоритмических языков используемых операционных систем.
Достаточно любопытные результаты при анализе систем могут быть получены при работе с одинаковыми геометрическими моделями на разных системах проектирования. Так, например, в Институте проблем управления РАН были разработаны объемные геометрические модели внешнего облика модулей орбитальной станции МИР. Модели реализованы в системе ГРАФИКА-81-3D [5] и переданы в триангулированном виде в системы AUTOCAD, 3DS, а также в систему CIMATRON, функционирующую на графической станции. Были произведены измерения (табл. 3) объемов занимаемой памяти (в байтах) и времени доступа к 3D моделям (в сек., в таблице числа с десятичной точкой).
Из табл. 3 следует, что объем памяти, занимаемый моделями в системе AUTOCAD в формате DXF, почти в 15 раз больше, в формате DWG - почти в 5 раз, в системе 3DS - приблизительно в 1,6 раза, чем в системе ГРАФИКА-81-3D. Время выборки моделей примерно в два раза больше в системе AUTOCAD, чем в системе ГРАФИКА-81-3D. Этот вывод скорее всего подтверждает тот факт, что специализированная система всегда имеет лучшие эксплуатационные характеристики, чем универсальная.
Таблица 3.
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Увеличенный объем памяти на графической станции объясняется, видимо, большими функциональными возможностями по визуализации моделей и их преобразованиям.
ЛИТЕРАТУРА
1. Waters R.C. The programmer's apprentice: knowledge based program editing - IEEE Trans. Softwere Eng. 1982. # 1. p. 1-12.
2. Артамонов Е.И., Хачумов В.М. Синтез структур специализированных средств машинной графики. - М.: Институт проблем управления, 1991.
3. Artamonov E.I. Automation of digital device structure design. ACTA IMEKO. Vol. 1. Publishing house of the Hungarian academy of sciences. 1973.
4. Романов В.Ю. Популярные форматы файлов для хранения графических изображений. - М.: Унитекс, 1992. 156 с.
5. Artamonov E.,Shurupov A. Grafika-81-3D Program Package of 3D-Modelling. International Conference Information Technology in design EWITD'96. Moscow, Russia, 1996.