ВВЕДЕНИЕ
ПОСЛЕДОВАТЕЛЬНОСТЬ СИНТЕЗА СТРУКТУР ПРОГРАММНЫХ СРЕДСТВ CAD/CAM-СИСТЕМ
ПРИМЕР ПРОВЕДЕНИЯ ОПЕРАЦИЙ С АЛГОРИТМАМИ НА ПЕРВОЙ СТАДИИ СИНТЕЗА СТРУКТУР
ВТОРАЯ СТАДИЯ СИНТЕЗА СТРУКТУР
ТРЕТЬЯ СТАДИЯ СИНТЕЗА СТРУКТУР
АНАЛИЗ ОСОБЕННОСТЕЙ ПОСТРОЕНИЯ НЕКОТОРЫХ CAD/CAM-СИСТЕМ
ЛИТЕРАТУРА

В статье рассмотрены вопросы проектирования структур CAD/CAM-систем. Для обоснованного выбора структур систем и структур данных предложен метод проектирования, основанный на создании обобщенной модели CAD/CAM-систем по выбранному алгоритму их функционирования. Приведены примеры построения отдельных частей модели и сравнительные характеристики структур данных, используемых в некоторых системах.


ВВЕДЕНИЕ

Проектирование программного обеспечения CAD/CAM-систем носит специфический характер, поскольку способы представления входной и выходной информации сильно зависят от используемых внешних устройств и от стандартов по взаимодействию этих систем с внешними. От CAD/CAM-систем также требуется малое время реакции на действия пользователя. Разработка и создание CAD/CAM-систем является достаточно сложным и длительным процессом, требует значительных затрат материальных и людских ресурсов. При проектировании CAD/CAM-систем разработчики стараются получить лучшие эксплуатационные характеристики за счет рационального выбора структур программных средств и структур данных . К сожалению публикации на тему выбора структур программного обеспечения CAD/CAM-систем в отечественных журналах практически отсутствуют. Из зарубежных публикаций , на наш взгляд, интерес представляет работа [1].

ПОСЛЕДОВАТЕЛЬНОСТЬ СИНТЕЗА СТРУКТУР ПРОГРАММНЫХ СРЕДСТВ CAD/CAM-СИСТЕМ

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

На первой стадии синтеза структуры системы проводится предварительное разделение общего алгоритма функционирования на локальные алгоритмы (ЛА), т.е. алгоритмы с сильно связными операциями и использующими один способ кодирования и точность представления данных [3]. При разделении на локальные алгоритмы образуется первая группа вариантов структуры системы. Последующие варианты получаются за счет последовательного объединения ЛА в смысле их реализации в одном блоке структуры системы.

На второй стадии для каждого сформированного ЛА строится структурный граф, в котором дугам ставятся в соответствие значения качественного показателя различных способов реализации ЛА , а вершинам - различные способы представления информации на входе и выходе. Реализации ЛА далее будем называть локальными структурами (ЛС).

На третьей стадии выбирается структура всей системы, поэтому для каждого варианта структуры ЛА, полученного на первой стадии, строится обобщенная модель структуры системы. Обобщенная модель включает совокупность структурных графов, упорядоченную структурой общего алгоритма функционирования и охватывающую возможные способы кодирования, а также форматы и типы файлов. Лучший вариант построения системы выбирается путем подсчета суммарного показателя качества системы по алгоритму определения кратчайшего пути от входа к выходу на обобщенной модели.

ПРИМЕР ПРОВЕДЕНИЯ ОПЕРАЦИЙ С АЛГОРИТМАМИ НА ПЕРВОЙ СТАДИИ СИНТЕЗА СТРУКТУР

На рис. 1 показано предварительное разделение на локальные алгоритмы для 2D-системы проектирования конструкторско-технологической документации. Разделение на локальные алгоритмы проводится по определенным правилам [2, 3], которые для простоты изложения в настоящей публикации опустим. Входная информация в систему может поступать в интерактивном режиме через специальные средства взаимодействия пользователя с системой (ВХ1) или в командном режиме через интерпретатор входного графического языка (ВХ2). Выходная информация поступает на графический дисплей (ГД), графопостроитель (Г), печатающее устройство (ПУ), станки с ЧПУ и т. п.

