Система автоматизированного проектирования (САПР) определена в ГОСТ 23501.0— 79 как организационно-техническая система, состоящая из комплекса средств автоматизации проектирования, взаимодействующего с подразделениями проектной организации, и выполняющая автоматизированное проектирование.
Комплекс средств автоматизации проектирования. Средства автоматизации проектирования можно сгруппировать по видам обеспечения автоматизированного проектирования.
Техническое обеспечение САПР представляет собой совокупность взаимосвязанных и взаимодействующих технических средств, предназначенных для выполнения автоматизированного проектирования. Техническое обеспечение делится на группы средств программной обработки данных, подготовки и ввода данных, отображения и документирования, архива проектных решений, передачи данных.
Средства программной обработки данных представлены процессорами и запоминающими устройствами, т. е. устройствами ЭВМ, в которых реализуются преобразования данных и программное управление вычислениями. Средства подготовки, ввода, отображения и документирования данных служат для общения человека с ЭВМ. Средства архива проектных решений представлены внешними запоминающими устройствами; средства передачи данных используются для организации связей между территориально разнесенными ЭВМ и терминалами (оконечными пунктами).
Математическое обеспечение САПР объединяет в себе математические модели проектируемых
объектов, методы и алгоритмы выполнения проектных процедур, используемые при автоматизированном проектировании. Элементы математического обеспечения в САПР чрезвычайно разнообразны. Среди них имеются инвариантные элементы, широко применяемые в различных САПР. К ним откосятся принципы построения функциональных моделей, методы численного решения алгебраических и дифференциальных уравнений, постановки экстремальных задач, поиска экстремума. Специфика предметных областей проявляется прежде всего в ММ проектируемых объектов, она заметна также в способах решения задач структурного синтеза. Формы представления математического обеспечения также довольно разнообразны, но его практическое использование происходит после реализации в программном обеспечении.
Программное обеспечение САПР объединяет собственно программы для систем обработки данных на машинных но ителях и программную документацию, необходимую для эксплуатации программы. Программное обеспечение (ПО) делится на общесистемное, базовое и прикладное (специальное). Общесистемное ПО предназначено для организации функционирования технических средств, т. е. для планирования и управления вычислительным процессом, распределения имеющихся ресурсов, и представлено операционными системами ЭВМ и ВС. Общесистемное ПО обычно создается для многих приложений и специфику САПР не отражает. Базовое и прикладное ПО создаются для нужд САПР. В базовое ПО входят программы, обеспечивающие правильное функционирование прикладных программ. В прикладном ПО реализуется математическое обеспечение для непосредственного выполнения проектных процедур. Прикладное ПО обычно имеет форму пакетов прикладных программ (ППП), каждый из которых обслуживает определенный этап процесса проектирования или группу однотипных задач внутри различных этапов.
Информационное обеспечение САПР объединяет всевозможные данные, необходимые для выполнения автоматизированного проектирования. Эти данные могут быть представлены в виде тех или иных документов на различных носителях, содержащих сведения справочного характера о материалах, комплектующих изделиях, типовых проектных решениях, параметрах элементов, сведения о состоянии текущих разработок в виде
промежуточных и окончательных проектных решений, структур и параметров проектируемых объектов и т. п. Основная составная часть информационного обеспечения САПР — банк данных, представляющий собой совокупность средств для централизованного накопления и коллективного использования данных в САПР. Банк данных (БНД) состоит из базы данных и системы управления базой данных.
База данных (БД) — сами данные, находящиеся в запоминающих устройствах ЭВМ и структурированные в соответствии с принятыми в данном БНД правилами. Система управления базой данных (СУБД) — совокупность программных средств, обеспечивающих функционирование БНД. С помощью СУБД производятся запись данных в БНД, их выборка по запросам пользователей и прикладных программ, обеспечивается защита данных от искажений и от несанкционированного доступа и т. п.
Лингвистическое обеспечение САПР представлено совокупностью языков, применяемых для описания процедур автоматизированного проектирования и проектных решений. Основная часть лингвистического обеспечения — языки общения человека с ЭВМ.
Методическое обеспечение САПР составляют документы, характеризующие состав, правила отбора и эксплуатации средств автоматизированного проектирования. Допускается более широкое толкование понятия методического обеспечения, при котором под методическим обеспечением подразумевают совокупность .математического, лингвистического обеспечения и названных документов, реализующих правила использования средств проектирования.
Организационное обеспечение САПР включает положения, инструкции, приказы, штатные расписания, квалификационные требования и другие документы, регламентирующие организационную структуру подразделений проектной организации и взаимодействие подразделений с комплексом средств автоматизированного проектирования.
Подсистемы САПР. Функционирование САПР возможно только при наличии и взаимодействии всех перечисленных средств автоматизированного проектировавший. Средства автоматизированного проектирования объединяются в подсистемы САПР, ориентированные на выполнение определенных совокупностей проектных процедур — проектирующие подсистемы.
Проектирующие подсистемы могут быть проектно-зависимыми (объектными) и проектно-независимыми (инвариантными). Проектно-зависимые подсистемы предназначены для выполнения проектных процедур, специфических для некоторого класса объектов. Примерами проектно-зависимых подсистем могут служить подсистемы синтеза логических схем цифровых автоматов или подсистемы моделирования оптического канала оптико-электронных приборов. Проектно-независимые подсистемы рассчитаны на выполнение типовых проектных процедур и, следовательно, могут использоваться для более широкого класса объектов. Примерами проектно-независимых подсистем могут служить подсистема моделирования систем массового обслуживания, подсистема анализа непрерывных динамических систем на макроуровне.
В состав САПР кроме проектирующих входят также обслуживающие под системы, предназначенные для обеспечения нормального функционирования проектирующих подсистем. Типичными подсистемами САПР являются СУБД, информационно-измерительные системы, служащие для получения экспериментальных данных об исследуемых объектах. Особое место среди обслуживающих подсистем в составе САПР занимает мониторная система, предназначенная для организации и оптимизации управления процессом проектирования при выполнении проектных процедур и взаимодействии подсистем САПР. По сути дела, мониторная система является специализированной операционной системой САПР. Ее основные функции — распределение ресурсов (времени ЭВМ и внешних устройств, оперативной и внешней памяти) между одновременно работающими в системе пользователями; вызов необходимых программ для реализации заданных маршрутов проектирования; организация взаимодействия пользователей с системой в диалоговых режимах; управление вычислительным процессом при реализации заданных маршрутов проектирования.
Для выполнения тех или иных из перечисленных функций удобно использование возможностей операционных систем ЭВМ. Поэтому мониторная система не заменяет и не дублирует операционные системы, а выполняет те операции управления, которые отражают специфику работы ЭВМ в составе систем автоматизированного проектирования.
Уровни САПР. Структура САПР в значительной мере зависит от состава используемых технических средств. Рассмотрим варианты структур технического обеспечения, применяемые в САПР.
На рис. 3.1 представлена структура комплекса технических средств (КТС), предназначенного для выполнения автоматизированного проектирования.
Основу комплекса составляет ЭВМ (рис. 3.1, а), в которой выполняется программная обработка данных и осуществляется их хранение. В современных КТС САПР в качестве ЭВМ, как правило, используется мини-ЭВМ, при этом КТС называют автоматизированным рабочим местом (АРМ) проектировщика или инженерной рабочей станцией. В отечественных КТС, таких, как АРМ-М, АРМ-Р, применяются ЭВМ семейства СМ (СМ-4, СМ-1420), а в КТС типа «Кулон» — ЭВМ семейства «Электроника» (ЭВМ «Электроника 100-25», «Электроника-79» и т. п.).
Связь пользователя с ЭВМ в диалоговом режиме осуществляется с использованием алфавитно-цифрового дисплея АЦД, с его помощью можно вводить в ЭВМ текстовую информацию и просматривать получаемые результаты решения. При необходимости ввода больших объемов информации целесообразно использовать устройства подготовки данных УПД для занесения информации
на промежуточные носители — перфокарты или перфоленты с последующим вводом данных через посредство устройств ввода с этих носителей УВВП. Вывод информации возможен не только с помощью АЦД, но и на бумажный рулон в алфавитно-цифровом печатающем устройстве АЦПУ.
Особенностью САПР является большой объем графической информации (в виде чертежей, схем, графиков) в потоке данных, которыми обмениваются пользователь и ЭВМ. Для такого обмена служат устройства графического ввода — вывода: 1) полуавтоматическое устройство ввода — кодировщик графической информации КГИ, называемый также сколкой или цифрователем (с помощью КГИ информация считывается с имеющегося чертежа или эскиза и преобразуется в закодированную цифровую форму); 2) устройство вывода графической информации — графопостроитель ГП, называемый также чертежным автоматом. С его помощью информация, поступающая из ЭВМ в цифровой форме, преобразуется в графическое изображение на листе бумаги или каком-либо другом носителе; 3) графический дисплей ГД, с помощью которого осуществляются оперативный ввод, редактирование и вывод графической информации.
Поскольку производительность и емкость оперативной памяти названных выше типов мини-ЭВМ недостаточны для решения многих проектных задач, для построения КТС по схеме, показанной на рис. 3.1, а, иногда применяют ЭВМ средней и большой производительности, например ЭВМ семейства ЕС (ЕС 1022, ЕС 1033, ЕС 1045 и др.). Связь пользователя с ЭВМ в этом случае обычно осуществляется через посредство дисплейных станций типа ЕС-7920, состоящих из 8—16 алфавитно-цифровых дисплеев с устройством группового управления.
Быстрый рост возможностей мини-ЭВМ и микро-ЭВМ приводит к предпочтительности построения АРМ по схеме, изображенной на рис. 3.1, б. Типичные терминалы, представляющие собой рабочие места (РМ) пользователей, состоят из микро-ЭВМ, АЦД или ГД, оперативной и внешней памяти. Наличие микро-ЭВМ позволяет резко увеличить число терминалов комплекса и, следовательно, число одновременно работающих пользователей. Совмещение в одном дисплее возможностей алфавитно-цифрового и графического дисплеев делает все терминалы станции графическими.
Конечно, увеличение числа пользователей и расширение круга выполняемых проектных процедур требует применения в КТС более совершенных ЭВМ. Такими ЭВМ стали супермини-ЭВМ типа VAX 11/780, по своим основным характеристикам не уступающие большинству моделей ЭВМ семейства ЕС.
Построенные по схемам, показанным на рис. 3.1, а, САПР называют одноуровневыми САПР. Отнесение всех технических средств, входящих в КТС, к одному уровню связано с тем, что в такой САПР используются единая мониторная система, банк данных и пакеты прикладных программ, ориентированные на основные ЭВМ комплекса. Терминальные микро-ЭВМ программно совместимы с основной ЭВМ и служат либо для подготовки задач к решению на основной ЭВМ, либо для решения простых задач с помощью тех же программных и информационных средств.
Возможности одноуровневых САПР ограничены. Поэтому в САПР крупных предприятий стремятся использовать ЭВМ предельной производительности. Одна или несколько таких ЭВМ образуют один из уровней САПР, называемый центральным вычислительным комплексом (ЦБК). В ЦВК современных САПР используются такие высокопроизводительные ЭВМ, как «Эльбрус-2», CRAYX-MP. Они эффективно выполняют функции программной обработки данных при выполнении наиболее сложных проектных процедур, требующих огромных вычислительных ресурсов. Но для эффективной связи пользователя с САПР и решения большого количества менее сложных задач целесообразно иметь в САПР второй уровень, называемый интерактивно-графическим комплексом (ИГК). На каждом из уровней ЦВК и ИГК имеются свои пакеты прикладных программ для выполнения сходных по содержанию проектных процедур, но ориентированных на различные размерности задач.
Структуры двухуровневых САПР соответствуют схемам, изображенным на рис. 3.2. Структура на рис. 3.2, а — радиальная, в составе ИГК имеется несколько АРМ со структурой, соответствующей структуре на рис. 3.1. Радиальная структура обычно имеет место при использовании в АРМ мини-ЭВМ недостаточной производительности, при этом основные части мониторной системы и банка данных находятся в ЦВК. Структура на рис. 3.2, б — кольцевая, она соответствует объединению»
Рис. 3.2.
АРМ в кольцевую вычислительную сеть. В такой САПР функции мониторной системы и СУБД распределены по узлам вычислительной сети. Возможно введение в структуру на рис. 3.2, б дополнительных связей между некоторыми узлами сети. Для целей управления системой и выполнения функций централизованного банка данных возможно выделение отдельного узла, причем таким узлом не обязательно будет ЦВК.
П р и м е ч а н и е. Включение АРМ в кольцевую вычислительную сеть выполняется с помощью специальных связных процессоров.
В общем случае в техническое обеспечение САПР могут входить ЭВМ различных типов, объединяемых в распределенную вычислительную сеть. В такой сетевой САПР выделение уровней выполняется по признаку идентичности используемого программного и лингвистического обеспечения.
Часто в структуре САПР выделяется группа вычислительного и периферийного оборудования, предназначенная для выполнения функций подсистемы технологической подготовки производства. Причиной такого обособления является наличие в этой группе специфических устройств документирования, подготовки носителей с управляющей информацией для станков с числовым программным управлением и соответствующего программного обеспечения. Эта группа программно-аппаратных средств называется технологическим комплексом и рассматривается как отдельный уровень в составе систем автоматизированного проектирования.
Структура программного обеспечения САПР. На рис. 3.3 представлена укрупненная структура ПО одноуровневой САПР.
Общесистемное ПО представлено операционной системой (ОС) используемой ЭВМ.
Базовое и прикладное
Рис. 3.3. Структура программного обеспечения одноуровневой САПР
ПО включают в себя мониторную систему, СУБД и пакеты прикладных программ.
В САПР, как правило, применяется много различных пакетов прикладных программ (ППП), каждый из которых имеет ориентацию на определенную подсистему САПР. Так, известны пакеты программ геометрического моделирования; оформления конструкторской документации, используемые в подсистеме машинной графики; синтеза маршрутной технологии; проектирования штампов; выбора установочных баз в подсистемах технологического проектирования; расчетов на прочность в подсистемах проектирования корпусных деталей летательных аппаратов и т. п.
Пакеты прикладных программ, в свою очередь, могут иметь достаточно сложную структуру с выделением управляющей и обрабатывающей частей.
К управляющей части ППП сложной структуры от носится монитор пакета, функционирующий под управлением мониторной системы САПР. Часто для управления пакетом достаточно возможностей ОС и мониторной системы САПР, тогда в ППП управляющая часть не выделяется и его называют библиотекой программ или пакетом простой (библиотечной) структуры. В пакетах простой структуры в качестве языка используется язык управления заданиями ОС или аналогичный язык описания заданий мониторной системы, общий для различных пакетов. Эти языки не учитывают специфики задач, решаемых с помощью пакета. Возможности организации рабочих программ из различных сочетаний библиотечных программ ограничены. Поэтому в САПР чаще используют пакеты сложной структуры, отличающиеся наличием развитого проблемно-ориентированного входного языка и собственного монитора. 93
Непосредственное выполнение проектных операций и процедур в маршрутах проектирования происходит по рабочим программам. Для каждого нового проектируемого объекта и каждого нового маршрута создается своя оригинальная рабочая программа. Так как сложность рабочих программ, как правило, высока, то их получение должно быть автоматизировано. От пользователя требуется лишь сформулировать задание и исходные данные на проблемно-ориентированном входном языке, а собственно рабочая программа будет получена с помощью средств ППП, заранее разработанных и составляющих обрабатывающую часть ППП. Обрабатывающая часть ППП представлена группой программ, среди которых выделяют функциональные модули и языковые процессоры.
Примечание. Иногда языковые процессоры выделяют в самостоятельную часть ППП, называемую языковой подсистемой.
Функциональные модули реализуют типовые элементы магматического обеспечения, которые предназначены для многократного использования в различных рабочих программах. Такими элементами математического обеспечения, порождающими функциональные модули, являются математические модели элементов проектируемых объектов, описания типовых графических изображений, численные методы и алгоритмы решения систем алгебраических уравнений, алгоритмы выполнения элементарных графических операций, математические модели внешних воздействий, рассматриваемых при моделировании как функции времени и т.п. Эти функциональные модули обычно объединяют в одну или несколько библиотек программ. Так, в ППП моделирования динамических объектов обычно имеются библиотеки моделей элементов, численных методов интегрирования дифференциальных уравнений, модулей внешних воздействий, алгоритмов расчета выходных параметров по результатам интегрирования дифференциальных уравнений. Языковые процессоры служат для организации оригинальных частей рабочих программ. Различают два типа организации рабочих программ: интерпретацию и трансляцию. Соответственно языковой процессор может быть либо интерпретатором, либо транслятором. Интерпретатор при своем исполнении выбирает очередную директиву задания, выражаемую пользователем на входном языке, и организует ее исполнение путем обращения к имеющимся функциональным модулям. 94
Далее выбирается следующая директива и т.д. Транслятор сначала полностью генерирует рабочую программу и только после этого передает ее на исполнение, т.е. транслятор создает оригинальные модули, отражающие специфику конкретного задания и конкретного проектируемого объекта, а объединение оригинальных модулей с библиотечными и последующее исполнение полученной рабочей программы осуществляются с помощью средств операционной системы ЭВМ, мониторной системы САПР или монитора ППП.
Как правило, трансляция приводит к меньшим затратам машинного времени на решение задачи, но большим затратам машинной памяти. Реальные языковые процессоры обычно имеют черты как трансляторов, так и интерпретаторов. Например, часто входное описание вначале транслируется в некоторую промежуточную форму, которая далее интерпретируется. Если промежуточная форма занимает меньший объем памяти, чем полностью оттранслированная программа, и если интерпретация промежуточной формы происходит быстрее, чем интерпретация исходного описания, то языковой процессор, реализующий такое сочетание трансляции и. интерпретации, оказывается весьма эффективным.
Пакеты прикладных программ, предназначенные для образования рабочих программ из библиотечных и оригинальных модулей с генерацией последних с помощью языковых процессоров, часто называют программными системами.
Сложность управляющих программ САПР существенно возрастает в многоуровневых САПР. Здесь мониторная система должна дополнительно распределять задания на обработку в различных узлах вычислительной сети, а также обеспечивать доступ к общей базе данных со стороны одновременно работающих многих терминалов.
Информационное взаимодействие программ и банка данных. Процесс автоматизированного проектирования заключается в выполнении маршрутов проектирования с помощью большого количества взаимодействующих программных модулей. Взаимодействие модулей проявляется в основном в связях по управлению и по информации. Связи по управлению выражаются в упорядоченных переходах от исполнения одного программного модуля к исполнению другого. Связи по информации выражаются в использовании одних
и тех же данных в разных модулях, входящих в маршрут.
Проблемы создания гибкого и универсального программного обеспечения для систем автоматизированного проектирования сложных объектов в значительной мере являются проблемами информационного согласования различных частей программного обеспечения при реализации множества возможных маршрутов проектирования.
Существуют три основных способа реализации связей по информации: 1) через передачу параметров из вызывающей программы в вызываемую подпрограмму; 2) через общие области (обменные зоны) взаимодействующих модулей; 3) через банк данных.
Реализация информационных связей через передачу параметров означает, что передаются либо значения параметров, либо их адреса. Такая передача удобна только при сравнительно небольшом объеме передаваемых данных и их простой структуре.
Рассмотрим пример маршрута, включающего пять модулей. Поставим в соответствие программным модулям вершины графа, а связям по управлению — дуги графа. Пусть граф, отражающий связи по управлению, в нашем примере имеет вид, показанный на рис. 3.4, а. Это означает, что модули исполняются последовательно в порядке 1—4, а из модуля 4 переходы возможны или к модулю 2, или к модулю 5.
Далее предположим, что в любом последующем модуле маршрута используется та или иная часть данных, полученных при исполнении каждого из предыдущих модулей. Тогда можно построить граф, в котором дуги изображают связи по информации. В нашем примере такой граф имеет вид, изображенный на рис. 3.4, б. При реализации информационных связей через обменную зону, выделяемую для модулей 1—5 рассматриваемого маршрута, модуль 1 должен направлять полученные в нем данные в обменную зону, представляя их в форме, допустимой с позиций требований любого из модулей' 2—5; для исполнения модуля 2 в обменной зоне должны быть данные, направляемые в эту зону модулями 1— 4 результаты исполнения модуля 2 засылаются в обменную зону в форме, определяемой особенностями каждого из модулей 3—5, и т.д. Так как требования к структуре данных каждого модуля-потребителя данных могут оказаться различными, то способ связи через обменные зоны сравнительно легко реализуется только при малом и стабильном числе
информационных связей. Если же одни и те же модули могут входить в различные маршруты, взаимодействовать со многими другими модулями, то целесообразно унифицировать средства информационного обмена. Такая унификация осуществляется с помощью концепции банков и баз данных.
Главная, особенность информации, хранимой в БД, заключается в ее структурированности. Сведения о структуре и взаимосвязях данных в БД выражаются не только упорядоченным расположением данных, но и с помощью дополнительных массивов указателей, индексов, имен (ключей), введения специальных правил агрегирования данных и т.п. Структурированность данных позволяет разработать унифицированные алгоритмы, в соответствии с которыми происходят информационные обмены между БД и любым из модулей программной системы. Эти унифицированные алгоритмы являются основой системы управления базой данных (СУБД). Теперь информационные связи замыкаются через СУБД. Для рассматриваемого примера граф связей по информации показан на рис. 3.4,в, где СУБД отображена в виде одной из вершин.
Основные преимущества информационного взаимодействия через банк данных заключаются в следующем:
1. Снимаются ограничения на число обслуживаемых маршрутов проектирования и на число вхождений модулей в различные маршруты.
2. Возможно развитие и модификации программной системы путем добавления новых модулей и маршрутов без изменений ранее созданных модулей.
3. Возможна модернизация технических средств для хранения БД без изменений в ППП.
4. Обеспечивается целостность данных.
Как видно из рис. 3.4, в, связи по информации, реализуемые с помощью СУБД, существенно упростились. Ни пользователю САПР при формировании маршрутов проектирования, ни разработчику прикладных программ не нужно заботиться о программной реализации многочисленных информационных связей на основе оперирования адресами данных в запоминающих устройствах, о разработке алгоритмов перекомпоновки массивов и т. п. Все основные операции такого рода реализованы в СУБД. Поэтому пользователь должен лишь описать задание на преобразование данных с помощью указания в прикладной программе команд обращения к БНД на
специальном ориентированном на пользователя языке манипулирования данными.
Целостность данных подразумевает их непротиворечивость и достоверность. С помощью СУБД можно устранить те причины возможного искажения результатов выполнения проектных процедур, которые обусловлены дублированием данных в памяти ЭВМ и их неправильным обновлением (неодновременным или несогласованным) при обращениях к данным различных пользователей или некорректным обращением для записи новых данных со стороны некомпетентных лиц. Для этого в СУБД имеются специальные средства защиты данных от несанкционированного доступа, средства минимизации избыточности данных, контроля согласованности внесения изменений и т. п.
Однако реализация информационных связей через банк данных имеет и свои недостатки, связанные главным образом с значительными затратами времени на поиск необходимых данных в БД.
Анализ преимуществ и недостатков рассмотренных способов информационного взаимодействия модулей показывает, что связи через обменные зоны целесообразно реализовывать для модулей внутри определенного ППП при условии, что информационные обмены происходят с высокой частотой и, следовательно, существенно влияют на общие затраты времени исполнения маршрута проектирования. Очевидно, что для таких модулей приходится вводить ограничения на число возможных вхождений в различные маршруты. В остальных случаях целесообразно осуществлять информационные связи через банк данных. В первую очередь это касается информационных потоков между различными ППП и подсистемами САПР — активизация этих потоков происходит сравнительно редко, в то же время их автоматизация и упорядочение — необходимое условие построения комплексных САПР, обеспечивающих сквозное проектирование сложных объектов.