Picture_1

Рисунок 1.

При первоначальном разделении на локальные алгоритмы выбраны следующие уровни представления информации в системе:

1. Параметрическая таблица описаний входной информации (ТО). Информация поступает и хранится в символьном виде. В общем случае в ТО может быть представлена геометрическая модель и действия по ее преобразованию. В частном случае в ТО хранится протокол действий пользователя при работе с системой.

2. Таблица входных описаний (ТВО), которая служит для внутрисистемного представления информации, в котором параметры являются фиксированными значениями, в остальном функции ТВО аналогичны функциям ТО.

3. Предтерминальный файл (ПТФ). В нем представлены результаты работы системы в аппаратно-независимом виде. В ПТФ используются фиксированные значения параметров, подготовленные для вывода на внешние устройства.

4. Терминальные файлы (Тфi). В них представлены результаты в кодах i-го устройства, на которое производится вывод информации.

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

В системе выделены следующие локальные алгоритмы:

ИВС - алгоритмы интерпретации входных сообщений, включающие интерпретацию входного графического языка (ИВЯ) и интерпретацию интерактивных действий пользователя (ИИД);

ПР - алгоритм преобразования ТО в ТВО;

ГП - алгоритмы геометрических построений, осуществляющие вычисления координат характерных точек простых геометрических фигур, текста, алгоритмы штриховок, преобразования координат и т. п.;

ППi - алгоритмы преобразований информации для вывода на i-ое внешнее устройство.

Кроме того по j-ым уровням представления информации распределены алгоритмы виртуальной записи и чтения из оперативной памяти (ОПj), управления базами данных (БДj), редактирования (Рj) и преобразования (Пj) для вывода отредактированной информации на внешние устройства, в частности, на дисплей. Для 4-го уровня эти алгоритмы на рис.1 не показаны, как и не показаны алгоритмические средства управления последовательностью вычислений.

Каждый ЛА в системе в последующем будет реализован соответствующим программным блоком и на последних стадиях проектирования будут получены точные оценки этих блоков по выбранным критериям. Качественные сравнительные характеристики предполагаемой реализации можно получить при первоначальном разделении общего алгоритма функционирования на локальные алгоритмы. Для этого допустим, что на рис.1 вместо ЛА подставлены соответствующие блоки, реализующие эти ЛА. Перечислим основные выводы по анализу первого варианта структуры системы.

  • Система имеет существенную избыточность, поскольку повторяются блоки редактирования, записи и чтения из оперативной памяти и базы данных. В системе может быть получено высокое быстродействие на отдельных операциях при работе с базами данных. Последнее оказывается возможным из-за наличия четырех уровней представления информации. В зависимости от требуемой операции всегда можно подобрать способ представления данных, при котором не потребуются дополнительные преобразования.
  • Информация в ОП1 и БД1 хранится в символьном виде и поэтому представлена менее компактно, чем в ОП2 и БД2. Блоки Р2 и П2 сложнее и оперции в них выполняются медленнее, чем в Р1 и П1 соответственно, поскольку требуются дополнительные преобразования числовой информации в символьную и наоборот.
  • Блоки ОП3 и БД3 занимают больше памяти, чем ОП2 и БД2, потому что в ПТФ геометрические объекты развернуты до координат характерных точек. Вывод информации на внешние устройства из ОП3 и БД3 производится быстрее, чем из ОП2 и БД2, так как не расходуется время на работу геометрического процессора ГП.
  • Хранить информацию в одном ПТФ выгоднее , чем в нескольких ТФi, с точки зрения минимизации занимаемой памяти. При этом существенно сокращается количество блоков Р4i, П4i, ОП4i и БД4i. Однако время, расходуемое на работу преобразователей ППi, увеличивается. В ряде случаев этим временем можно пренебречь, учитывая, что внешние устройства работают медленнее, чем процессор. В то же время, например, при создании компьютерных фильмов кадры фильма приходится хранить в виде последовательности дисплейных файлов ТФ1.
  • Последующие варианты построения системы образуются за счет проведения операций объединения ЛА в смысле их реализации в виде одного программного блока. Разработаны специальные правила объединения ЛА [2,3]: при объединении двух ЛА с различными способами кодирования информации выбирается способ кодирования, зафиксированный в технических требованиях на разработку системы. Кроме того из двух различных точностей представления информации выбирается наибольшая.

    На рис. 2 показан один из следующих характерных вариантов построения системы. В этом варианте отсутствует промежуточное представление информации в виде ТВО и, соответственно, блоки Р2,П2,ОП2,БД2. Появляется новый преобразователь ПР1. Кодирование информации на выходе этого преобразователя отличается от кодирования в ТВО. Оно может быть более простым, поскольку каждая команда должна сразу исполняться геометрическим процессором ГП.

    Picture_2

    Рисунок 2.

    Второй вариант построения системы занимает меньше памяти, чем первый, однако имеет меньшее быстродействие на операциях с объектами, хранящимися в базе данных на входе геометрического процессора.

    Третий вариант построения структуры системы показан на рис. 3. В нем на входе системы имеется только интерпретатор интерактивных действий пользователя ИД, от которого информация по каждой команде непосредственно передается на геометрический процессор ГП. На входе ГП отсутствуют встроенные в систему средства редактирования и работы с базами данных, а также средства языкового взаимодействия пользователя с системой. Их функции могут выполнять средства операционной системы или другие известные системы. Для этого, например , может быть использован текстовый редактор типа ЛЕКСИКОН , компилятор с языка СИ, одна из известных систем управления базами данных и т.п. При этом снижаются расходы на разработку системы, сокращается время разработки. Однако, естественно, требуется больше памяти, теряется время на вызов другой системы, требуются специальные средства для вызова этих систем из основной.

    Picture_3

    Рисунок 3.

    Рассмотрены только три наиболее характерные варианты построения системы, при синтезе структуры системы образуется существенно большее количество вариантов, то есть все возможные сочетания локальных алгоритмов. При этом возникает необходимость автоматизации процесса образования вариантов построения системы.

    ВТОРАЯ СТАДИЯ СИНТЕЗА СТРУКТУР

    Для формализации процесса выбора структуры системы производится упорядочение по формам представления входной и выходной информации различных вариантов реализации ЛА. Учитывая многообразие форм представления информации, каждый ЛА можно реализовать множеством ЛС . Представим множество ЛС пространственными графами, в которых вершинами являются способы представления информации, а дугами - реализация конкретных операций. Каждой дуге ставится в соответствие качественный показатель (например, время выполнения операции или объем требуемой памяти).

    На рис. 4 схематично показана структура пространственного графа. Группы вершин, принадлежащие входу и выходу (плоскости А и В), располагаются на пересечении строк и столбцов матриц, по одной стороне которых отложены форматы файлов данных, по другой - типы данных. В качестве примера можно привести следующие форматы данных: одноразрядные (ОД), последовательные (ПС) в виде списков , параллельные (П) в виде таблиц. Могут быть использованы следующие типы данных: логические (Л), символьные (СВ), целые (Ц), действительные (Д) и т.п. Дуги графа соединяют как входные и выходные вершины, так и вершины, расположенные в плоскостях форматов и типов данных. В последнем случае они соответствуют реализациям преобразований данных на входе и выходе ЛС.

    Picture_4

    Рисунок 4.

    Для каждой проблемной ориентации структуры графов могут быть уточнены, причем определение качественных показателей реализаций может производиться как теоретически, так и практически, путем замеров объемов памяти, быстродействия и других характеристик, представляющих интерес.

    В табл. 1 приведен пример временных затрат при преобразованиях форматов и типов данных в плоскостях А и В (рис. 4) пространственного графа множества ЛС. Информация получена экспериментальным путем для одного типа компьютера. Время указано в условных единицах. В качестве форматов данных рассматривались одноразрядная переменная (О), список (С), таблица (Т). Типы данных представлены в виде символов (СВ), целых (Ц) и действительных (Д) чисел. Параметры I и J указывают длину строки и количество строк соответственно. По вертикали расположены форматы и типы данных на входе, по горизонтали - на выходе блока преобразования. Время преобразования убывает при переходе к более простым форматам данных от таблиц к спискам и одноразрядным переменным, а также при переходе от символьного к действительному и целочисленному типу данных.

    Таблица 1.


    T ц
    T д
    T св
    Cсв
    Oсв
    18IJ
    40IJ
    400IJ
    14IJ
    36IJ
    380IJ
    13IJ
    34IJ
    380IJ
    32IJ
    20IJ
    1050IJ
    29IJ
    16IJ
    1020IJ
    29IJ
    16IJ
    1020IJ
    T св
    500IJ
    530IJ
    500IJ
    480IJ
    500IJ
    480IJ
    480IJ
    500IJ
    530IJ
    13IJ
    37IJ
    27IJ
    10I
    32I
    260I
    8I
    29I
    260I
    30IJ
    15IJ
    900IJ
    26I
    11I
    890I
    24I
    8I
    890I
    Cсв
    360IJ
    380IJ
    360IJ
    350I
    380I
    360I
    310I
    310I
    350I
    13IJ
    36IJ
    250IJ
    9I
    31I
    250I
    6
    32
    25
    29IJ
    16IJ
    880IJ
    25I
    10I
    880I
    27
    7
    880
    Oсв
    340IJ
    370IJ
    350IJ
    340I
    370I
    350I
    34
    36
    36

    ТРЕТЬЯ СТАДИЯ СИНТЕЗА СТРУКТУР

    На третьей стадии синтеза создается обобщенная модель структуры системы. Обобщенной моделью будем называть определенную комбинацию ЛС, связанную последовательностью выполнения операций общего алгоритма функционирования и охватывающую возможные способы кодирования данных.

    Обобщенная модель включает ЛС, осуществляющие непосредственное выполнение операций ЛА и преобразование данных. Обобщенная модель структуры, например, для двух способов кодирования а1 и а2, может быть представлена в виде пространственного графа так, показанного на рис. 5.

    Picture_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.


    PCX
    GIF
    PIC
    TIF
    PCX
    -
    22828 5.40
    41305 4.84
    33304 6.28
    GIF
    37315 6.03
    -
    41305 6.71
    33304 8.15
    PIC
    37315 4.75
    22828 5.99
    -
    33304 6.87
    TIF
    37315 4.34
    22828 5.58
    41305 5.02
    -

    АНАЛИЗ ОСОБЕННОСТЕЙ ПОСТРОЕНИЯ НЕКОТОРЫХ 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.

    3D-модели модулей станции МИР
    ГРАФИКА-81
    AUTOCAD
    3DS
    CIMATRON
    DXF
    DWG
    Базовый блок со стыковочным отсеком
    397 804; 4,6
    7 550000; 8,5
    3 153 700
    788 300
    -
    КВАНТ
    140 700
    1 533 800
    535 600
    165 700
    -
    Кристал
    355 110; 2,7
    4 433 581; 4,1
    -
    -
    -
    Квант-2
    394 266; 3,2
    5 123 088; 6,8
    -
    -
    -
    Спектр
    359 460; 3,1
    4 028 173; 6,3
    2 244 500
    595 200
    -
    Союз
    103 622; 1,2
    1 540 760; 2,0
    -
    -
    -
    Орбитальный корабль типа ШАТЛ
    91 130
    1 266 450
    -
    -
    1 455 650

    Увеличенный объем памяти на графической станции объясняется, видимо, большими функциональными возможностями по визуализации моделей и их преобразованиям.


    ЛИТЕРАТУРА

    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.