Текст
                    ВСЕРОССИЙСКИЙ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ
МЕЖОТРАСЛЕВОЙ ИНФОРМАЦИИ
ИНФОРМАТИКА
НАУЧНО -ТЕХНИЧЕСКИЙ СБОРНИК
АВТОМАТИЗАЦИЯ
ПРОЕКТИРОВАНИЯ
UNIGRAPHICS


pi 1Z"'I 1ГЧ |ЯГ| - это новое поколение интегрированной jiil САПР/АСТПП фирмы MATRA DATAVISION. EUCLID3 предоставляет широкую свободу трёхмерного проектирования с такими возможностями, как адаптивное моделирование, скетчер, фотореалистичное представление. Интегрированные средства расчётов и управления информацией о продукте предоставляют настоящую среду параллельного инжениринга. Для механообработки и контроля продукции EUCLID3 предлагает полные, проверенные в производственных условиях, решения. Благодаря мощному языку программирования EUCLID в систему интегрировано ноу-хау пользователей в виде таких приложений, как Конструирование из Листовых Металлов, Технология Проектирования Пресс-форм, Механизмы, Трёхмерная прокладка кабельных Сетей, Промышленное Строительство. Среди пользователей системы - всемирно известные промышленные гиганты, как RENAULT, BOSCH, DAIMLER BENZ, FIAT, VOLKSWAGEN, GENERAL DYNAMICS, ALCATEL, НПО "ЭНЕРГИЯ"и многие другие. EUCLIDS придёт к Вам от фирмы, ставшей родоначальником твердотельного моделирования. С добавлением возможностей Динамического Анализа Сборок и непревзойдённого Адаптивного Моделировщика MATRA DATAVISION по-прежнему показывает путь в будущее. EUCLID3 работает на рабочих станциях фирм DEC, SUN, Silicon Graphics, Hewlett Packard. Филиал фирмы MATRA DATAVISION в России : 109028, МОСКВА, Хохловский переулок, д. 15, кв. 4 Телефон/Факс (095) 297 43 55 MATRAO | DATAVISION
ВСЕРОССИЙСКИЙ НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ МЕЖОТРАСЛЕВОЙ ИНФОРМАЦИИ ИНФОРМАТИКА НАУЧНО-ТЕХНИЧЕСКИЙ СБОРНИК АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ СОДЕРЖАНИЕ ОБЩИЕ ВОПРОСЫ Широков Ф. В. САПР и виртуальная реальность 3 Великанов В. Б. Автоматизация проектирования в технологической подготовке произ¬ водства (обзор) 24 Давыдов IO. В. Интеграция конструирования изделия и средства ее реализации 37 БАЗОВОЕ И ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ САПР Львов В. П.Злыгарев В. А., Левин А. Э., Сермягин П. А. Система геометрического моде¬ лирования КРЕДО/Win 45 Львов В. П., Зайцев В. Е., Крылов С. С. Интегрированная среда интерактивного графи¬ ческого языка для разработки прикладного программного обеспечения САПР 52 Никандров Е. Л., Ржаное Н. В. Особенности программной реализации для повышения мобильности систем управления 58 Ржаное Н. В., Никандров Е. Л. Система автоматизированного управления производством FMOS 60 Самотохин А. С. К вопросу о представлении графической информации в интерактивных системах 71 Михайлов В. Б., Мещанинов Е. Л. Применение метода резольвент в частотном и шумовом анализе и оценке запаса устойчивости 76 Квашнин А. Г., Тучин А. Г. Построение вычислительной схемы алгоритма оценивания параметров динамической системы 88 АПр-4 -1 -
Редакционная коллегия: В. В. Алесенко, д-р техн, наук (зам. главного редактора) ; Е. И. Бронин, канд. техн, наук; В. П. Болды¬ рев; Ю. X. Вермишев, д-р техн, наук; В. Н. Гридин, д-р техн, наук; Ю. В. Давыдов,канд. техн, наук; И. А. Доморацкий, канд. техн, наук; В. И. Круглов, канд. техн, наук; В. С. Кузнецов, канд. техн, наук; Ю. И. Караванов, канд. техн, наук; В. П. Львов, д-р техн, наук; Е. Л. Маслов; Л. В. Семенов, канд. техн, наук; А. П. Тишин, д-р техн, наук; В. Н. Хазанович, канд. техн, наук Ответственный секретарь редколлегии Кириллова И. С. Тел. 491-64-52. © ВИМИ, 1993 АПр-4 -2-
ОБЩИЕ ВОПРОСЫ САПР И ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ Ф. В. Широков, вице-президент Союза “Электроника России”, Quo Vadis, Computo? Сейчас уже ясно, что основой пост-индустриального, информационного обще¬ ства станет синтетическая реальность в промышленности. Обрисовалась и социаль¬ ная картина перехода к пост-индустриальному обществу. Во-первых, он будет происходить не всюду, а лишь в тех странах, которые располагают собственной ин¬ формационной промышленностью, а во-вторых, он будет сопровождаться новыми социальными явлениями, такими как “экспорт безработицы”. Экспорт безработи¬ цы это не экспорт безработных, а экспорт самого явления. “Золотые воротнички” составляют и будут составлять лишь небольшой процент от самодеятельного насе¬ ления, занятость остальной его части будет обеспечиваться путем безработицы в “развивающихся” странах. Президент США Б. Клинтон в недавнем обращении к Конгрессу предложил разрешить беспошлинный ввоз российских товаров, посколь¬ ку Россия проявляет все признаки “развивающейся страны”... “Развивающиеся страны” — это уклончивое название стран третьего мира, ос¬ новное отличие которых от “развитых стран” состоит в отсутствии интеллектуаль¬ ной элиты. Не только в отсутствии, но и в невозможности ее создания. Сейчас Россия быстро движется по пути ликвидации своей интеллектуальной элиты. Изде¬ лия, которые мы демонстрируем на авиационных выставках в Фарнборо, были соз¬ даны ранее. Задел был положен 15—20 лет назад теми техническими школами, которые известны под названием “конструкторских бюро”. Пройдет несколько лет и нам будет нечего демонстрировать в Фарнборо. И не только в Фарнборо. Разуме¬ ется, никакие работы по “прикладной футурологии” не могут остановить стремления людей, как леммингов, к самоуничтожению. И все же мы не могли не откликнуться на просьбу Ю. В. Давыдова, одного из пионеров САПР в КБ им. Су¬ хого, написать эту работу. Существенную помощь оказал нам Ганс Фишер фон Рюкк — баварец, археолог и поэт, многие мысли которого нашли в ней свое отражение. ЗАДАЧА Основной задачей, над которой трудится Конструкторское Бюро, является “об¬ ратная задача” определения структуры системы по заданному ее поведению: поведение -» структура. АПр-4 -3-
Заказчик ставит задачу, указывая функциональное назначение системы, кото¬ рую предстоит создать, и перечисляя особенности ее поведения: Система должна... обеспечивать скорость... выдерживать нагрузку... сохранять точность ... и т. д. Эту задачу решают путем предложения структур, про которые утверждается, что они будут обладать требуемым поведением: структура -» поведение = требуемому. Последнее подлежит доказательству^ чем и состоит защита проекта. Путь этот длинный, а в случае сложных систем,таких, как летательные аппара¬ ты, — очень длинный. Многовариантность (синоним “научная обоснованность”) решений остается в области желаний; на самом деле предлагается одно решение и ни о каком “оптимальном выборе” реально речь не идет. Впрочем, если говорить об экстремальной системе, например о космическом челноке, вряд ли можно вообще требовать многовариантности. Сложная система — это мозаика из компонент, каждая из которых имеет свою структуру и обладает собственным поведением. Иногда компоненты уже готовы (прошлый опыт, накопление технических архивов) или их можно быстро “довести” (параметрическое конструирование и пр.). Иногда же их надо разрабатывать “от нуля”. Когда все компоненты готовы, из них собирается целое. Даже если структура и функции каждой из компонент хорошо известны, их взаимодейст¬ вие в системе может оказаться неожиданным. Требуется серьезная корректировка, включающая иногда и замену компонент. Но во всех случаях в ход запускается сложный и трудно управляемый механизм, именуемый Проектом. В работе Конст¬ рукторского Бюро над Проектом возникают многочисленные препятствия. Одно из серьезных — несовместимость данных (non-consistency). Изменения, внесенные в одном месте, влекут за собой изменения во многих других местах (не всегда легко и правильно отслеживаемых). Изделия, изготовленные по таким данным, не подхо¬ дят друг к другу. Другое — сложность геометрических форм. Еще со времен Второй мировой войны для построения “скульптурных” поверхностей (поверхности двой¬ ной кривизны), без которых невозможно авиа- и автомобилестроение, у нас ис¬ пользуется методология плазов. Плазы, подготовленные вручную, поддаются корректировке тоже только вручную. В процессе эксплуатации изделие будет подвергаться нагрузкам, нагреву и виб¬ рациям; поэтому на стадии проектирования нужно дать ответы на связанные с этим вопросы. Далее в “чистое” конструирование вторгается процесс изготовления и стендовых испытаний сборочных узлов. Утверждение, что предлагаемая структура будет иметь нужное поведение подлежит “реальной” проверке ... Желание увидеть модель в натуре удовлетворяется с помощью пластилина, на¬ носимого на деревянный каркас. На это уходит до нескольких тонн этого вещества, способного доставить столько удовольствия детям... Лишь недавно на Нижегород¬ ском автомобильном заводе впервые, на станках с ЧПУ, была изготовлена модель из дерева. Как раз в то время, когда в лабораториях Форда появились голографиче¬ ские модели “из света”. Предлагаемые решения должны быть технологичны, т. е. поддаваться изготов¬ лению в пределах разумных затрат. Конструкторское Бюро обязано обеспечить технологичность, если не саму технологию. АПр-4 -4-
Коща опытный образец системы изготовлен, начинаются ее натурные испыта¬ ния. Автомобиль с разгона разбивают о препятствие, чтобы проверить его расчет на прочность, а точнее — его поведение в “экстремальных условиях”. Это в свою оче¬ редь удлиняет срок проектирования и удорожает весь процесс в целом. Техническое задание на систему формулируется на уровне макротребований. Сами же требования носят непроцедурный характер. Инженер-конструктор — “ис¬ полнитель”; даже если он работает на “хорошей” сегодняшней системе CAD/CAM, он выполняет свою работу на микроуровне, проектирует или доводит детали до последних мелочей. Кроме того, его работа носит процедурный характер. Определение формы детали представляет собой процедуру, для записи таких про¬ цедур (для их сохранения) системы САПР ведут журнальные файлы (keystroke file — файл ударов по клавишам). Если же требуется подготовить и обработку на стан¬ ках с ЧПУ, то строится еще процедура для ЧПУ (например, программа на языке APT). В системах САПР для машиностроения пока не используются непроцедур¬ ные языки программирования в отличие от СУБД, системы САПР занимаются тем, что “передвигают солдату ноги”. Проектирование необходимо перевести на макроуровень и сделать непроцедурным! Процесс проектирования надо сократить по времени, стоимости, трудоемкости и числу занятых в нем людей. Нужно повысить обоснованность принимаемых реше¬ ний и всесторонне проверить предлагаемое решение. Где же выход? Ответ на все вопросы — один и уже давно очевидный: надо использовать средст¬ ва современной информационной технологии; средства, от которых в свою очередь требуется определенное “поведение”, определенная функциональность. Компью¬ терная система — это не аппаратные средства и не программное обеспечение. Ком¬ пьютер это функция, которая нужна пользователю. И, разумеется, от “чистой” аппаратуры и даже от пары аппаратура + программное обеспечение до функции — огромный путь. Вопрос в том, какой функциональности надо требовать от компью¬ терной системы для решения задач САПР? Чего следует ожидать в ближайшем будущем? Целенаправленная работа, которая началась в NASA более тридцати лет назад, привела наконец к результату. Средства информационной технологии и, в частно¬ сти, человеко-машинного интерфейса позволяют создать “виртуальный мир”. Предметы в искусственном трехмерном пространстве видны с такой же четкостью, как и в обычном мире; их можно брать в руки и изучать, перемещать и создавать новые. Пионер в развитии систем виртуальной реальности — Национальное Агент¬ ство по Аэронавтике и Космическому пространству — стремилось создать совер¬ шенные аэрокосмические тренажеры. Этот ограниченный подход был преодолен и в Эймсовском исследовательском центре в Калифорнии исследователи и разработ¬ чики NASA стали создавать “мультисенсорную, 3-мерную, интерактивную систе¬ му”, одинаково пригодную для тренировки космонавтов и хирургов. Результатом явилась система глаз — рука, состоящая из видеошлема и сенсорной перчатки. Человек общается с компьютером через экран с помощью клавиатуры и мыши. Интерактивность здесь условная. Оператор видит на экране комнату, но не может, повернув голову, осмотреть участок стены или?подняв глаза, осмотреть потолок. Он полностью “парализован” и лишь его пальцы управляют машиной, которая пе¬ ремещает его по комнате. Это — ситуация инвалидной коляски. В виртуальной реальности все по-другому. Образ меняется, когда наблюдатель поворачивает голову. Этот эффект дает видеошлем со встроенной в него стереопа¬ рой экранов. Компьютер уже не служит двумерным окном в двумерный мир. Здесь он — трехмерное окно в трехмерный мир, т. е. гораздо более мощный канал переда¬ чи информации. Мир на экранах видеошлема почти неотличим от нашего умствен¬ ного образа реального физического мира. АПр-4 -5 -
Видеошлем VIEW ( Virtual Interface Environment Workstation — Рабочая Стан¬ ция Виртуального Интерфейса со Средой) выглядит как шлем мотоциклиста. На нем смонтирована широкоугольная, стереоскопическая дисплейная система, кото¬ рая управляется голосом оператора, его жестами и положением. Перед каждым глазом — жидкокристаллическая панель с разрешением 640x220 пикселей и 16- уровневой серой шкалой. Широкоугольный дисплей обеспечивает поле зрения, та¬ кое же, как при нормальном бинокулярном зрении. Изображение на дисплее полностью заполняет поле зрения, создавая у оператора иллюзию окружающей среды. Такие шлемы сейчас выпускают несколько фирм. Шлем VIM Personal Viewer фирмы “Кайзер Электрооптике”, представленный на выставке, сопровож¬ давшей конференцию SIGGraph’93, весит всего 320 г. Это контрастирует с обыч¬ ным видеотерминалом и его “амбразурой”, через которую пользователь смотрит в “виртуальный мир”. Следящая система определяет положение головы оператора (положение систе¬ мы координат, связанной со шлемом, по отношению к неподвижной системе коор¬ динат). А компьютерная система пересчитывает изображения на экранах так быстро, что пользователь не испытывает никакого дискомфорта. Следящая система оцифровывает также положения руки. Для этой цели служит перчатка DataGlove, которая была разработана для программы NASA фирмой VPL Research. Корпорация “Макдоннел Дуглас” — еще одна аэрокосмическая фирма — разработала систему Polyhemus, которая встраивается в перчатку и служит для оп¬ ределения положения руки. И видеошлем VIEW, и перчатка DataGlove используют сенсорную систему на основе электромагнитного поля. Точность определения положения порядка 2 мм. Перчатка может находиться в любой точке шара с диаметром в 1 м. Сгибание паль¬ цев обнаруживается с помощью набора из десяти оптоволоконных сенсоров, кото¬ рые вшиты в перчатку над каждым суставом пальцев. Сенсор основан на том, что если оптоволокно сгибается, то переданный по нему свет ослабевает пропорцио¬ нально изгибу. Каждый сенсор состоит из источника света на одном конце оптово¬ локна и детектора на другом. Микропроцессор последовательно сканирует все сенсоры и вычисляет угол сгиба каждого сустава пальцев, используя определенную модель строения человеческой кисти. Перчатка подключается к компьютеру с по¬ мощью стандартного последовательного интерфейса RS-232. Более поздние версии перчатки DataGlove включали также пьезоэлектрические датчики на кончиках пальцев, чтобы обеспечить некоторый уровень тактильной обратной связи. Когда пользователь берет в руку виртуальный объект, то при соприкосновении его паль¬ цев с поверхностью объекта он ощущает давление. Еще позднее перчатка была снабжена робототехническим экзоскелетом, позволяющим создать ощущения веса и силы. Микрофон и наушники видеошлема подключены к звукогенератору и к системе опознавания и синтеза речи. Блок речевого синтезатора и распознавателя основан на коммерческих изделиях, в частности на плате для ИБМ ПК, выпущенной фир¬ мой Дрэгон Системз (Dragon Systems). В среде синтетической реальности можно, разумеется, использовать виртуальную клавиатуру и управлять всем процессом ра¬ боты через нее, используя перчатку DataGlove, однако легче и проще использовать речевой канал. Сегодняшние системы речевого ввода можно уже обучить распозна¬ ванию десятков тысяч слов с достаточно высокой надежностью. Такова реальность, хотя бы и синтетическая. Если вдуматься в процесс конструирования с позиций современной информаци¬ онной технологии, то станет очевидным, что все его отдельные стадии и этапы ук¬ ладываются в концепцию синтетической реальности. АПр-4 -6-
Основная функция, которой должна обладать компьютерная система для САПР, это ее способность создать среду синтетической реальности для процес¬ са конструирования. Среда синтетической реальности должна допускать работу на макроуровне и непроцедурное построение объектов. Конструирование в среде синтетической реальности несет огромные преимуще¬ ства. Технология систем управления базами данных отрабатывалась во всем мире на экономических задачах. Ее использование в проектировании технических изделий встречает трудности и требует отдельных разработок, часто упирающихся в труд¬ ности понятийные. Компьютерная система, оснащенная реляционной СУБД, еще не дает нам функции ведения технического архива. Сама СУБД — очень сложное изделие, и в мире существуют лишь несколько фирм, поставляющих “серьезные” СУБД: Оракл, Ингрес, Информикс... Наши технические архивы продолжают оставаться бумажными. Но чертежи для Боинга занимают объем, больший чем сам Боинг. В таких случаях применяют мик¬ рофильмирование, т. е. простой перенос чертежа на микроноситель. Мы подменяем накопление технического опыта простым складированием чертежей. Системы САПР начинались с кодировочного черчения. Но уже на самой ранней стадии они стали системами моделирования, сначала каркасного, а затем объемно¬ го и поверхностного. Система машинной графики позволяет строить пространст¬ венные модели. Определять точки в трехмерном пространстве, соединять их линиями, натягивать поверхности на контуры, заполнять трехмерные объемы “те¬ лами”. Чертеж — двумерен; человек способен по набору чертежей восстановить трехмерную модель. Но если нужно (без компьютера, вручную) внести изменения в саму модель, располагая только чертежами, а затем построить чертежи новой версии модели, то эта задача лишь немногим уступает по трудоемкости новому проектированию от нуля. Наши архивы хранят не компьютерные модели, а комплекты чертежей, не под¬ нимаясь даже на уровень кодировочного черчения. Нам никогда не доводилось видеть в технических архивах покрытия объектов сетками для метода конечных элементов. Если такая работа и проводится, то она бесследно исчезает. Построение сеток вручную — задача неподъемной трудности. Но даже если микрофильм и сохранит саму сетку и связанные с ней цифры (коор¬ динаты, нагрузки и пр.), новый ввод всех этих данных в компьютер для повторения расчетов в новых условиях составит огромную трудность. Фактически это не проде¬ лывается даже в таких критических областях, как проектирование летательных ап¬ паратов. Технические архивы накапливают лишь часть прошлого опыта и притом в такой форме, в какой его трудно использовать. Повторная используемость ограничена. Мы должны, поэтому, расширить наш тезис: Основная функция, которой должна обладать компьютерная система для САПР, это ее способность создать среду синтетической реальности для процес¬ са конструирования. Среда синтетической реальности должна допускать работу на макроуровне и непроцедурное построение объектов. Синтетическая реаль¬ ность должна охватывать весь прошлый конструкторский опыт данной техни¬ ческой школы. Это означает, что среда синтетической реальности должна с легкостью и ком¬ фортом предоставлять конструктору прошлые технические решения. Среда должна охватывать историю той технической школы, которой является всякое крупное Конструкторское Бюро. Немыслимо ужать процесс конструирования по числу людей до одного человека. Среда синтетической реальности должна быть многопользовательской. АПр-4 -7-
При производстве сложных изделий по необходимости кооперируются многие заводы, каждый из которых производит свой узел, агрегат или комплекс оборудова¬ ния. Все эти “физические” компоненты увязаны в одном изделии. База данных ра¬ ботает здесь как распределенная, в режиме запросов и справок. Но при каком-либо изменении конструкции эта база подвергается обновлению. Поэтому среда синте¬ тической реальности должна допускать работу с распределенными базами данных во всех режимах и мы должны еще более расширить наш основной тезис: Основная функция, которой должна обладать компьютерная система для САПР, это ее способность создать среду синтетической реальности для процес¬ са конструирования. Среда синтетической реальности должна допускать работу на макроуровне и непроцедурное построение объектов. Синтетическая реаль¬ ность должна охватывать весь прошлый конструкторский опыт данной техни¬ ческой школы; эта среда должна быть многопользовательской и допускать работу с распределенными базами данных. СЦЕНАРИЙ Ближайшим русским эквивалентом термина Design является “Конструирова¬ ние”. В частности сокращение CAD — Computer Aided Design — следовало бы пе¬ реводить как “Конструирование с компьютерной поддержкой”. Термин Design применяется в равной мере к проектированию интегральных схем, к конструирова¬ нию машиностроительных изделий и к проектированию зданий и сооружений. В русском языке единого термина нет. Мы будет употреблять сокращение АСК — Автоматизированная Система Конструирования. Иногда мы будем использовать и привычное сокращение САПР, тогда как сокращение CAD является в английском языке универсальным. Конструирование, как вид человеческой деятельности, само по себе представля¬ ет интерес для изучения, независимо от того, в какой специальной инженерной дисциплине оно используется. Этим занимается Теория Конструирования (Design Theory), которая преследует две основные цели: • построить модели процесса конструирования с логической, методологической и когнитивной точек зрения. Модели, которые углубили бы наше теоретическое по¬ нимание конструирования и помогли бы выделить те его элементы, которые явля¬ ются общими для различных инженерных дисциплин; • создать более рациональные методы, орудия и системы для поддержки практи¬ ческого конструирования. Интерес к теории сильно возрос за последние годы в связи с тем, что к АСК были применены методы систем, базирующихся на знании (СБЗ — KBS — Knowledge Based Systems), называемых также системами баз знания, или экспертными систе¬ мами (ЭС). Системы АСК (CAD) традиционно использовали алгоритмические подходы; системы СБЗ (KBS) — эвристические и основаны на правилах. Конвер¬ генция этих двух направлений привела к созданию систем АСК, базирующихся на знаниях. К числу ранних работ по конвергенции относятся сборники под редакцией Ж. Латомба (J. С. Latombe ed., Artificial Intelligence and Pattern Recognition in Computer Aided Design, North-Holland, Amsterdam, 1978), Дж. Саты и Э. А. Барт¬ мана (J. Sata and Е. A. Wartman eds., Man-Machine Communication in CAD/CAM, North-Holland, Amsterdam, 1981) и Дж. Геро (J. S. Gero ed., Knowledge Engineering in Computer Aided Design, North-Holland, Amsterdam, 1985), а также — специали¬ зированные выпуски журналов: Artificial Intelligence in Design and Test, IEEE Design and Test,v. 2, № 4, 1985 под редакцией Д. Э. Томаса (D. Е. Thomas) и Expert Systems in Engineering, Computer, v. 19, № 7, 1986, под редакцией С. Хонга (S. J. Hong). -8- АПр-4
Журнал Computer — “задающий” журнал Компьютерного Общества Института Инженеров Электротехников и Радиотехников (IEEE Computer Society). Практичен ски все его номера — тематические. Незначимых тем здесь не бывает. Еще в начале 80-х годов стало ясно, что традиционная парадигма ASE (Analysis, Synthesis, Evaluation — Анализ, Синтез, Оценка) Теории Конструирования должна быть если не заменена, то дополнена новыми парадигмами Искусственного Интел¬ лекта и Формального Конструирования (Formal Design Paradigm), а также более новой Теорией Правдоподобных Конструкций (Theory of Plausible Designs), предложенной У. Агеро и С. Дасгуптой. Парадигма Формального Конструирования нашла широкое применение при проектировании интегральных схем. Однако данная работа посвящена в основном САПР в области машиностроения. Парадигма ASE, и только она, отражена в структуре наших КБ и в организации их работы. Переход к Синтетической Реальности требует больших и разнообраз¬ ных работ по Теории Конструирования, в частности по ее когнитивным моделям, по человеко-машинному интерфейсу, по Изобразительным базам данных (Pictorial Data Bases), по самой аппаратно-программной реализации парадигмы Синтетиче¬ ской Реальности и ее практическим приложениям к конструированию. Эти работы с большой интенсивностью ведутся в США, Западной Европе и Японии. Подготов¬ кой к ним служат работы по компьютерной анимации и по мультимедиа (русского эквивалента термина multimedia пока нет). Чтобы создать Среду Синтетической Реальности, практически применимую для конструирования, необходимо накопить определенную “критическую массу” информации и оборудования. Для этого нужны достаточные средства и вопрос о раннем финансировании разработок стоит здесь остро. Ожидается, что первую фи¬ нансовую отдачу системы синтетической реальности дадут в индустрии развлече¬ ний. Там нет критических требований к прецизионности аппаратуры. Известная игровая фирма Nintendo выпустила свою игровую перчатку PowerGlove. На втором месте по ожидаемой скорости отдачи стоят системы САПР. Однако внутри САПР требования, предъявляемые к виртуальной реальности различными инженерными дисциплинами, различны. Возможно, что использование таких сред в САПР начнется с более простых дисциплин, таких как строительное проектиро¬ вание, а не с проектирования летательных аппаратов, где оно нужнее всего. За ними последуют системы виртуальной реальности для обучения и трениров¬ ки и для использования в технических, научных и деловых приложениях, которые в противном случае были бы невозможны. Уже сегодня все компоненты для простых реализаций уже имеются. Вопрос только в том рыночном механизме — триггере,— который запустит этот переход. Одним из таких триггеров может послужить быстрое прототипирование. Строительная индустрия в США вертикально интегрирована. Заказчик прихо¬ дит в бюро, где с ним проводят беседу о его заказе. Последовательно на протяжении двух часов заполняется опросная форма. Например, Вам нужна больница на 150 коек. Сколько операционных? Одна? Мы рекомендуем две. Одна может находиться на профилактике или ремонте и т. д. Через полгода после подписания контракта за¬ казчик получает свое здание под ключ. Однако всякий заказчик желает как можно быстрее увидеть, как будет выгля¬ деть его будущий дом, магазин или школа. В среде синтетической реальности мож¬ но построить быстрый прототип и пригласить заказчика не только осмотреть свой будущий дом, но и “побывать” в нем. Экономика США — это экономика быстрого реагирования; рынок, как таковой, есть и в Непале. В США в ответ на спрос появляются десятки специализированных фирм, занятых его удовлетворением. Рыночные механизмы финансирования в сфе¬ ре разработок сред синтетической реальности на самом деле уже запущены. АПр-4 -9-
Как же будет выглядеть работа конструкторов над проектом сложной системы в среде синтетической реальности? Почти так, как выглядит сегодня работа артели сельских строителей! Конструктор приходит в зал, где будет происходить работа. Он надевает видеошлем, позволяющий видеть синтетическую среду, и кинэстети- чески очувствленные перчатки (DataGlove), позволяющие брать в руку готовые “предметы” в этой среде или формовать новые. В среде находятся также роботы и наборы виртуального инструмента, которого в реальной жизни может не существо¬ вать. Например, станки с резцом, изменяющим свою форму. При работе с таким инструментом активно действуют два-три пальца. Он позво¬ ляет резать, формовать, сглаживать, полировать и т. п. объекты в виртуальном мире. Инструмент требует высокой точности позиционирования, поскольку с его помощью создаются “скульптурные поверхности”. Виртуальные инструменты по¬ зволяют окрашивать предметы и размножать их, а также придавать им специфиче¬ скую плотность, прочность, текстуру, отражательную способность поверхности — свойства, производные от тех материалов, из которых эти объекты сделаны. Мате¬ риалы, используемые в виртуальном мире, не обязательно существуют в реальном мире или могут быть изготовлены в нем. Виртуальные объекты можно изготавли¬ вать из теоретических материалов, производство которых пока еще нереализовано. Инструменту можно отдавать приказы голосом. Например, приказать ему при¬ крепить участок обшивки заклепками. В среде синтетической реальности работа с таким инструментом выглядит в своей основе так же, как работа с системой Патран на обычном экране. (Система Патран обладает мощными языковыми средствами, напоминающими знаменитый язык APL.) Набор точек для крепления можно задать списком их координат или же некоторыми формальными требованиями, или, и этого уже нет в Патране, потребовать, чтобы инструмент руководствовался просто соображениями целесообразности. Как хороший мастер. Крепление можно приказать проверить на прочность. Подготовка программ для станков с ЧПУ может выполняться двумя противопо¬ ложными способами. Прямым способом, когда по шагам задается режим обработки. На языке “среднего” уровня, например на APT, записывается последовательность операций резания. Эту прямую задачу можно решать в среде синтетической реаль¬ ности методом показа. Показ будет запомнен, преобразован в код APT и затем — в программу управления станком или обрабатывающим центром. Вместо лобового можно использовать и обратный путь, когда по конечной форме изделия требуется подобрать последовательность операций, приводящую к этой форме. Эта задача соприкасается с методами искусственного интеллекта и может решаться умным инструментом. Здесь мы сталкиваемся с непроцедурностью. Про¬ ектировщик формулирует, чего он хочет, а система САПР определяет как этого до¬ стичь. Это сходно с тем, как в реляционных СУБД на непроцедурном языке SQL формулируется, какую информацию должна выдать база данных, а сама СУБД определяет путь навигации по базе данных. Разумеется, требуемая непроцедурность не сводится только к этому. Когнитив¬ ные модели конструирования, изучаемые Теорией Конструирования, должны дать ответ на вопрос о том, как непроцедурно описать форму объекта, сопряжение двух объектов и т. п. Возможно, что решение лежит на пути объектно-ориентированной машинной графики и объектно-ориентированных баз данных. Из “заготовленных” деталей собираются узлы. Можно подвергнуть собранный узел нагреву и/или вибрациям и посмотреть, как распределяются в нем темпера¬ турные поля, вибрационные волны или деформации. Это — возврат к “примитив¬ ному” ручному труду, к прямому осмотру сделанного. И никаких чертежей! Никаких протоколов испытаний! АПр-4 -10-
Система синтетической реальности сама отслеживает действия конструктора (строителя-проектировщика и т. п.) и создает свои внутренние представления ("чертежи”); сама выполняет технологическую подготовку производства. Это — конструирование методом показа и непроцедурных требований. Метод показа был предложен для программирования роботов. Первоначально — неочувствленных. Робот запоминал показанную ему последовательность движений и затем в точности их повторял. Показ — это “Ассемблер". Но метод показа приме¬ няется и к очувствленным роботам: руку робота учат находить нужные точки по показаниям ее сенсоров. Робот класса “глаз — рука" может обучаться опознава¬ нию образов. Глаз видит деталь, лежащую в бункере, а рука берет ее и придает ей нужную ориентацию. Это уже “Фортран”, макровызов “опознай и поверни”. Сис¬ тема синтетической реальности имеет степень “очувствленности” гораздо более высокую, чем сегодняшние промышленные роботы класса “глаз — рука”. Совокуп¬ ность непроцедурных запросов должна быть оформлена в виде языков конструиро¬ вания четвертого поколения. Для возврата к “примитивному” ручному труду, т. е. для систем виртуальной реальности и систем мультимедиа, нужны терафлоповые машины, очень мощные настольные компьютеры с параллельными процессорами, сверхбыстродействую¬ щая память, многогигабайтовые оптические диски, графические процессоры сверх¬ высокого разрешения и телевизионная техника высокой четкости, звуко- синтезаторы, системы распознавания речи и речевого ввода, очувствленные пер¬ чатки, костюмы (DataSuite) и другие кинэстетические датчики, объектно-ориенти¬ рованные системы машинной графики, обработка видеоизображений в реальном масштабе времени, локальные сети со скоростями передачи в сотни мегабит или даже десятки гигабит в секунду и... та особая категория работников, которая полу¬ чила название “золотые воротнички”. Все нужные элементы информационной технологии уже имеются, включая и первые терафлоповые машины. Идет интенсивная разработка многопроцессорных машин. В многочисленных лабораториях США разрабатывается более 150 различ¬ ных суперкомпьютерных архитектур. Если что-либо в информационной техноло¬ гии становится возможным, то оно реализуется. Так показывает опыт прошлого. В нашем описании сценария работы были допущены две ошибки. Конструкто¬ рам вовсе не обязательно собираться в неком зале синтетической реальности. Каж¬ дый из них может работать на своем обычном рабочем месте, видя себя при этом в составе группы, работающей в зале. Надевания кинэстетических перчаток и видео¬ шлема требует сегодняшняя технология синтетической реальности. Мы не знаем, какой она будет завтра. PowerPC — “СИЛАЧ” Компьютерная система начинается с аппаратуры. А аппаратура — с микропро¬ цессора. Архитектура компьютерной системы, как и предсказывал Карвер Мид, сводится к архитектуре ее СБИС. Самым крупным событием в мире микропроцессоров является сегодня выпуск в свет PowerPC, если, разумеется, не упоминать об альф'а-микропроцессоре корпора¬ ции ДЭК. Самому Альфа-процессору надо посвятить отдельную работу и очевидно не одну, как впрочем и PowerPC. Здесь мы будем говорить только об архитектуре POWER (Performance Optimized With Enhanced RISC — Производительность, Оп¬ тимизированная Усиленным РИСКом, где в свою очередь RISC это Reduced Instruction Set Computer — Компьютер с Сокращенным Набором Команд). Архи¬ тектура POWER — так называемая суперскалярная архитектура — используется корпорацией ИБМ в ее рабочих станциях семейства RS/6000. Старшие модели реа¬ лизованы на полном девятичиповом наборе, младшие — на одночиповом RSC. RSC (RISC Single Chip) — первая микропроцессорная реализация этой архитектуры. АПр-4 -11 -
PowerPC — следующая одночиповая микропроцессорная реализация, разработан¬ ная в Соммерсетском конструкторском бюро корпорации Моторола в Остине, штат Техас. PowerPC это РИСКовая архитектура второго поколения. Это также супер¬ скалярный РИСК, сжатый до одного кристалла. Автору довелось держать в руках одно из первых изделий на основе PowerPC — одноплатовый компьютер фирмы CETIA — дочерней компании Tompson CSF — для шины VME. В 1994 г. на рынок будут выброшены уже миллионы машин на базе этого микропроцессора, выполненных разными фирмами и для разных шин, рабо¬ тающих под разными операционными системами. Готовится широкое наступление на мир Интела, т. е. на мир персональных компьютеров, совместимых с IBM PC, в котором безраздельно господствует Интел. Первая модель микросхемы PowerPC — модель 601 — уже выпущена и про¬ дается по цене 450 дол. при частоте 66 МГц. Это не штучная цена. Речь идет о пар¬ тии в 1000 микропроцессоров. Но по цене PowerPC/601 может конкурировать с Интел-486ОХ. “Силач” — бастард, хотя и не совсем безродный, тогда как интелов- ский Пенциум — наследный принц с огромным генеалогическим древом. Древо восходит к первым в истории микропроцессорам 8008, но вместе с родовитостью Пенциум унаследовал и родовые болезни, такие как способы адресации и сегменти- Translation lookaside buffer Floating-point registers F 1 oat i ng — po I nt execution unit Integer ass i s t Translation shadow array Cache re 1 о a d Branch processing unit Off-chip drivers 32Kb instruction and data cache Bus intei -Face Off- chip drivers Memory Management unit Instruction dispatch Test Interface Integer registers I n t e g e r e x e c u t i on unit Off-chip drivers Off- chip drivers Write queue Instruction queue Pipe¬ line control Cache -tag d i rectoryZ с о n t г о 1 Картосхема PowerPC АПр-4 - 12-
рованный код, созданный для его нескладных предков. К тому же Пенциум — дорог, его цена — около тысячи долларов (965 дол. при партии в 1000 шт.). Картосхема PowerPC приведена на рисунке. Поверхность интегральной схемы часто называют “поместьем” (real estate). Поместье “Силача” это — квадратная площадка со стороной 11 мм, а родовое имение Пенциума — прямоугольник 16,6x17,6 мм. По числу транзисторов два соперника почти одинаковы, у Пенциума их 3,1 млн., а у PowerPC — 2,8 млн. Но площадка у Пенциума (292,6 мм2) в два с лишним раза больше, чем у PowerPC (121 мм2), и если “Силач” упаковывает на 1 мм2 23 тыс. транзисторов, то Пенциум — только 10 тыс. Для производства PowerPC используется КМОП-процесс с четырехслойной металлизацией при ха¬ рактерной длине 0,65 мк, а для Пенциума используется БиКМОП-процесс с трех¬ слойной металлизацией и характерной длиной в 0,8 мк. “Упаковка” Пенциума в два раза хуже, чем упаковка его соперника, площадка у Пенциума в два раза боль¬ ше, и поэтому и его цена в два раза выше. Это — долгосрочные факторы и можно думать, что Пенциум всегда будет существенно дороже, чем PowerPC. Оба микропроцессора были спроектированы для использования в симметричных многопроцессорных системах. Но даже скромная система на четырех Пенциумах стоила бы сегодня на две тысячи долларов дороже, чем такая же система на PowerPC. А что будет в случае подлинных массивно параллельных процессоров? Скалярные операции — это узкая горловина любых вычислений. Во многих ал¬ горитмах имеются участки, где вычисления возможны только на одном процессоре. Два корня квадратного уравнения могут вычисляться на двух процессорах, но толь¬ ко после того, как на одном посчитан его дискриминант. Теснина часто возникает там, где надо принимать решения о ходе самого вычислительного процесса. Здесь как раз и нужен суперскаляр. Узкой горловиной векторного Крея так и остался его скалярный процессор; новый массивно-параллельный Крей реализован на супер¬ скалярах Альфа, при одном килопроцессоре его производительность должна соста¬ вить 150 гигафлоп. Сердцевину PowerPC составляют три независимых конвейера Ш, FPU и BPU для целочисленных операций (включая логические, побитовые), для арифметики с плавающей точкой и для обработки команд перехода соответственно. Это горизон¬ тальное распараллеливание. Сами команды разбиваются на стадии и обрабатыва¬ ются на конвейерах. Конвейер Ш имеет три ступени, а конвейер FPU — четыре. Это распараллеливание вертикальное. Одновременно на всех трех конвейерах мо¬ гут находиться в исполнении восемь команд. Произвольной редуцией набора команд нельзя, конечно, повысить произво¬ дительность процессора. Сокращение набора команд подчиняется определенным соображениям. Из числа команд, работающих с памятью, сохраняются только про¬ стейшие, загружающие регистры данными из памяти или же запоминающие их из регистров в память. Арифметические команды, работающие с памятью, исключа¬ ются. Философия РИСКа требует, чтобы все команды выполнялись за одинаковое, небольшое число тактов машины. Арифметические команды, которые берут дан¬ ные из памяти и/или заносят в нее результат, выпадают из этого правила. Поэтому арифметические конвейеры у PowerPC снабжены достаточными реги¬ стровыми файлами: целочисленный Ш — файлом из 32 РОНов (GPR = General Purpose Registers = Регистры Общего Назначения) шириной в 32 бита, конвейер плавающей точки FPU — файлом из 32 регистров плавающей точки (РПТ — FPR — Floating Point Register) шириной в 64 бита. Конвейер FPU поддерживает полную версию стандарта IEEE-754 данных с плавающей точкой как для одинар¬ ной, так и для двойной точности. Операции с данными двойной точности являются для PowerPC родными и выполняются им с аппаратной скоростью. Конвейеры за¬ питываются командами и данными из единой Кэш-памяти емкостью в 32 Кбайт АПр-4 -13 -
(у Пенциума — две раздельных Кэш-памяти для команд и для данных, обе по 8 Кбайт). Отдельная логика следит за подкачкой в Кэш. Для поддержания конвейеров в наполненном состоянии в PowerPC применяется изощренная логика BPU (Branch-Processing Unit); она следит, в частности, за тем, чтобы микропроцессор не выполнил, скажем, команду условного перехода по усло¬ вию, которое еще не сосчитано. Логика диспетчеризации управляет очередью команд и нарушает ее строгий порядок, отправляя на исполнение те, которые уже могут быть исполнены. Транслятор сделал свое дело, выстроив цепочку команд; теперь же работает процессор и его задача выполнить их как можно быстрее. Все это в целом и называется суперскалярностью и возможно только благодаря тому, что PowerPC — полностью ШЗСовая машина, не отягощенная грузом унас¬ ледованных команд. “Бастарду” не надо заботиться о семейных традициях. Микропроцессоры семейства PowerPC будут широко использованы для создания систем multimedia, которые будут характерны для нового поколения персональных компьютеров и послужат переходным звеном к системам виртуальной реальности. Корпорация ИБМ использует PowerPC/601 в своих новых рабочих станциях серии RS/6000, в их старших моделях будет использоваться ее собственный (многокри¬ стальный) микропроцессор POWER2, превосходящий по мощности микропроцес¬ соры ее конкурентов. СРАВНЕНИЕ С ПЕНЦИУМОМ Испытания показали, что PowerPC существенно быстрее Пенциума во всех типах вычислений: от числовой сортировки до операций с битовыми полями. По¬ следние особенно хорошо развиты у PowerPC; это было сделано с прицелом на эму¬ ляцию других машин, т. е. с прицелом на перенос программного обеспечения. В операциях с битовыми полями PowerPC почти в пять раз быстрее, чем Пенциум. Единственное, в чем Бастард отстал от Принца, это вычисления трансцендентных функций, однако объясняется это совсем простой причиной. PowerPC — новый процессор и для него не успели сделать оптимизированную библиотеку трансцен¬ дентных операций. На простых операциях с “плавучкой” PowerPC также обогнал Пенциум почти в два раза. Десять лет назад всего сегодняшнего функционального богатства еще не было, нигде, ни на каких машинах, ни на малых, ни на больших. Только получив в руки IBM PC, “миллионы” приступили к творчеству. И предсказать результаты было нельзя. Через десять лет наше сегодняшнее функциональное богатство будет ка¬ заться ничтожным. Пожалуй, это единственное, что предсказать можно. Програм¬ мистская среда изменит свои привычки, если она почувствует новое, несравнимое со старым, функциональное богатство. Кардинальный вопрос, на каких машинах будет оно реализовано? PowerPC был создан альянсом ИБМ, Эппла и Моторолы. Еще в середине октяб¬ ря 1991 г. Каждая из фирм внесла в него что-то свое. ИБМ — саму архитектуру POWER и искусство своих проектировщиков. Моторола — виртуоз в создании су¬ перскаляров; к архитектуре POWER была добавлена ею микропроцессорная шина от ее RISCa МС88000. Само проектирование заняло десять месяцев и шло в Остине, штат Техас, где Моторола поставила свой новый субмикронный завод, MOS11, в который она вложила полмиллиарда долларов. Микропроцессор PowerPC/601 был объявлен в ноябре 1991 г., а “первый кремний” он увидел в сентябре 1992 г. Эппл — старый партнер Моторолы; в его Макинтошах — ее микропроцессоры. Но старая технология уже выжата до предела. Нужно снова предугадать, на что откликнется рынок. Иначе компанию Эппл постигнет судьба Ванга. Цель альянса — перенести РИСКи с рабочих станций на персональные компью¬ теры. Основать новое поколение персональных компьютеров на этой технологии. АПр-4 - 14-
Цена PowerPC это позволяет. Тем самым на персональные компьютеры будет пере¬ несено все функциональное богатство, которое сейчас имеется только на рабочих станциях. Будущий ПК должен быть мощнее, чем сегодняшняя рабочая станция. А будущие рабочие станции мощнее, чем будущие ПК. Новая функциональность — это в первую очередь обработка видеоиформации. Что такое системы САПР? В пер¬ вую очередь это возможность увидеть создаваемое изделие. ВИДЕОИНФОРМАЦИЯ Человек — это “устройство” ввода и вывода речевой информации. Но зритель¬ ную информацию человек может только вводить. Он работает только как сканер; более того, человек это стереосканер. У него нет способа вывести наружу видеоин¬ формацию. Точнее, имеющиеся у него способы вывода (живопись, графика) слу¬ жат другим целям. Единственный способ устранить эту асимметрию — создание ма¬ шин, пригодных для двустороннего обмена видеоинформацией; создание новой функциональности, которая позволит человеку легко выражать свои мысли с помощью видеоизображений, взаимодействовать с образом. Поэтому надо создать машины, с помощью которых он мог бы взаимодействовать с объемными изображе¬ ниями. Коща-то на нашем “рынке” промелькнуло одно из ранних устройств взаимо¬ действия с рисунком. Это была “сколка”, совмещенная с графопостроителем. Чело¬ век делал несколько легких движений рукой, сколка понимала его и рисовала окружность, или что-то еще, чего хотел человек. Рядом “дедушка Тектроникс” на трубке с запоминающим “фосфором” (люминофором) показывал, что будет через минуту нарисовано на построителе; он быстро реагировал на желания человека. То были старые времена, середина 70-х годов, первое десятилетие развития машинной графики и систем САПР. На фирме “КомпьютерВижн” (ComputerVision) были компьютерные визионеры. Теперь, двадцать лет спустя, виденье будущего и поиск средств взаимодействия с изображением стали иными. Средой взаимодействия должна стать виртуальная или синтетическая реаль¬ ность. Она будет реализована на новых микропроцессорах и станет “достоянием миллионов”, как стал им сегодняшний персональный компьютер. Но на пути к это¬ му стоит одно существенное препятствие. Компьютерные команды — это речь, с ее низкой информативностью. Собственно система Юникс с ее сотнями команд и де¬ сятками ключей к каждой из них и является попыткой охватить выражение любых желаний. Но Юникс создает касту жрецов, интеллектуальных гимнастов — тех, кто запомнил весь ее командно-ключевой мусор. Выход был найден в Массачусетском Институте Технологии; по-просту оказа¬ лось, что нужно заменить речь мышью. Что все бесконечное разнообразие желаний сводится к тому, что нужно “ткнуть пальцем” (или мышью) в то, что тебе нужно. В МИТ родились “Х-окна”, графический интерфейс пользователя (GUI) сделал не¬ нужными бесконечные упражнения в юниксовских ключах. Операционная система может быть полностью скрыта от пользователя. Дорога к виртуальной реальности открыта, но следует думать, что в виртуальных пространствах сам GUI будет иным. ВОПРОС О СОФТВЕРЕ Разумеется, цель альянса ИБМ&Эппл&Моторола — борьба за рынок. Но сам-то рынок определяется желаниями субъекта, а их видела еще КомпьютерВижн. Аль¬ янс организует широкое наступление на мир Интела. Для этой цели на PowerPC переносятся шесть операционных систем: Эппловская Система 7, ИБМовские OS/2 и AIX, система Солярис корпорации “Сан Майкросистемз”, “Среда PowerOpen” и объектно-ориентированная система Pink ("Розовая") фирмы “Талиджент” АПр-4 - 15-
(Taligent) (прицел на объектно-ориентированную графику?). Ожидается, что в бу¬ дущем году на PowerPC будут перенесены Майкрософтовские Окна НТ (Windows NT), Новелловская NetWare, а также — Юникс Система V. PowerPC будет, нако¬ нец, исполнять в режиме эмуляции и программы, написанные под DOS или Windows. Вот для чего Бастарду нужна развитая система работы с битовыми полями. Корпорация “Талиджент” — совместное владение ИБМ и Эппла. Ее объектно- ориентированная система Пинк должна быть платформенно-независимой. Другое совместное владение — фирма Калейда — должно заниматься вопросами мульти¬ медиа. Мультимедиа — необходимый шаг на пути к виртуальной реальности. Корпорация ИБМ намерена использовать PowerPC во всех своих новых ма¬ шинах, от блокнотов (notebooks) до больших машин (mainframes), в рабочих стан¬ циях (POWERStation) и в серверах (POWERServer), а затем — в массивно-парал¬ лельных компьютерах. Последней задачей занято отделение корпорации ИБМ в г. Кингстон, штат Нью-Йорк, — Лаборатория Высокопараллельных Суперкомпью¬ терных Систем (Highly Parallel Supercomputing Systems Laboratory). Параллельные суперкомпьютеры на собственных ИБМовских наборах для архитектуры POWER уже выпущены на рынок. Ожидается выпуск высокопараллельных суперкомпьюте¬ ров именно на PowerPC. Уже в начале следующего года можно будет приобрести компьютеры на базе PowerPC, которые будут со скоростью систем Квадра 700 исполнять программы, написанные для Макинтоша, со скоростью Интел-486 — программы, написанные для Windows, и со скоростью Сановской СпаркСтанции 10 — Юниксовские про¬ граммы. За первой моделью микропроцессора PowerPC (моделью 601) последуют другие; к середине 1994 г. — модели 603 и 604, а к концу 1994 г. — модель 620. Модель 603 будет иметь полностью статическую логику; она будет экономить энергию, ее цель — блокнотные машины. У модели 604 будет расширен конвейер и увеличен параллелизм. Новая техника переходов увеличит производительность микропро¬ цессора. Его цель — новое поколение настольных машин. В модели 620 будет реа¬ лизован многоуровневый параллелизм и использована новая процессорная шина; ее цель — рабочие станции высокого уровня и серверы. К изготовлению этих микропроцессоров готовится завод Моторолы MOS11, а в цену этих микропроцессоров, конкурирующую с ценой прежнего поколения Инте¬ ла, заложено и покрытие затрат на строительство завода. Альянс ИБМ&Эппл&Моторола еще в 1991 г. при самом начале работ над PowerPC объявил о создании среды PowerOpen. Ей занимается независимая корпо¬ рация под названием Ассоциация PowerOpen в г. Биллерика, штат Массачусетс, которая была основана в начале марта 1993 г. В число основателей, помимо членов альянса, входят еще четыре фирмы: Группа Бюлль, Tompson-CSF, Харрис и фирма Тэдпоул Текнолоджи. Ассоциация PowerOpen обещает, что сертифицированные ею прикладные программы, выпущенные каким угодно софтверным издателем (software publisher), будут работать на компьютере с PowerPC, независимо от того, кто изготовил компьютер и кто написал для него операционную систему. PowerOpen — это собирательное название для согласованных операционных систем, которые будут продаваться членами Ассоциации. Все эти “операционки” будут иметь юниксовский фундамент — производную от AIX (Advanced Interactive Executive — ИБМовская модификация Юникс для RS/6000). У всех будет единый Бинарный Интерфейс для Прикладных задач (ABI — Application Binary Interface). Интерфейс ABI подразделяется на API (Application Programming Interface — Ин¬ терфейс Прикладного Программирования) и KPI (Kernel Programming Interface — Интерфейс Программирования Ядра). Последний обеспечивает состыковку с про¬ цессами ядра и с драйверами устройств. АПр-4 - 16-
Недавно ИБМ и Моторола выпустили каталог с перечнем фирм-разработчиков программного обеспечения для PowerPC и их изделий — утилит, компиляторов и даже интегрированных сред. Среди разработчиков — “Тектроникс Инк.”, “Ментор Графике”, “Хьюлетт-Паккард” и др. В целом на рабочих станциях серии RS/6000 используются 6500 пакетов нескольких сот производителей. Операционные системы PowerOpen построены так, чтобы изолировать программ¬ ное обеспечение от сложностей ввода/вывода, так как предполагается использо¬ вать самые различные аппаратные платформы с различными шинами: NuBus, ISA, с ИБМовской архитектурой микроканала MCA (Micro Channel Architecture), новой Эппловской шиной “Межсоединение Периферийных Компонент” PCI (Peripheral Component Interconnect), поддерживаемой более чем полуторастами компаниями, S-Bus и VME. Следует ожидать, что PowerPC войдет не только в рабочие станции серии RS/6000 и не только в аппаратные изделия членов альянса. Речь идет о какой-то новой, всеохватывающей интеграции самых разнообразных платформ. Шина VME — лидер среди магистральных шин — основана на более ранней спе¬ цификации “гибкой шины” VersaBus (Versatile Backplane Bus) для задней панели и на механическом стандарте для Еврокарт (Eurocard Mechanical Packeting Standard). Само название VME расшифровывается как VersaBus Module Euro¬ card — Версабусовый Модуль для Еврокарт. Стандарт VME был разработан корпорациями Моторола, Филлипс/Сигнетикс и Мостек и объявлен на выставке “Systems show-198 Г' в Мюнхене, как шина с тремя разрядностями 8/16/32 устанавливаемых на нее устройств; с мощной системой ар¬ битража и прерываний; пригодная для наращивания и для сборки на ней многопро¬ цессорных систем. Позднее число разрядностей было увеличено до четырех 8/16/32/64 (VME64). Шина VME используется для сопряжения различных уст¬ ройств (процессоры, ЦА- и АЦ-преобразователи, контроллеры периферийных уст¬ ройств, сетевые контроллеры и пр.). Четырехуровневая система арбитража позволяет легко объединить на шине несколько процессоров, образовав многопро¬ цессорную систему для получения необходимой вычислительной мощности. Саму шину и модули для нее производят и поддерживают около пятисот фирм во всем мире. Система прерываний шины VME — семиуровневая, с подключением к каждому уровню произвольного числа источников прерывания; цикл обработки — быстрый, что особенно важно при построении систем реального времени; поэтому VME ши¬ роко применяется в промышленных системах реального времени и вообще в систе¬ мах автоматизации производства (около 50 % рынка шины VME). Кроме того, она применяется в военной и гражданской бортовых системах (25 % рынка), а также в автоматизации научных исследований; в измерительных приборах и диагностиче¬ ском оборудовании; в медицинской технике; в телекоммуникационных системах; в графических рабочих станциях и во многих других приложениях систем автомати¬ зации, включая системы для тяжелых климатических условий и агрессивных сред. Шина VME с ее пропускной способностью в 40 Мбайт в секунду недостаточна для реализации на ней систем виртуальной реальности, но на смену VME идут ши¬ ны следующего поколения, типа FUTUREbus+ с большей производительностью. Через несколько лет новые области системных приложений и рынка будут охваче¬ ны стандартом FUTUREbus+, который обеспечит работу 32/64/128/256 разрядных модулей со скоростями до 3 и более Гбайт/с. Можно ожидать, что на ближайшие 15—20 лет развития автоматизации на основе магистрально-модульных систем будет обеспечено архитектурой VFEA (VMEbus, FUTUREbus+ Extension Arhitecture), о поддержке которой заявили практически все ведущие мировые фир¬ мы-производители. АПр-4 - 17-
Для поддержки этой архитектуры в 1984 г. была создана VITA (VFEA International Trade Association) — международная торговая ассоциация в области VME-, FUTUREbus+ и их расширений. Основными спонсорами VITA являются знаменитые американские фирмы “Моторола” и “Сан Майкросистемз”. Членами VITA являются около 100 европейских, американских, азиатских фирм-произво¬ дителей совместимой продукции VMEbus. Среди них такие всемирно известные фирмы, как FORCE Computer, Microware, PEP Modular, National Instruments и другие. В России для координации работ ведущими разработчиками, производителями и пользователями открытых магистрально-модульных систем создана VERA+ — про¬ фессиональная Ассоциация делового сотрудничества в области VMEbus, VXIbus, FUTUREbus+ (VMEbus and Extensions Russian Association). Участниками VERA+ являются более 25 различных организаций СНГ. Работа Ассоциации строится на основе тесного сотрудничества с международной Ассоциацией VITA, ассоцииро¬ ванным членом которой она является. Среди участников VERA+ крупнейшие инс¬ титуты ядерной физики, отраслевые НИИ, КБ и предприятия различного профиля, МП, занимающиеся системной интеграцией в конкретных областях применения. Все эти процессы создания платформенно-независимых операционных систем, эмуляторов, переноса программного обеспечения остаются пока черной магией. Исследования Энтони Хора по программной логике не находят в них своего отра¬ жения. Превращение искусства программирования в инженерную дисциплину настанет, по-видимому, еще не скоро. Но уже сейчас можно сделать многое, что улучшит работу автоматизированных конструкторских бюро. Одна из простейших задач — введение института супервизоров, старших, для наблюдения за ходом работ. Это принято всюду на Западе. Программистская среда и у нас, и на Западе сильно подвержена влияниям моды. Не всегда самой лучшей. И у нас, и на Западе она прошла мимо знаменитого языка APL. Этот язык широко используется сегодня на фирме “Дорнье”. Он был создан ранее Фортрана, и с самого начала был языком многомерным; его основной объ¬ ект — матрица, размерность и число компонент которого ограничиваются, по-су- ществу, только емкостью машинной памяти и/или объемом дисковых накопителей. Достаточно сложный алгоритм симлекс-метода занимает на APL полстраницы тек¬ ста. Но работа с APL требует подлинно математических привычек. Традиционной математике не мешает то, что ее идентификаторы — это отдель¬ ные буквы, не “нагруженные” именами идентифицируемых объектов. Такая на¬ грузка и вместе с тем логическая путаница в типах, на которую указывал Энтони Хор, является чуть ли не основным достоинством языка Паскаль. Красивый геомет¬ рический язык, по своей силе и краткости сходный с APL, используется в пакете машинной графики Патран. И можно думать, что в Средах Синтетической Реально¬ сти будет реализовано нечто подобное. В основе пакета лежат аналитические (сплайновые) методы представления объектов. Патран является, по-видимому, единственной системой машинной графики, построенной на базе аналитических представлений. Они особенно удобны для платформенно-независимой реализации. Можно не сомневаться, что все основные пакеты машинной графики будут пере¬ несены на платформы на базе PowerPC. А поскольку PowerPC ляжет в основу и персональных компьютеров нового поколения, вскоре все основные пакеты машин¬ ной графики будут доступны на них. КОМПЬЮТЕРНЫЕ СИСТЕМЫ Компьютерная система — это, конечно, нечто большее, чем микропроцессор- хамелеон с перенесенным на него программным обеспечением (системным и при¬ АПр-4 -18-
кладным) различных производителей. Тем более система виртуальной реальности. На каких общих принципах будет основано построение систем виртуальной реаль¬ ности для САПРа? Какие ближайшие шаги следует предпринять, чтобы наша стра¬ на не подверглась экспорту в нее безработицы? Как нам следует “маневрировать” в условиях резкой нехватки финансовых ресурсов? За последние годы установились три основных платформы для построения слож¬ ных информационных систем. Системы виртуальной реальности и предшествую¬ щие им системы мультимедиа не являются исключением. Это: • концепция открытых систем; • интеграция изделий многих поставщиков; • использование технологии обработки изображений. Конкурентная борьба на рынке информационной технологии привела к огром¬ ному разнообразию производимого в мире оборудования и программного обеспече¬ ния. Изначально все эти аппаратно-программные “модули” были несовместимы друг с другом. Тогда и была выдвинута концепция “единого информационного рын¬ ка”, то бишь открытых систем, где все должно быть совместимо со всем. Концепция открытых систем требует единых информационных интерфейсов между изделиями различного происхождения. В рамках этой концепции ведется огромная работа по созданию всеохватывающей системы информационных стандартов и методов аппа¬ ратно-программного сопряжения изделий. В сфере САПР это привело к широкоиз¬ вестным стандартам GKS, PHIGS, IGES и, позднее, STEP. Все основные типы рабочих станций, применяемых в сфере САПР, следуют принципам открытых систем. Концепция открытых систем позволяет даже неиску¬ шенному пользователю решать стоящие перед ним проблемы путем выбора нуж¬ ных ему средств, которые: ф удовлетворяют всем требованиям по функциональности и нагрузкам; • обеспечивают будущее развитие системы с включением в нее все новых аппа¬ ратных и программных средств, гарантируя их совместимость с аппаратурой и про¬ граммами других производителей; • являются простыми в освоении и эксплуатации; • снижают общие затраты на обучение, персонала. Принципы открытых систем должны охватить и системы виртуальной реально¬ сти. Такие интерфейсы, как интерфейс для очувствленных перчаток (DataGlove) или для стереоскопических экранных очков будут, безусловно, стандартизованы, а сами перчатки, производимые той или иной фирмой, будут годиться как перифе¬ рийные устройства для систем, производимых другими. Концепция открытых сис¬ тем — это, повторяем, концепция “единого информационного рынка”. Сегодня ни один поставщик не может в одиночку поставить все оборудование и программное обеспечение даже для системы среднего класса. В мире есть несколько крупных производителей дисков,таких, как Коннер или Сигейт, и системы комп¬ лектуются их дисками. Всякая фирма-поставщик систем производит их интегра¬ цию на своих заводах. Эта интеграция как бы подразумевается. И если речь идет об интеграции оборудования многих поставщиков, то здесь это означает интегра¬ цию на площадке заказчика, интеграцию, выполняемую самим заказчиком или третьей фирмой. Изделия, выполненные в соответствии с концепцией открытых систем, легко поддаются такой интеграции. Она не требует фабричных условий. Развитие технологии и экономики приводит к огромному росту объемов доку¬ ментации и к возникновению мифов о будущем “безбумажном обществе”. Факти¬ чески же общество становится все более “бумажным”. Бумажный документ удобен для человека и часто попросту незаменим. Это сильно ощутимо в сфере конструи¬ рования. Хороший графопостроитель — неизменная принадлежность систем АСК. Электронные изображения на графических рабочих станциях выводятся АПр-4 - 19-
на “твердую копию”. Но нужен и процесс ввода изображений с бумаги в компьютер. На эту потребность современная информационная технология отвечает не рассуждениями о “безбумажном обществе”, а созданием машин, способных вос¬ принимать и “понимать” чертежи и вообще бумажные документы. Системы авто¬ матизации проектирования обладают определенной инерцией. Уже установленное оборудование должно выработать свой ресурс, но когда устанавливается новое обо¬ рудование, менеджеры САПРовских систем во всем мире все чаще и чаще обраща¬ ются к системам обработки изображений, и именно такие решения наиболее целесообразны для рекомпьютеризации конструкторских бюро. Помимо технических критериев при построении систем АСК должны учиты¬ ваться и экономические. Можно указать несколько таких критериев: ♦ финансовая и промышленная устойчивость поставщика; •новизна его технологии; гарантированность ее использования в обозримом буду¬ щем; • всемирное признание и поддержка предлагаемой технологии, т. е. широкая база для возможной кооперации и т. п. Резюмируя, можно сказать следующее: Система САПР должна быть распределенной открытой системой, собранной из изделий наиболее приемлемых поставщиков, финансово и промышленно ус¬ тойчивых; ее технология должна быть новейшей, такой, которая будет исполь¬ зоваться в обозримом будущем; она должна пользоваться всемирным признанием и поддержкой; она должна включать средства обработки изображений тексто¬ вых и графических документов. Однако развитие информационной технологии быстро сделает любые сегодняш¬ ние решения устарелыми. Сами компьютерные системы разрабатываются и проектируются так же, как и любые другие. Для этой цели созданы мощные, интегрированные системы САПР. Все начинается с проектирования микросхем, это — высокоавтоматизирован¬ ный процесс. Для него созданы языки описания аппаратных средств (HDL — Hardware Description Language). Здесь реализован непроцедурный подход; такой язык позволяет описать целый микропроцессор всего лишь несколькими сотнями строк кода высокого уровня. Транслятор за один час или менее преобразует этот код в набор масок для изготовления микросхемы, затем — кремнелитейня. Для верификации схем используются даже методы автоматического доказательства теорем, восходящие к работам Ван Хао и далее — к классическому сочинению Principia Mathematica Бертрана Рассела и Уайтхеда. Проектирование механиче¬ ских изделий, в частности проектирование их геометрии, такой автоматизации не поддается. Некоторые успехи достигнуты здесь на основе методов искусственного интеллекта. Итак, сами компьютерные системы разрабатываются и проектируются так же, как и любые другие. Так же, но не совсем. В них присутствует нематериальное на¬ чало — софтвер, который определяет их функциональность. Создание софтвера — это решение все той же обратной задачи определения структуры по поведению. Нам нужно программное обеспечение с такими-то и такими-то функциональными свойствами... Какова должна быть его структура? Что же тут необычного? Необычное — в невизуализируемости! Софтвер и его функции нельзя увидеть так, как видит конструктор дверцу люка космического корабля, как видит дизайнер будущий кузов Феррари... Если механические изделия должны состыковываться между собой путем учета их размеров, коэффициентов теплового расширения и т. п., то состыковка программных изделий должна учитывать форматы параметров, передаваемых между модулями, и процессы передачи управления, охватывающие часто всю систему в целом. АПр-4 -20 -
Аппаратный уровень компьютерной системы характеризуется тремя основными факторами: используемым микропроцессором (или микропроцессорами), внутрен¬ ней шиной и сетевой организацией. Выше мы уже остановились на очень перспективной шине VME и ее произ¬ водных. Что же касается сетевой организации, то, безусловно, во всех серьезных САПР’овских установках в обозримом будущем будет господствовать сеть Этернет. По оценкам, в мире установлено более 20 миллионов узлов сетей Этернет. Ожида¬ ется введение нового стандарта на Этернет со скоростью передачи в 100 Mb в сек. РАЗВИТИЕ СИСТЕМ Первое поколение устройств виртуальной периферии (VIEW и DataGlove), раз¬ работанное под эгидой NASA, было достаточно для доказательства практической реализуемости самой идеи виртуальной реальности, но все же это оборудование ос¬ тавалось в основном лабораторным. Ограничениями были низкая разрешающая способность при обработке изображений, монохромность, недостаточная прецизи¬ онность и надежность. Оборудование было достаточно дорогим. Развитие техноло¬ гии жидкокристаллических дисплеев (в связи с переносными компьютерами и телевизорами) позволяет устранить эти недостатки. Однако полное введение цвета требует гораздо более мощных микропроцессоров для пересчета изображений и обеспечения таких эффектов, как цветовое затенение (color shading). Необходимо, кроме того, повысить частоту смены кадров. Имеются и принципиально трудные проблемы. Сгенерированные компьютером изображения выводятся на плоскую, а не на сферическую поверхность. При этом возникают заметные искажения. Если объект, генерирующий звук, движется по отношению к наблюдателю, то и звук должен двигаться вместе с ним. Кроме того, объекты, генерирующие звук, могут взаимодействовать с другими такими же объ¬ ектами. При этом возникают различные звуковые эффекты, включая эхо. Эхо так¬ же должно рассчитываться. Все это — вычислительные проблемы, которые решаются с помощью объектно-ориентированного программирования. Здесь также необходимо увеличение мощности микропроцессоров. Трехмерный мир — это распределенный аналоговый процессор, который имити¬ руется в среде виртуальной реальности с помощью цифровых процессоров. Распре¬ деленный аналоговый процессор можно представить как совокупность процессоров, находящихся в узлах достаточно частой пространственной решетки. В любой мо¬ мент времени работает только часть этих узлов. Реалистическая оценка числа ра¬ ботающих процессоров и их мощностей дает представление о том, какую цифровую мощность должна иметь компьютерная система для создания высокоразвитой сре¬ ды синтетической реальности. На выставке SIGGraph’93 демонстрировался графи¬ ческий суперкомпьютер Onyx Reality-Engine, разработанный корпорацией “Кремниевая Графика” (Silicon Graphics). Наибольшие трудности при создании среды виртуальной реальности вызывают, по-видимому, задачи, связанные с манипулированием объектами и с обратной связью при таком манипулировании. Системы позиционирования могут основы¬ ваться на различных физических принципах — на взаимодействии с электромаг¬ нитным полем или с акустическим. На акустическом принципе оцифровывания позиции руки основана перчатка Nintendo PowerGlove, выпущенная на рынок как коммерческое изделие. Следует отметить, что промышленность электронных игр — потенциальный большой потребитель систем виртуальной реальности. Более дешевых и менее совершенных, чем того требуют задачи САПР. Акустическое позиционирование менее точно, чем электромагнитное, и требует прямого “виде¬ ния” перчатки сенсором. АПр-4 -21 -
Виртуальные инструменты являются неотъемлемой компонентой для приложе¬ ний синтетической реальности. Они требуют прецизионного позиционирования руки оператора. Недостаточно прецизионную кинэстетическую перчатку можно заменить системой непосредственного трехмерного позиционирования. Такая сис¬ тема З-Draw была разработана в лаборатории САПР Массачусетского Института Технологии. Она основана на двух устройствах с шестью степенями свободы каж¬ дое. Каждое из этих устройств держат одной рукой. В среде виртуальной реально¬ сти оператор видит, что одна его рука держит объект, а другая — инструмент. Подобные системы обеспечивают точность позиционирования, которая достаточна для большинства применений виртуального инструмента. Однако это достигается, если пожертвовать работой пальцами, обеспечиваемой перчаткой. Можно исполь¬ зовать также систему компьютерного зрения, способную распознавать и анализи¬ ровать положения человеческой руки. Это трехмерная производная от хорошо известных двумерных тактильных экранов. Разрабатываются и другие устройства, такие как Сенсорный Куб Корпорации Сенсор Фрейм (Sensor Frame Corporation), которая работает совместно с Университетом Карнеги-Меллона. Способность конт¬ ролировать положения кончиков пальцев означает возможность использования виртуального инструмента с переключателями и кнопками. Кроме того, без перча¬ ток систему может использовать кто угодно; руки при этом свободны для работы с трехмерным позиционным сенсором или с клавиатурой. Причина, по которой NASA затрачивает свои ресурсы на разработку систем вир¬ туальной реальности, состоит в огромном прикладном потенциале таких систем. NASA первоначально определила два направления приложений к аэрокосмической промышленности: построение аэрокосмических тренажеров и создание виртуаль¬ ного кокпита, позволяющего использовать безоконные летательные аппараты. Если речь идет о тренажерах, то уже использование шлема VIEW и перчаток DataGlove, а тем более полного кинэстетического костюма DataSuite, позволяло че¬ ловеку работать в виртуальном пространстве, эмулирующем космос или обстанов¬ ку на поверхности планет. Эти виртуальные миры приобретали все необходимые свойства эмулируемой среды. Работа с системами виртуального кокпита концентрируется в лабораториях ба¬ зы ВВС имени братьев Райт и Паттерсона в г. Дейтон, штат Огайо. Локальная сеть с графическими рабочими станциями высокого разрешения позволяет пилоту вести самолет исключительно по сенсорам, днем или ночью, в хорошую погоду или в пло¬ хую. Сенсоры находятся на внешней обшивке самлета и принимают визуальные, инфракрасные и микроволновые сигналы. В самом кокпите пилот видит только имитационную картину того, что происходит снаружи. Нет ни облаков, ни других атмосферных явлений, ухудшающих видимость. Система голосом оповещает пило¬ та о положении летательного аппарата и о положении других находящихся побли¬ зости летательных аппаратов. Пилот управляет самолетом, используя обычные средства, но система отображе¬ ния смонтирована на шлеме, сходном со шлемом VIEW, но позволяющем генериро¬ вать приборные дисплеи и отображать местность. Использование этой технологии не только позволяет летать при любых погодных условиях, но позволяет не проши¬ вать обшивку иллюминаторами. Иллюминаторы существенно уменьшают прочно¬ сть фюзеляжа, увеличивают вес и лобовое сопротивление. Все эти факторы должны быть существенно уменьшены или даже полностью исключены в будущих сверх¬ звуковых или гиперзвуковых летательных аппаратах. Технология виртуальной реальности имеет многочисленные приложения в са¬ мых разнообразных областях человеческой деятельности. Например в микрохирур¬ гии. В виртуальном мире, даже если он является копией реального мира, пользователь может иметь любой “размер”. Телевизионная камера, смонтирован¬ АПр-4 -22-
ная на микроскопе, позволяет сгенерировать виртуальный образ ткани, с которой работает хирург. Хирург будет видеть и ощущать микрохирургический инструмент так, как если бы это был инструмент нормального размера: нормальные скальпели, пинцеты и пр. Помимо технических приложений имеются и коммерческие. Разумеется можно воссоздать обстановку офиса с его персональными компьютерами, картотеками, и лотками для почты. Но основное, что может дать виртуальная реальность в прило¬ жениях к бизнесу, — это видеоконференции. Менеджер может “перейти в сосед¬ нюю комнату” и встретиться там для беседы с человеком, который в реальности находится от него за тысячи километров. Собеседник, в свою очередь, будет видеть его в среде своей виртуальной реальности. Может быть реализовано то, что получило название “деловой променад” (business mall): это коридор, в ко¬ торый выходят офисы всех руководителей фирмы, на самом деле разнесенные на тысячи километров друг от друга; это — новый уровень интеграции бизнеса, по сравнению с обычными деловыми сетями. Это же решение может быть предложено и для промышленных пространственно распределенных организаций. ЗАКЛЮЧЕНИЕ Рыночная экономика сама по себе еще не обеспечивает технологического разви¬ тия государства. Никто не станет отрицать, что Непал — это страна с рыночной экономикой. Экономика США — это экономика быстрого реагирования, экономика, в которую встроены такие механизмы, как механизм вентурного капитала. Если угодно — это технологический азарт. Америка — это страна, которая живет за счет технической инновации. И ника¬ кие успехи Японии в сфере чисто промышленной реализации некоторых (не всегда японских) достижений не изменяют положения. Дело в том, что отдача от принци¬ пиально новых решений оказывается гораздо больше, чем отдача от технологиче¬ ской шлифовки старых. Япония может обогнать Соединенные Штаты по производству микросхем памяти, сорвать на этом рынок, но все микропроцессоры изобретены и сделаны в США. Все, кроме транспьютеров, задуманных и сделанных в Англии, там, где живет и работает Энтони Хор — духовный отец транспьютера. Помимо локальных механизмов быстрого реагирования, экономика государства должна обладать способностью к задумыванию и реализации крупных проектов на¬ ционального и международного уровня. Япония знает свои слабые стороны и неод¬ нократно пыталась организовывать крупные проекты: проект вычислительных систем пятого поколения, проект “Границы человека”, проект “Геном челове¬ ка”..., но даже в крупных межнациональных проектах, начатых по инициативе Японии, неизменно лидируют США. Россия ни разу не выступала даже с инициативой крупных межнациональных проектов в критических областях... Декларация о миллионном выпуске собствен¬ ных персональных компьютеров к 1990 г. так и не была реализована, под рогожным знаменем войска вперед не пойдут. За последние тридцать лет основной технологической причиной изменений в жизни общества была информационная технология. Подчеркиваемое атомная энергетика, а информационная технология. Сегодня она снова несет с собой са¬ мые крупные перемены в жизни общества, материальные перемены, определяемые промышленным и народнохозяйственным использованием систем виртуальной ре¬ альности. Эти перемены сделают все последующее развитие общества независящим от демографической ситуации. АПр-4 -23“
УДК 621:681.3.06 АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ В ТЕХНОЛОГИЧЕСКОЙ ПОДГОТОВКЕ ПРОИЗВОДСТВА (обзор) В. Б. Великанов, канд. техн, наук Приведены обстоятельный анализ и ряд факторов, определяю¬ щих развитие автоматизированных систем технологического проектирования в современных условиях. Системы автоматизации проектирования (САПР) стали неотъемлемой частью производственной деятельности машино- и приборостроительных предприятий. Одной из сфер приложения САПР является автоматизация функций и задач техно¬ логической подготовки производства. Этапы технологической подготовки требуют значительных затрат инженерных ресурсов. Анализ структуры системы подготовки производства показывает, что большой объем проектных работ при освоении новых изделий сосредоточен в технологических службах, в составе которых имеются мощные подразделения по проектированию технологических процессов, средств технологического оснащения, по подготовке информации и управляющих про¬ грамм для оборудования с ЧПУ. В технологических подразделениях сосредоточено более 40 % от общего состава инженерно-технических работников предприятий. В современных условиях формирования рыночных отношений значимость работ по автоматизации технологического проектирования достаточно высокая. Наличие промышленных систем автоматизации проектирования в сфере подготовки произ¬ водства позволяет' обеспечить жизнеспособность предприятия и дает ему возмож¬ ность развиваться в условиях жесткой конкуренции. Функционально полные и привязанные к конкретным производственным условиям указанные системы пре¬ вращаются в стратегическое средство. Они становятся мощным конкурентным пре¬ имуществом, в то же время положительно влияют в целом на систему подготовки производства, стабилизируя ее внутреннюю структуру. Сложный период экономического развития страны, конверсия оборонного про¬ изводства и связанная с ней структурная перестройка естественным образом оказы¬ вают влияние на процессы подготовки производства конкретного предприятия, на развитие технологических служб, на проблемы автоматизации проектной деятель¬ ности в сфере ТПП. . Можно выделить ряд факторов, определяющих развитие автоматизированных систем технологического проектирования в современных условиях. Первая группа факторов связана с формированием рыночных отношений, вра¬ станием предприятий в рыночные структуры. Системы автоматизированного про¬ ектирования выступают не только как средство, интенсифицирующее инженерную деятельность, но и в качестве самостоятельной товарной продукции, имеющей свои потребительские свойства. С этих позиций проблемы привязки систем к конкрет¬ ным производственным условиям, наличия средств адаптации становятся перво¬ очередными. Поэтому большое значение приобретает разработка соответствующих инструментальных средств, включающих лингвистическую, математическую, про¬ граммную составляющую и обеспечивающих быструю качественную настройку прикладной системы к реальным условиям предприятия-пользователя. Развитие малых форм производственной деятельности приводит к потребности использования локальных систем, предназначенных для решения отдельных задач подготовки производства, в частности, задач по проектированию технологического оснащения — штампы, пресс-формы и т. д. АПр-4 -24-
Конверсионные процессы вызывают освоение оборонными предприятиями в ши¬ роком масштабе продукции народнохозяйственного назначения, в которой значи¬ тельный объем составляют детали, изготавливаемые прессованием пластмасс и штамповкой. Это, в свою очередь, приводит к увеличению номенклатуры и количе¬ ства штампов и пресс-форм, используемых в производстве. Поэтому, несмотря на тяжелое финансовое положение, предприятия проявляют определенный интерес к автоматизированным системам в области проектирования и изготовления сложного технологического оснащения. Вторая группа факторов определяется характером и спецификой современного машино- и приборостроительного производства. К числу их можно отнести следующие: многообразие технологических процессов, включающие в себя как традицион¬ ные виды обработки машиностроения (различные виды литья и обработки давлени¬ ем, обработка резанием лезвийным и абразивным давлением, электрофизические и электрохимические процессы обработки, термическая и гальваническая обработка, сварка, лазерная обработка, склеивание деталей и их элементов и т. д.), так и тех¬ нологические переделы, характерные для производства электронных узлов (намот¬ ка, пайка, заливка, монтаж, настройка и т. д.); большой объем производства опытных образцов изделий, связанных с выпуском новейших моделей изделий на базе весьма неустойчивой конструкторской доку¬ ментации; высокие требования к качеству и надежности изделий, вызывающие необходи¬ мость в доводочных видах обработки, проверках, анализах, испытаниях; обширная номенклатура применяемых конструкционных материалов, высокая точность размеров и взаимного расположения поверхностей деталей, узлов и высо¬ кое качество и чистота поверхностей; миниатюризация деталей и элементов, затрудняющая обработку и сборку, вы¬ сокая сложность и ажурность конструкций основных деталей, что требует специ¬ фических приемов обработки. Третья группа факторов связана с динамикой развития индустрии ЭВМ, кото¬ рая быстро меняет приоритеты, направления и, в конечном счете, структуру техни¬ ческих средств САПР. Основой информационной технологии становятся персональные компьютеры, супермини-ЭВМ, графические станции, оснащенные развитой периферией, глобальные и локальные сети. В совокупности с принципиально новыми методами обработки данных, совре¬ менные технические средства дают возможность реализовывать новые информаци¬ онные технологии, обеспечивающие целенаправленную обработку информацион¬ ного продукта с наименьшими затратами и с учетом закономерностей конкретной предметной области. Особая роль в этом плане, принадлежит персональным вычислениям. В послед¬ ние годы персональные компьютеры приобретают все большее значение для автоматизации технологической подготовки производства. ПЭВМ типа PC АТ-286, -386 стали наиболее массовыми вычислительными средствами, используемыми в службах подготовки производства, причем основной объем конструкторско-техно¬ логических работ выполняется с применением 16-разрядных ПЭВМ [1]. Проецируя указанные обстоятельства на развитие автоматизированных систем технологического проектирования, выделим следующие особенности. В современной экономической ситуации системы автоматизации проектирова¬ ния остаются одним из важнейших ресурсов для решения проблем совершенствова¬ ния подготовки производства предприятий. Остро стоит задача одновременной автоматизации задач подготовки производ¬ ства для большой гаммы технологических переделов. АПр-4 -25-
Самостоятельное значение приобретают вопросы разработки математической теории и специальных программных средств решения трудноформализуемых задач технологического проектирования. Существенной остается трудоемкость разработки автоматизированных систем, и, с другой стороны, происходит отток с предприятий квалифицированных специа¬ листов-разработчиков, в ряде случаев полный распад коллективов, занимающихся созданием САПР технологического назначения. Оценивая с позиций сегодняшнего дня перспективы развития САПР в сфере технологической подготовки производства, можно констатировать следующее. Качественный сдвиг происходит в методологии создания автоматизированных систем. В основе современных концепций лежат методы, ориентированные на ин¬ женерию знаний, на повышение интеллектуальной составляющей создаваемых систем технологического проектирования и, в конечном счете, на получение ин¬ теллектуальных комплексов подготовки производства для многообразия техноло¬ гических переделов предприятия. Ведущей тенденцией становится подход, реализующий тезис “программирование без программистов”. Суть подхода — в максимальном привлечении специалистов предметной области к созданию про¬ мышленных САПР, в том числе и к этапу разработки прикладного программного обеспечения. Сформулируем концептуальные цели развития САПР технологического проек¬ тирования на современном этапе. ИНТЕЛЛЕКТУАЛИЗАЦИЯ АВТОМАТИЗИРОВАННЫХ СИСТЕМ Создание систем идет по пути повышения сложности автоматизируемых задач. Например, в области технологии машиностроения, которая, как наука, отлича¬ ется отсутствием строгих аналитических зависимостей, сложной взаимосвязью от¬ дельных задач, большой ролью эмпирики, упор делается на автоматизацию решения трудноформализуемых задач, таких, как выбор технологических баз, определение последовательности обработки, формирование структуры операций ит. д. Это обстоятельство усиливает необходимость разработки математической тео¬ рии и специальных процедур решения трудноформализуемых задач технологиче¬ ского проектирования. В области проектирования сложного технологического оснащения (формы литья под давлением, пресс-формы для литья полимерных материалов, штампы для объ¬ емной и холодной штамповки и др.) развитие получают задачи, обеспечивающие: моделирование процесса формообразования изделия, анализ всех стадий процесса литья или штамповки, прогноз дефектов изделий, точный расчет размеров формо¬ образующих элементов. Использование программных средств математического моделирования процес¬ сов формообразования изделий с системами трехмерного геометрического моде¬ лирования поднимают на новый качественный уровень конструирование техноло¬ гического оснащения. С другой стороны, создаваемые автоматизированные системы должны все в большей мере использовать средства экспертных систем, методы искусственного интеллекта, т. е. понимать и использовать знания, распознавать ситуации, делать логические выводы, общаться с пользователем на естественном языке. ИНДУСТРИАЛИЗАЦИЯ РАЗРАБОТКИ АВТОМАТИЗИРОВАННЫХ СИСТЕМ В рамках развития современных концепций автоматизации проектирования принципиально важным является наличие и использование средств, обеспечиваю¬ АПр-4 -26-
щих ускорение разработки САПР, возможность быстрой и малотрудоемкой коррек¬ тировки программного, информационного обеспечения в связи с необходимостью привязки к условиям новых пользователей или при каких-либо изменениях произ¬ водственной среды конкретной системы. При разработке автоматизированных методов решения задач технологического проектирования ставится цель — макси¬ мально использовать инженерные знания, накопленные в результате предшеству¬ ющей конструкторско-технологической деятельности. Носителями этих знаний являются специалисты в конкретной предметной области, которые участвуют в разработках автоматизированных систем в качестве постановщиков задач или экс¬ пертов. Поэтому наличие соответствующих средств (формальных языков, программных комплексов их поддержки), доступных специалистам в предметной области, обес¬ печивает непосредственное участие этих специалистов в разработке прикладных программных продуктов. Характерным для всякой автоматизированной системы, в частности, САПР, является то, что в ее основу заложена некоторая модель произ¬ водственной ситуации на предприятии, для которого она создается. Естественно, ситуация постоянно изменяется и эти изменения должны быть оперативно отраже¬ ны в соответствующих средствах обеспечения (программное, информационное) си¬ стемы. Можно говорить о том, что одним из режимов функционирования системы является режим модификации. Таким образом, для обеспечения эффективности и надежности автоматизированной системы необходимы инструментальные средства, обеспечивающие легкую модифицируемость программного и информационного обеспечения на этапе эксплуатации системы, причем силами специалистов пред¬ метной области [2 ]. Приведенный небольшой анализ позволяет сделать вывод о формировании самостоятельного направления развития САПР в технологической подготовке про¬ изводства, связанного с созданием и отработкой методов индустриализации разра¬ ботки прикладных автоматизированных систем. Разработка данного подхода основывается на тщательном анализе процессов проектирования, выявлении наи¬ более общих закономерностей этих процессов и формировании универсальных ма¬ тематических моделей, для работы с которыми возможно создание стандарного механизма. При этом формируются новые отношения между разработчиками авто¬ матизированных систем. В данной ситуации формализация профессиональных значений, представление их в виде программных продуктов выполняется, как пра¬ вило, самостоятельно непрограммирующим специалистом или при минимальной технологической поддержке программиста, который в этом случае имеет возмож¬ ность включаться в процесс формализации только на инструментальном уровне, оставляя наиболее трудную для его понимания часть задачи специалисту в конк¬ ретной предметной области. Состав инструментальных средств предполагает включение следующих компо¬ нент: средства образования моделей предметных областей, средства порождения интерфейсов между потребителями и автоматизированной системой (языка проек¬ тирования, формы диалога), средства порождения интерфейсов между компонента¬ ми программного обеспечения, средства создания функциональных программных модулей, средства отладки. В качестве составной части инструментальных средств, реализующей ряд пере¬ численных компонент, выступают языки программирования высокого уровня, ори¬ ентированные на разработку САПР технологического назначения. Указанные языки предназначены для описания алгоритмов проектирования, диалога, автома¬ тизированного выпуска текстовой и графической документации, причем пользова¬ телем создаваемой прикладной задачи. АПр-4 -27 -
Дальнейшие шаги по развитию рассматриваемого направления необходимо свя¬ зывать с разработкой инструментальных экспертных систем, предназначенных для создания САПР технологических процессов и оснащения. По своей сути эти системы должны относиться к системам продукционного типа, в которых для предоставления знаний в основном используются правила продук¬ ции вида “ЕСЛИ (условие), ТО (следствие)”. ИНТЕГРАЦИЯ АВТОМАТИЗИРОВАННЫХ СИСТЕМ В СФЕРЕ ТПП Структура и характер системы подготовки современного производства, наличие широких взаимосвязей с производственными системами оказывают существенное влияние на развитие интеграционных процессов при создании автоматизирован¬ ных систем в сфере ТПП. Реализация интеграционных процессов позволяет комплексно осуществить ав¬ томатизацию в ТПП от момента получения исходных данных на технологическое проектирование до принятия управляющих решений по организации проектных работ. Рассматривая с точки зрения автоматизации технологическую подготовку про¬ изводства предприятия, можно говорить об интегрированной системе, сочетающей в себе элементы САПР, АСУТП, АСУП. При этом выделяются различные виды ин¬ теграций: межсистемная, межуровневая, интеграция по стадиям “жизненного цикла” изделия — “проектирование” — “подготовка производства” — “изготовле¬ ние”. В качестве разновидностей интеграционных процессов в рамках САПР техноло¬ гического назначения различаются: интеграция по стадиям проектирования, обес¬ печивающая взаимосвязанное функционирование задач различных уровней (выбор схем обработки, проектирование маршрутной и операционной технологии, формирование переходов, управляющих программ); функциональная интеграция, обеспечивающая взаимосвязанное решение задач, относящихся к различным фун¬ кциям ТПП (проектирование технологических процессов и проектирование средств технологического оснащения; проектирования технологического оснаще¬ ния и формирование нормативной информации для инструментального цеха, про¬ ектирование технологии изготовления оснащения и т. д.). В концептуальном плане обеспечение интеграционных процессов приводит к со¬ зданию многофункциональных, многоуровневых систем подготовки производства в рамках конкретного технологического передела, например, литейного, механо¬ обрабатывающего, изготовление изделий из полимеров и др. Рассмотренные концептуальные цели в конечном итоге интегрируются в виде целей информатизации конкретных функций технологической подготовки произ¬ водства предприятия. Изложенный подход нашел свое отражение в работах по автоматизации техно¬ логической подготовки, выполняемых на предприятиях машино- и приборострое¬ ния Министерства Российской Федерации по атомной энергии. Отличительной особенностью работ рассматриваемого этапа является использование в качестве технической базы 16-разрядных ПЭВМ типа IBM РС/АТ-286. Разработки охва¬ тывают задачи, которые относятся к различным подсистемам, обеспечивающим выполнение основных функций подготовки производства: проектирование техно¬ логических процессов, включая нормирование операций, проектирование средств технологического оснащения и инструмента, подготовка управляющих программ для оборудования с ЧПУ, информационный поиск данных технологического харак¬ тера. АПр-4 -28-
Автоматизированные системы технологического проектирования реализуются для основных видов производств машино- и приборостроительного предприятия, в том числе: литейного, механообрабатывающего, листоштамповочного, нанесения покрытий, термического, переработки пластмасс, деревообрабатывающего, сбороч¬ но-монтажного, производства печатных плат. Одно из центральных мест в работе занимают вопросы создания и адаптации со¬ ответствующих инструментальных средств, ориентированных в первую очередь на задачи технологического проектирования. В состав этих средств входят: язык опи¬ сания алгоритмов “Путь”, язык формирования параметризованных машинострои¬ тельных чертежей (FAG* — Fast Automatic Graphics), язык программирования БУС программно-методический комплекс “Технология”. Важное место в разработках занимают вопросы автоматизации графических ра¬ бот и, соответственно, применения средств машинной графики. В настоящее время разработано достаточно большое количество программных изделий в области ма¬ шинной графики. Можно назвать наиболее распространенные системы, представ¬ ляющие пользователю возможности как параметризованных изображений, так и удобного графического редактирования — AutoCad, CadKey, Компас и рад других. Эти пакеты предоставляют разработчику и пользователю необходимый набор функций для реализации процесса автоматизированного проектирования в рамках ТПП (ввод и контроль исходных данных; получение в ходе диалога машинного представления графической и текстовой документации на проектируемый объект; просмотр и корректировку на экране дисплея полученного комплекта чертежей). Вместе с тем работа, например с пакетом AutoCad, вызывает и ряд неудобств — большой объем оперативной памяти, используемый пакетом; медленная работа ин¬ терпретатора; громоздкость и неестественность конструкций языка пакета AutoCad; неудобство отладки программ; большое время загрузки пакета. В связи с этим реализован альтернативный подход к построению совокупности базовых средств машинной графики. Предложено в рамках диалогового процесса конкретной задачи технологического проектирования использовать различные средства. На этаже проектирования, т. е. получения чертежей на уровне машин¬ ного представления, используется средство параметризации — язык FAG. На этапе просмотра и корректировки чертежей может использоваться любой графический редактор. При этом редактор может быть полезен и в процессе ввода исходных дан¬ ных. Возможен также режим использования программами языка FAG графических изображений, подготовленных с помощью редактора, для организации разного рода графических меню и формирования постоянных частей чертежей. При реализации указанных режимов обеспечивается совместимость по формату графической ин¬ формации между различными программными средствами. Остановимся на характеристике языка FAG. Язык разработан П. П. Леоновым, Б. М. Ткачом, М. А. Жаровым в лаборатории САПР НИКИЭТ. Основой для разра¬ ботки интерпретатора на персональном компьюторе послужили программы для ЭВМ типа СМ с ОС РАФОС. Вариант языка FAG для ПЭВМ IBM PC, разработан¬ ный в ЦОНИЛ АПТПП Министерства атомной энергии России существенно отли¬ чается от предшественника на СМ, но основные приципы построения языка сохранены. Добавлены операторы поддержки графических элементов ЕСКД, опе¬ раторы для организации графического диалога, разделена работа с графическим файлом и экраном. По структуре и правилам написания операторов FAG подобен известному языку FORTRAN и поддерживает все основные программные конструкции (вычисления, Это адаптация на ПЭВМ IBM PC разработки, выполненной в научно-исследовательском конструкторском институте энергетической технологии (НИКИ ЭТ, Москва) для ЭВМ класса СМ. АПр-4 -29-
условия, циклы, подпрограммы, работа с файлами). Кроме традиционных типов данных (число, текст) язык имеет геометрические типы данных (точка, прямая, окружность) и позволяет производить операции над ними (поиск точек пересече¬ ния, касания и т. д.). Операторы языка позволяют отрисовывать на экране и в гра¬ фическом файле графические примитивы (ломаные, дуги, контуры, сплайны), а также все элементы ЕСКД (надписи, размеры, штриховки, обозначения разрезов, шероховатости, обозначение допусков формы и расположения, оформление выно¬ сок и т. д.). Имеются операторы преобразования координат, установки размеров изображения на экране, возможность создания графических файлов различной структуры и чтения информации из графических файлов (например, для ее ис¬ пользования в качестве фрагмента формируемого чертежа). Операторы языка по¬ зволяют организовать символьный и графический диалог с пользователем. Интерпретатор языка FAG позволяет быстро создавать, отлаживать и запускать программы, написанные на этом языке. Интерпретатор может работать как в про¬ граммном режиме (выполнение FAG-программы), так и в непосредственном (вы¬ полнение прямых директив пользователя). В пошаговом режиме пользователем может быть запущена какая-либо FAG-программа. При отладке программ из про¬ граммного режима пользователь в любой момент может перейти в пошаговый, ко¬ торый позволяет каждому из операторов выполняемой программы разрешить к исполнению, скорректировать или вообще отменить, наблюдая результат непосред¬ ственно на дисплее. Предусмотрен выход в текстовый редактор для корректировки текста программы. Исправленная программа может быть сразу запущена на выпол¬ нение. Основные цели, преследовавшиеся при разработке языка FAG,— максимальное удобство программиста и быстрота написания программ. Эти цели удалось достичь благодаря простому синтаксису и структурности языка, использованию графиче¬ ских типов данных и ориентированных на предметную область операторов, отла¬ дочным возможностям, предоставляемым интерпретатором. Достоинства FAG при организации больших программных комплексов: доста¬ точно высокая скорость загрузки задачи в память и отображения результатов рабо¬ ты интерпретатора; небольшой (250К) объем оперативной памяти, занимаемой интерпретатором, что позволяет использовать систему на ЭВМ с объемом опера¬ тивной памяти менее 640К. Это же свойство позволяет запускать в рамках FAG до¬ статочно большие порожденные процессы, взаимодействующие с FAG по данным не только через файлы, но и через оперативную память. Более того, сам FAG мо¬ жет быть запущен из какой-либо задачи как порожденный процесс и способен получать данные через оперативную память. Интерпретатор языка FAG написан на языке FORTRAN, некоторые модули на¬ писаны на языке Си. Для отображения графических объектов на экране дисплея используется пакет HALO, драйверы которого позволяют работать с различными типами терминалов — CGA, EGA, VGA, HERCULES, ARTIST и др. Форматы пред¬ ставления графических данных, поддерживаемые интерпретатором FAG — DXF системы AutoCad, формат обмена данными IGES, DRW, редактора РЕДГРАФ. Предлагаемый вариант использования графических средств обеспечил выполне¬ ние двух существенных моментов. Первый — возможность создания компактных программных продуктов и второй — возможность привязки к привычной программной среде машинной графики конкретного пользователя. Широкое применение при срздании прикладных задач нашел язык программи¬ рования высокого уровня “Путь”. Основная цель разработки языка — обеспечение возможности быстрого создания прикладных задач и удобной корректировки дан¬ ных определенной области. АПр-4 -30-
Язык предназначен для описания алгоритмов диалога, проектирования, автома¬ тизированного выпуска текстовой документации и графических эскизов при конст¬ рукторско-технологической подготовке производства. Возможность описания алгоритмов проектирования не программистом, а специ¬ алистом в предметной области обеспечивается: русской лексикой, простым синтаксисом языка “ПУТЬ”; описанием предметной области в терминах пользователя; определением типов переменных по контексту; развернутыми возможностями организации диалога; откладкой программ в среде интерпретатора языка “ПУТЬ”. Язык работает с логическими, арифметическими, текстовыми данными, множе¬ ствами. Наряду с обычными для языков программирования возможностями (вычис¬ ления, многомерные массивы, условия, циклы, подпрограммы, обращение к последовательным и прямым файлам) данный язык позволяет работать с таблица¬ ми, дает возможность шаблонного ввода-вывода (шаблоны могут быть и графиче¬ скими). Работа с меню, графическими операторами, со слайдами дает неогра¬ ниченные возможности по организации диалога с пользователем. Язык позволяет обращаться к базам данных структуры DBASE. Возможны чте¬ ние, запись информации в базу данных, поиск заданного контекста (в том числе быстрый поиск по индексам). Ведение интерпретатором журнала диалога позволяет пользователям, ведущим диалог, описанный на языке, возвращаться к предыдущим вопросам, прерывать ра¬ боту с последующим возобновлением. Форматы проектируемых текстовых документов настраиваются с помощью шаблонов, что позволяет организовать вывод документации на требуемые пользо¬ вателю формы или в промежуточном текстовом виде, удобном для корректировки. Создание и редактирование программ ведется во встроенном редакторе интер¬ претатора. Программы хранятся в библиотеках под именами, которые дал им поль¬ зователь. При записи программ в библиотеку редактор частично проверяет синтаксис программ. При возникновении ошибки в процессе выполнения програм¬ мы пользователь может исправить ее в экранном редакторе и продолжить выпол¬ нение прерванной программы. Отладочные режимы работы интерпретатора (например, пошаговый режим — подтверждение пользователем выполнения каж¬ дого оператора программы) дают возможность легко ориентироваться в действиях, производимых программой. Пользователю дается возможность расширять язык с помощью подпрограмм, написанных как на самом языке ПУТЬ, так и на других языках программирования. При таком расширении область применения языка ограничена в основном исполь¬ зуемыми типами данных, быстродействием интерпретатора и памятью ЭВМ. Для отображения графических объектов на экране дисплея используется пакет HALO. Для создания систем автоматизированного проектирования технологических процессов в тех видах производств, где произвольный технологический процесс из¬ готовления выбранного класса деталей или сборочных единиц может быть пред¬ ставлен в виде подмножества конечного множества унифицированных операций (переходов, приемов), используется программно-методический комплекс (ПМК) “Технология”. Комплекс нашел применение при автоматизации задач подготовки заготовительного, литейного, термического производств, нанесения покрытий, пе¬ реработки пластмасс и резин, сборки и монтажа печатных плат, сборки моточных изделий и т. п. Инвариантность комплекса достигается путем формализации процесса решения основных проектных задач (ведение диалога, определение технологического марш¬ рута, формирование маршрутной и операционной технологии), представления их в АПр-4 -31 -
виде математических моделей, для работы с которыми разработан стандартный механизм. Настройка ПМК на конкретный объект автоматизации осуществляется техноло¬ гом-специалистом и заключается в описании им предметной области по установ¬ ленной методике в понятных для него терминах, не требующих приобретения дополнительных знаний. Информация вводится в ЭВМ с помощью удобных диало¬ говых средств, осуществляющих синтаксический и семантический контроль вводи¬ мых данных. Так как адаптация комплекса осуществляется на информационном уровне, то это позволяет не только в короткие сроки создавать САПР ТП, но и опе¬ ративно вносить изменения. Основные характеристики подсистем технологического проектирования, разра¬ ботанных с помощью ПМК: проектирование технологического процесса осуществляется пользователем в интерактивном режиме по заранее разработанному сценарию; технологический маршрут формируется автоматически на основе данных, вве¬ денных в процесс диалога; выходные документы в соответствии с ГОСТами ЕСТД формируются путем слияния заготовок постоянной информации и переменой, получаемой автоматиче¬ ски в зависимости от особенности детали или сборочной единицы; предусмотрен режим трассировки, включение которого позволяет быстро выя¬ вить ошибки в постановке и в информационном обеспечении. Одной из составных частей работ на прикладном уровне является разработка и реализация многофункциональных систем автоматизации подготовки отдельных производств механообрабатывающего, листоштамповочного, печатных плат, сбо¬ рочно-монтажного и др. АВТОМАТИЗИРОВАННАЯ СИСТЕМА ПОДГОТОВКИ МЕХАНООБРАБАТЫВАЮЩЕГО ПРОИЗВОДСТВА Основу для автоматизированного технологического проектирования составляет информация о детали (геометрия, размерные связи, общие сведения). Ввод информации о детали производится в режиме диалога разработчиком тех¬ нологического процесса с использованием графических меню и шаблонов. Техно¬ лог-пользователь указывает элементы детали, размерные взаимосвязи, заданные на чертеже, устанавливает последовательность обработки детали. Система предусматривает автоматизацию задач, различных по функционально¬ му назначению. Это комплекс технологических задач, обеспечивающих формиро¬ вание операционной и маршрутной технологии, выбор оборудования, расчет операционных размеров, размерный анализ, выбор режимов резания и т. д. Реше¬ ние данных задач осуществляется для широкой номенклатуры оборудования, включая универсальные станки, станки с ЧПУ, автоматы и полуавтоматы. Выбор оборудования производится при помощи меню-подсказок, где могут быть представ¬ лены любые сведения об оборудовании. Следующий блок задач связан с выбором установочно-зажимных приспособле¬ ний, режущего и измерительного инструмента. Для функционирования этого клас¬ са задач разработаны средства информационного поиска, функционирующие на основе СУБД DBASE. Исходя из имеющихся данных, система автоматически выби¬ рает перечень возможных режущих, измерительных инструментов, установочно¬ зажимных приспособлений, необходимых для изготовления конкретной детали. Окончательное решение по выбору инструментов и приспособлений принимает технолог при помощи графических и символьных меню. В системе реализованы комплексы задач по расчету норм времени, по взаимо¬ связи с подсистемой формирования управляющих программ для оборудования с ЧПУ. АПр-4 -32-
Составной частью системы является программный комплекс, реализующий на основе идеологии сквозного проектирования, для деталей типа “тела вращения”, процедуры по созданию, редактированию и визуализации геометрического образа заготовки на любой из стадий обработки. Результаты работы оформляются с ис¬ пользованием соответствующих технических средств в виде комплекта операцион¬ ных чертежей, на которых наносится изображение контура детали, обрабатывае¬ мые поверхности, соответствующие операционные размеры, план обработки для операции, необходимые условные обозначения. При формировании комплекта технологической документации пользователю предоставляется возможность окончательно доработать технологический процесс в экранном редакторе или вернуться к корректировке исходной информации. Име¬ ются также возможности перейти к проектированию другого технологического про¬ цесса или временно приостановить работу. Алгоритмы работы с информационной базой в системе полностью открыты для возможных изменений. Кроме того в системе предусмотрены возможности: расши¬ рения круга допустимых элементарных поверхностей; введения более жестких ал¬ горитмов работы; заимствования данных о детали из других систем; изменений информационной базы и алгоритмов проектирования могут провести как разработ¬ чики системы, так и пользователи. Самостоятельное значение при рассматриваемом подходе приобретают подси¬ стемы, связанные с автоматизацией проектирования средств технологического ос¬ нащения и инструмента. Общее количество различных типов конструкций специальных установочно-за¬ жимных, контрольных приспособлений, режущих и измерительных инструментов, используемых на конкретном предприятии для изготовления деталей на металло¬ обрабатывающем оборудовании, может составлять сотни единиц. Указанное обсто¬ ятельство определяет значительную трудоемкость работ по автоматизации проектирования всей гаммы технологического оснащения и инструмента. В настоя¬ щее время в реальных условиях проведены работы по автоматизации проектирова¬ ния более 50 типов наименований приспособлений, режущих и измерительных инструментов, в том числе: приспособлений для сверления, УСП, станочных опра¬ вок, резцов, плашек, резьбовых и гладких калибров, комплексных калибров и т. д. Многообразие типов оснастки и инструментов требует решения задач увязки проектных процедур по разработке технологии, выбору и проектированию оснаще¬ ния во взаимосвязанный комплекс на единой лингвистической и информационной основе. Новизна проблемы заключается в организации программных интерфейсов между различными функциональными частями, в увеличении объемов преобразо¬ ваний результатов работы программных комплексов из одной формы предоставле¬ ния данных в другую. Принципиальным явилось в рамках работ по автоматизации подготовки меха¬ нообрабатывающего производства создание комплексной системы, обеспечиваю¬ щей взаимосвязь между подсистемой формирования управляющих программ и технологической документацией для оборудования с ЧПУ, функционирующей в технологическом подразделении, и подсистемой группового управления оборудова¬ нием с ЧПУ, реализованной на цеховом уровне. С этой целью создан комплекс тех¬ нических средств, обеспечивающий передачу информации с вычислительной техники, расположенной в технологических подразделениях, выполняющих работу по подготовке производства для оборудования с ЧПУ, на вычислительный комп¬ лекс цехового уровня, реализующий функции группового управления для станков с ЧПУ. Кроме того на цеховом вычислительном комплексе реализован ряд задач тех¬ нологического характера, обеспечивающих ведение архива управляющих про¬ грамм; базы режущего, измерительного, вспомогательного инструмента, расчет корректоров и т. д. АПр-4 -33-
АВТОМАТИЗИРОВАННАЯ СИСТЕМА ПОДГОТОВКИ ПРОИЗВОДСТВА СБОРКИ И МОНТАЖА ПЕЧАТНЫХ ПЛАТ Основу системы составляет комплекс по проектированию технологических про¬ цессов. Комплекс предназначен для автоматизированного проектирования технологи¬ ческих процессов сборки и монтажа многослойных, двусторонних и односторонних печатных плат. Применяется при проектировании технологии для типовых конст¬ рукций печатных плат и для плат, имеющих особенности при изготовлении (на¬ пример, заливку). В режиме диалога технолог вводит данные по составу и установке электроизде¬ лий (ЭРИ) на плату. Вопросы разделены на блоки, относящиеся к: общим техническим требованиям; подготовительным операциям; маркировочным операциям; операциям по развальцовке и расклепке контактов; электромонтажу деталей; установке ЭРИ с нетипичными требованиями к монтажу (типа безвыводных конденсаторов); сборочным (разъемным и клеевым) соединениям; электромонтажу ЭРИ на печатную плату; окончательным операциям по обработке платы и испытаниям. В автоматическом режиме осуществляется подбор конкретных операций, пере¬ ходов, выбор обозначения документов, технологической оснастки, формирование технологических документов. В ходе диалога готовые тексты операций появляются на экране дисплея для ви¬ зуального контроля технологом, а по окончании работы с блоком весь сформиро¬ ванный фрагмент техпроцесса может быть вызван на экран для оперативной корректировки. Время проектирования одного техпроцесса составляет примерно 30—50 мин (без учета времени просмотра технологом нормативно-технической документа¬ ции). Во время диалога технолог отвечает примерно на 60—100 вопросов, количе¬ ство вопросов определяется конструктивными особенностями платы и техниче¬ скими требованиями к установке ЭРИ. Во время диалога пользователь может в любой момент прервать работу с последующим возобновлением, возвращаться к предыдущим вопросам диалога. После завершения диалога технологу предоставляется возможность откорректи¬ ровать полученный текст, из которого затем формируются технологические доку¬ менты на требуемых формах. Внесение изменений производится корректировкой полученного текста с перевыпуском всего техпроцесса, или корректировкой доку¬ мента, представленного на технологических формах, с перевыпуском только тех листов, в которых проведены изменения. Система находится в промышленной эксплуатации. В рамках системы создана база данных по ЭРИ и оснастке для сборки и монтажа печатных плат. Предусмот¬ рена связь с подсистемой проектирования карт формовки ЭРИ, подсистемой введе¬ ния архива техпроцессов и типовой технологической документации, системой проектирования штампов для формировки выводов микросхем. Система полностью открыта для модификаций и настройки на условия конкрет¬ ного предприятия. Адаптация системы заключается в основном в смене обозначе¬ ний ссылочных документов и оснастки, объединений части операций в типовые технологические операции. Опыт показывает, что для адаптации системы в про¬ мышленную эксплуатацию достаточно двух месяцев. АПр-4 -34 -
АВТОМАТИЗАЦИЯ ПРОЕКТИРОВАНИЯ И ИЗГОТОВЛЕНИЯ ТЕХНОЛОГИЧЕСКОГО ОСНАЩЕНИЯ Принципиальное значение для современного этапа структурной перестройки промышленности имеет развитие комплексных автоматизированных систем проек¬ тирования и изготовления средств технологического оснащения. Наличие такого класса систем обеспечивает конкурентоспособность и жизненность предприятия на длительную перспективу. Это главный фактор, который способствует повышению интереса специалистов и руководителей к разработкам в области САПР технологи¬ ческого оснащения. Учитывая это обстоятельство, упор был сделан на создание систем для сложного технологического оснащения, типа литейной оснастки (формы литья под давлени¬ ем, формы для изготовления деталей из порошков и т. д.), различных конструкций пресс-форм для изготовления деталей из пластмасс, штамповой оснастки, устано¬ вочно-зажимных приспособлений для станочного оборудования. Основу для авто¬ матизированного проектирования и изготовления технологического оснащения составляет информация об изготавливаемом изделии, включая геометрию, размер¬ ные характеристики, отклонение поверхностей, технические данные. Разработка автоматизированных методов основывается на четком структуриро¬ вании процессов проектирования, позволяющим выделить соответствующие функ¬ циональные блоки, например, размещения, установки и крепления технологиче¬ ской оснастки, узел центрирования, элементы системы формообразования, узел удаления изделий из зоны обработки и т. д. Ряд проектных задач является трудно формализуемым для математического моделирования и для их решения использовались эвристические методы, в частности диалоговый режим работы при обоснованном распределении функций между конструктором и вычислительными средствами. Работы в области автоматизации проектирования и изготовления технологиче¬ ского оснащения выполняются в несколько этапов. Первый этап реализуется на вычислительных комплексах, базирующихся на ПЭВМ типа IBM PC/AT с 286 процессором. Технические возможности указанного класса ЭВМ не позволяют реализовать на них функционально полные системы трехмерного геометрического моделирования. Это обстоятельство накладывает определенные ограничения на возможности создаваемых систем. В связи с этим проектирование формообразующих деталей оснащения, имеющих трехмерные по¬ верхности (формы литья под давлением, пресс-формы для литья под давлением термопластов), осуществляется традиционными методами или с помощью графиче¬ ских редакторов. Для оценки выполненных разработок первого этапа рассмотрим наиболее ха¬ рактерные разработки — это САПР пресс-форм для литья под давлением термо¬ пластов и САПР пробивных штампов. САПР ПРЕСС-ФОРМ ДЛЯ ЛИТЬЯ ПОД ДАВЛЕНИЕМ ТЕРМОПЛАСТОВ Система предназначена для получения конструкторской документации на ста¬ ционарные пресс-формы с одной горизонтальной плоскостью разъема с плитой вы¬ талкивателей или плитой сьема. Она ориентирована на применение более 20 типов литьевых машин отечественного и зарубежного изготовления. Проектирование ведется в диалоговом режиме на основе введенных конструкто¬ ром размеров рабочей зоны под формообразующую часть пресс-формы. При проектировании формообразующих деталей автоматизированы следующие процедуры: расчет исполнительных размеров и уклонов оформляющих деталей пресс-формы; проектирование гладких и резьбовых знаков; проектирование на¬ клонных колонок; проектирование выталкивателей. АПр-4 -35-
Затем в диалоге конструктор осуществляет: выбор марки литьевой машины; вы¬ бор системы охлаждения и определения габаритных размеров пресс-формы; выбор толщины плит; выбор и расположение центрирующих элементов; выбор и располо¬ жение крепежных элементов; расположение крепежных пазов в зависимости от марки литьевой машины; выбор и расположение отверстий под контртолкатели; выбор и расположение стоек в толкающей системе; выбор формы центрального тол¬ кателя и типа хвостовика; формирование направляющего узла. Результатом работы системы является комплект конструкторской документа¬ ции, включающий спецификацию, чертежи деталей пресс-формы, сборочный чер¬ теж. Конструктор после диалогового проектирования может доработать чертежи с помощью экранного графического редактора перед вычерчиванием их на графопо¬ строителе. Система может быть настроена на условия конкретного предприятия. Конструк¬ тивное исполнение пресс-форм может быть изменено, комплект чертежей до¬ полнен. САПР ПРОБИВНЫХ ШТАМПОВ Предназначена для ускорения выпуска конструкторской документации, улуч¬ шения ее качества, а также предоставляет возможности быстрого отслеживания изменений КД в условиях реального производства. Процесс проектирования и внесения изменений ведется конструктором-пользо¬ вателем в интерактивном режиме с визуализацией на графическом терминале всех промежуточных и конечных результатов. Выпуск комплекта документов осуществ¬ ляется с применением графопостроителей и печатающих устройств. Система реализована как автоматизированное рабочее место, предоставляющее конструктору пробивных штампов следующие возможности: сбор пользовательской информации о геометрических и технологических пара¬ метрах пробиваемой (вырубаемой) детали и сохранение ее; диалог с пользователем по принятию оптимального решения о типе и конструк¬ ции штампа; автоматическое проектирование комплекта КД на конкретный штамп и сохра¬ нение его; быстрый просмотр чертежей из комплекта КД на графическом терминале; выпуск конструкторской документации на устройствах отображения (плоттер, .принтер); отслеживание изменений в конструкции штампа в случае одноуровневого вне¬ сения изменений в информацию по детали с выпуском извещения; корректировка конечных чертежей КД с использованием графического редак¬ тора. В рамках работ первого этапа выполнены разработки в области автоматизации проектирования различных конструкций штампов (вырубных простого и совме¬ щенного действия, последовательного действия, гибочных); форм для изготовления деталей из порошков; форм литья под давлением; станочных приспособлений; раз¬ личных конструкций режущего и измерительного инструмента. Второй этап связан с освоением систем трехмерного геометрического моделиро¬ вания, мощных графических станций, типа SPARSC, оснащенных RISS-процессо- рами, и создание на их основе прикладных функциональных полных систем автоматизированного проектирования сложного технологического оснащения, включая проектирование формообразующих деталей. Кроме того, на этом этапе планируется осуществить освоение специализированных пакетов, реализующих АПр-4 -36-
анализ режима литья, что позволяет определить степень заполнения формы рас¬ плавом полимера, оптимизировать размеры питателей, сбалансировать литнико¬ вую систему, установить температурное поле отливки, предсказать возможность коробления отливки из-за неравномерного охлаждения и т. д. На третьем этапе работ предполагается реализовать интегрированную систему проектирования и изготовления сложного технологического оснащения с организа¬ цией передачи данных от проектировщиков до инструментального производства. В инструментальном производстве планируется внедрение современного техно¬ логического оборудования с программным управлением, обеспечивающим сущест¬ венное повышение качества, сокращение сроков изготовления оснастки. Рассмотренные выше автоматизированные системы технологического проекти¬ рования внедрены на машино- и приборостроительных предприятиях Министерст¬ ва атомной энергии России, а также на предприятиях авиационной, радио- и электротехнической промышленности. ЛИТЕРАТУРА 1. Громов Г. Р. Национальная информатизация ресурса//Проблемы промышленной эксплуатации. М.: Наука, 1985. 2. Цветков В. Д. Системно-структурное моделирование и автоматизация проектирования технологических процессов. Минск: Наука и техника, 1979. Статья поступила в редакцию в октябре 1993 г. УДК 681.3.06 ИНТЕГРАЦИЯ КОНСТРУИРОВАНИЯ ИЗДЕЛИЯ И СРЕДСТВА ЕЕ РЕАЛИЗАЦИИ Ю. В. Давыдов, канд. техн, наук Предложена модель информационного обмена на примере конструирования планера самолета. Выделена общая инвариантная часть работ, которые могут быть обеспечены базовыми программными средствами. Поставлены и определены задачи. Процесс проектирования, конструирования и изготовления сложных изделий в машиностроении состоит из ряда этапов, связанных между собой информацией различного назначения. Эта информация порождается внутри указанного процесса или поступает из внешних источников. В целях однозначности разграничения понятий с точки зрения генерации ин¬ формации условимся рассматривать проектирование как определение параметров изделия, обеспечивающих безусловное выполнение заданных технических требо¬ ваний. Конструирование — это определение параметров изделия, обеспечивающих наиболее близкое выполнение технических требований при заданных граничных условиях. При этом в качестве параметров изделия и граничных условий могут рассматриваться не только числовые, но и любые другие физические данные. При конструировании геометрическая модель изделия является информацией, состав¬ ляющей основу процесса. АПр-4 -37-
На всех этапах проектирования и конструирования геометрическая модель уточняется, детализируется и в окончательном виде представляет геометрическое описание как изделия в целом, так и его компонентов. При разработке автоматизи¬ рованных систем конструирования очень важно сохранять единую структуру данных геометрической модели, позволяющую существенно упростить процесс передачи информации от одного этапа разработки к другому, от одного пользовате¬ ля к другому. Использование в качестве средств накопления, управления и поиска информации систем управления базами данных позволяет организовать процесс комплексной обработки данных, т. е. обмениваться проектной и конструкторской документацией, хранящейся во внешней памяти ЭВМ, как между отдельными под¬ разделениями, так и между различными предприятиями. Последнее особенно важ¬ но для организации так называемой безбумажной технологии, позволяющей существенно сократить сроки передачи документации из опытных конструктор¬ ских бюро на серийные заводы и ускорить технологическую подготовку производ¬ ства изделий. АНАЛИЗ ТРАДИЦИОННОГО ПРОЦЕССА КОНСТРУИРОВАНИЯ Типовой процесс разработки любого изделия достаточно хорошо укладывается в схему, представленную в виде следующих основных этапов: определение потребно¬ сти; анализ требований и постановка задачи; синтез проектного решения; анализ проекта и оптимизация его параметров; оценка полученного решения и представ¬ ления результатов*. При этом этапы тесно связаны друг с другом не только за счет последовательной передачи данных, но и вследствие итерационного характера про¬ цессов синтеза и анализа решений. Работа по указанной схеме проводится над всем проектом в целом и над отдельными крупными элементами. В сложном машиностроении весь процесс от выявления технических требований до создания опытного образца функционально делится на следующие основные эта¬ пы: техническое предложение, эскизный проект, рабочий проект, технологическая подготовка производства и изготовление. Эта весьма упрощенная схема не учитывает многих процессов (макетирование, модельные испытания, испытания отдельных узлов и т. п.), происходящих парал¬ лельно и влияющих на окончательный результат. Модель информационного обмена можно представить следующим образом на примере конструирования планера самолета. Процесс начинается на стадии компоновки, когда размещаются основные агре¬ гаты самолета, выявляются все компонуемые объемы, определяется центровка са¬ молета и формируется схема разбивки основных силовых элементов. Далее (рис. 1) следуют этапы геометрического моделирования, проектировочных расчетов, конст¬ руирования с выпуском документации, подготовки производства и изготовления изделия. При традиционном плазово-шаблонном методе производства результатом гео¬ метрического моделирования являлись теоретические плазы внешних и внутрен¬ них обводов самолета, используемые в качестве основных носителей и источников геометрической информации. Использование математического моделирования гео¬ метрии внешних обводов, существенно сократив сроки и повысив точность изготов¬ ления теоретических плазов, не позволило исключить их в связи с отсутствием у конструкторов интерактивных средств общения с геометрической моделью. Изго¬ товленные в автоматизированном режиме с использованием графопостроителей теоретические плазы служили только основой для изготовления вручную всей кон- Грувер М., Зиммере Э. САПР и автоматизация производства. М.: Мир, 1987. АПр-4 -38-
Рис. 1. Схема процесса проектирования и производ ства изделия структорской документации, обмен которой осуществлялся традиционно через со¬ ответствующие архивы. ОСНОВНЫЕ СРЕДСТВА ИНТЕГРАЦИИ ПРОЦЕССА КОНСТРУИРОВАНИЯ Анализ функционального состава автоматизированных систем проектирования и конструирования в машиностроении позволяет выделить общую инвариантную часть работ, которые могут быть обеспечены базовыми программными средствами. В качестве инвариантных задач можно выделить следующие: геометрическое моделирование объектов сложной формы с возможностью их па¬ раметризации; построение двух- и трехмерных сборок с сохранением параметризации деталей и взаимосвязей сборочных единиц; построение графических изображений и их вывод на соответствующие устройст¬ ва отображения (графические дисплеи, графопостроители); подготовка геометрической информации в виде конечных элементов для прове¬ дения расчетных работ; АПр-4 -39-
подготовка геометрической информации для формирования управляющих про¬ грамм для оборудования с числовым программным управлением (ЧПУ); оформление конструкторской документации (КД) в соответствии с принятыми стандартами; подключение пакетов прикладных программ для проведения проблемно- и объ¬ ектно-ориентированных расчетов; формирование необходимых баз данных, нормативно-справочной документации и архивов КД на машинных носителях; организация процесса ведения проекта, отслеживание его изменений и инфор¬ мирование участников разработки. В соответствии с поставленными задачами базовые средства в обязательном по¬ рядке должны включать в себя следующие основные компоненты: систему геомет¬ рического моделирования (СГМ), набор интерфейсов к другим системам геометрического моделирования и прикладным программам, средства организации библиотеки пакетов прикладных программ (БППП) и систему управления проек¬ том. Предлагаемые на рынке современные системы геометрического моделирования включают в себя средства, необходимые для выполнения, перечисленные в первых четырех пунктах. При этом пользователь может обращаться с СГМ в одном из сле¬ дующих режимов: диалоговый с использованием меню, отображаемого на экране графического или алфавитно-цифрового дисплея (АЦД) и вводом геометрической информации с экрана графического дисплея (ГД); диалоговый с использованием функционального планшета и экрана ГД; пакетный с описанием геометрических и графических объектов на графическом языке. Особенностью СГМ является то, что объект, созданный средствами графическо¬ го языка, хранится в геометрической базе данных (ГБД) и является доступным для работы с ним в интерактивном режиме. Проведение технических расчетов в целях оценки статистической и динамиче¬ ской прочности конструкции осуществляется благодаря включению в БППП соот¬ ветствующих проблемно-ориентированных пакетов программ и систем. Их связь с геометрической моделью обеспечивается с помощью конечно-элементной модели изделия через интерфейсы. Накопление, хранение и управление информацией в силу ее разнородности по типам и структурам обеспечивается рядом СУБД различного типа (реляционными, сетевыми и т. п.). Система управления проектом позволяет организовать сам процесс конструиро¬ вания в соответствии с информационной моделью изделия. При этом она обеспечи¬ вает коллектив конструкторов средствами накопления, согласования и потребления проектной информации в процессе конструирования, осуществляемо¬ го на различных средствах вычислительной техники, объединенных в сеть ЭВМ. АВТОМАТИЗАЦИЯ КОНСТРУИРОВАНИЯ ПЛАНЕРА САМОЛЕТА Средства геометрического моделирования позволяют в интерактивном режиме создавать геометрические модели компонуемых агрегатов, размещать их в трех¬ мерном пространстве, используя средства “буксировки” с визуальным контролем на экране дисплея или задавая точные значения координат привязки. При этом ис¬ пользование средств организации базы данных и прикладных расчетных программ позволяет автоматизировать расчет центровки и массово-инерционных характери¬ стик самолета. Полученная компоновочная схема, хранящаяся в геометрической АПр-4 -40-
базе данных, вместе с основными очерковыми линиями и характерными сечениями агрегатов самолета используется в качестве исходной информации для формирова¬ ния геометрической модели. Функциональная схема передачи информации на этапе геометрического моде¬ лирования представлена на рис. 2. Каркасная модель поверхности агрегата самоле¬ та может быть создана как стандартными средствами СГМ, так и с помощью Рис. 2. Схема передачи геометрических данных о поверхности самолета специализированной СГМ, включенной в библиотеку пакетов прикладных про¬ грамм. Такой подход позволяет наряду с СГМ использовать ранее созданные другие системы геометрического моделирования, применяемые для изделий, уже находя¬ щихся в производстве или на стадии конструирования, а также в тех случаях, когда базовые средства геометрического моделирования оказываются менее эффектив¬ ными для решения тех или иных задач. На основе базовой модели поверхности (БМП) (рис. 3) формируется исходная информация для проведения газодинамических, тепловых и прочностных проекти¬ ровочных расчетов с использованием метода конечных элементов. БМП исполь¬ зуется также для изготовления моделей, обеспечивающих проведение аэродинамических испытаний на ранних этапах проектирования. В качестве основной геометрической модели агрегатов самолета при конструи¬ ровании используется технологическая модель поверхности (ТМП), полученная путем переразбиения БМП в соответствии со схемой технологического членения (рис. 4). На основании ТМП и схемы размещения силовых элементов: шпангоутов, лон¬ жеронов, балок, нервюр в процессе проектирования конструкции планера форми¬ руются конечноэлементные модели агрегатов и узлов путем генерации регулярных АПр-4 -41
Рис. 3. Базовая модель поверхности самолета АПр-4 42-
Рис. 4. Технологическая модель поверхности самолета АПр-4 43
сеток в автоматическом режиме. Нерегулярные сетки создаются в автоматизиро¬ ванном режиме с использованием интерактивных графических средств. Для определения нагрузок на элементы конструкции и расчетов напряженно де¬ формированного состояния используются пакеты, включенные в состав БППП. При этом файлы исходных данных — геометрия и топология сеток — преобразуют¬ ся путем их конвертирования в структуры, соответствующие используемым при¬ кладным расчетным программам, а обмен информацией осуществляется через ло¬ кальные базы данных и через общую базу данных проекта. На основании этих расчетов определяются основные геометрические характеристики силовых элемен¬ тов конструкции и проводится их синтез. Таким образом происходит накопление в базе данных информации, необходимой для последующих процессов конструирова¬ ния. Конструирование типовых элементов конструкции, поддающихся широкой параметризации, осуществляется с использованием описаний типовых конструк¬ тивных решений, созданных на графическом языке, а также функциональных планшетов, облегчающих работу конструктора и существенно повышающих произ¬ водительность труда. Конструирование уникальных силовых элементов ведется в основном в инте¬ рактивном режиме с максимальным использованием возможностей трехмерной графики для моделирования сложных пространственных конфигураций и решения возникающих геометрических задач. Созданные геометрические модели записываются в базу данных проекта вместе с необходимой дополнительной информацией и могут быть извлечены для решения задач технологической подготовки производства и формирования управляющих программ для станков с ЧПУ. Проектирование и конструирование сложных машиностроительных изделий включают ряд итерационных циклов обработки и обмена большим количеством данных между различными подразделениями проектных организаций. Процесс разработки конструкции проходит различные стадии от начальной концепции до детального анализа окончательной конфигурации. Использование автоматизиро¬ ванных средств позволяет на ранних этапах просмотреть много вариантов решения для выбора окончательной конфигурации. При этом на каждом этапе необходимо исследовать за короткое время большое количество параметров. Решение такой за¬ дачи невозможно без использования мощных средств автоматизации всех процес¬ сов, организованных в единой операционной среде и на основе единой структуры данных. Примерами такого программного обеспечения, дающего возможность использо¬ вания интерактивных режимов программирования и геометрического моделирова¬ ния с организацией обмена большим количеством информации могут служить системы UNIGRAPHICS, CADDS, I-DEAS, EUCLID-IS, САТ1Аиряд других сис¬ тем на базе современных рабочих станций, таких фирм как SUN, Hewlett-Packard, Silicongraphic, DEC, IBM. Однако выбор конкретных программных и технических средств следует произ¬ водить только на основе глубокого анализа возможностей их использования при организации сквозных интегрированных процессов путем опытной эксплуатации в условиях реального проектирования и производства. Статья поступила в редакцию в сентябре 1993 г. АПр-4 -44-
БАЗОВОЕ И ПРИКЛАДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ САПР УДК 681.3.06 СИСТЕМА ГЕОМЕТРИЧЕСКОГО МОДЕЛИРОВАНИЯ КРЕДО/WIN В, П. Львов, д-р техн, наук; В. А. Злыгарев; А. Э. Левин; П. А. Сермягин На примере системы геометрического моделирования КРЕДО/Win рассмотрен подход к построению многофункциональной интегрированной САПР в среде MS Windows для персональных компьютеров. В связи с развитием возможностей персональных компьютеров и появлением новых оконных операционных систем и оболочек, таких как MS Windows NT и MS Windows, возникли совершенно новые средства для разработки и использования интегрированных программных комплексов [1,2]. В Научно-исследовательском центре автоматизированных систем конструиро¬ вания разрабатывается система геометрического моделирования КРЕДО/Win для персональных компьютеров типа РС/АТ-386 с использованием графической обо¬ лочки MS Windows 3.1. Данный программный комплекс, как и его прототип КРЕДО [3, 4], предназна¬ чен для автоматизации процесса конструирования и подготовки производства изде¬ лий машиностроения, а также для разработки проблемно-ориентированных прикладных систем в области геометрического моделирования, конструирования и подготовки производства для различных отраслей промышленности. Система строится по модульному принципу, легко настраивается для решения конкретных задач, обладает современным оконным интерфейсом и содержит биб¬ лиотеку базовых средств построения геометрических примитивов и операций над ними в трехмерном пространстве. Она способна наращивать производительность при увеличении ресурсов персональных копьютеров или при переходе на более мощные процессоры, а также за счет подключения новых функциональных модулей. Система геометрического моделирования КРЕДО/Win автоматизирует следую¬ щие работы: создание каркасной, поверхностной геометрической модели изделия или дета¬ ли, обеспечивающей получение на экране монитора или графопостроителе изобра¬ жений внешнего вида изделия, его сечений или проекций на координатные плоскости; проведение численного анализа геометрической модели, т. е. получение гео¬ метрических характеристик как отдельных элементов, так и модели в целом; создание машиностроительного чертежа на базе построенной геометрической модели; моделирование процессов механической обработки изделия и его компонентов на оборудовании с числовым программным управлением (сверлильная и токарная АПр-4 -45-
обработка, плазменная резка, 3- и 5-координатное фрезерование с использованием режущего инструмента заданной геометрии); обмен информацией с базами данных различного назначения; обмен информацией с другими программными комплексами, поддерживающи¬ ми стандартный интерфейс. СТРУКТУРА СИСТЕМЫ Система КРЕДО/Win функционально состоит из следующих подсистем: пространственное каркасное моделирование; объемное моделирование; оформление конструкторской документации; подготовка процессов механической обработки. Каждая из подсистем функционирует автономно от других. Вместе с тем, все они используют единые функции хранения и отображения геометрической инфор¬ мации, функции диалога и др. Поэтому структурно система включает в себя ядро и набор независимых функциональных модулей, использующих механизм динами¬ чески загружаемых библиотек MS Windows (DLL). Структурная схема системы приведена на рис. 1. Рис. 1. Структурная схема СГМ КРЕДО/Win АПр-4 -46-
Ядро системы объединяет общие для всех подсистем функции, в состав которых входят: управление модулями системы; организация диалогового интерфейса с пользователями; работа с объектами различных типов; отображение геометрической информации, работа с видами и масштабирование; аффинные преобразования, обрезка, работа с группами, атрибутами объектов и параметрами системы; работа с файлами; подключение встроенного графического языка; подключение прикладных систем пользователя. Такая структура КРЕДО/Win обеспечивает простую конфигурацию системы по требованию пользователя, независимую разработку и отладку функциональных модулей, возможностей создания и подключения прикладных подсистем пользова¬ теля, экономию ресурсов персонального компьютера. ГЕОМЕТРИЧЕСКАЯ БАЗА ДАННЫХ База данных КРЕДО/Win обеспечивает хранение, структурирование и управле¬ ние информацией об объектах, из которых строятся чертежи, геометрические моде¬ ли изделий и модели процессов их механической обработки. Кроме того, база данных позволяет пользователю создавать и применять стандартные заготовки и инструментальные средства для автоматизации процессов разработки прикладных геометрических моделей. ДИАЛОГОВЫЙ МОНИТОР Внешний вид системы разработан в соответствии со стандартными требования¬ ми, предъявляемыми к программным продуктам, работающим в среде MS Windows с использованием многооконного интерфейса (рис. 2). Управление системой осуществляется мышью с использованием меню, сообще¬ ний, запросов, директив, списков данных, сопровождающихся легко доступной справочной информацией, поясняющей смысл выполняемой операции и характер запрашиваемой у пользователя информации. В верхней части главного окна находится постоянно присутствующая строка ос¬ новного меню системы, содержащего базовые функции: работа с файлами, управление окнами, настройка системы, операции над объектами, выбор подсистем, ввод/вывод, помощь. При выполнении некоторых операций строковое меню может меняться для упрощения настройки текущей операции. Так, например, специальное строковое меню появляется при выборе объектов, что позволяет в момент выбора одновремен¬ но менять настройку и способ выбора. В окне чертежа располагается иерархическое меню, структура которого зависит от активной подсистемы. В нижней части экрана постоянно отображается информация о текущем состоя¬ нии системы. АПр-4 -47-
На экране по желанию пользователя может присутствовать экранный планшет включающий в себя до 100 программируемых функциональных кнопок. Стандарт ная компоновка экранного планшета показана в левой части рис. 2. Каждой кнопке Файл Чертеж Настройка Операции Приложения ЕЗвод/вывол Рис. 2. Вариант главного окна системы КРЕДО/Win с двумя чертежами экранного планшета соответствует последовательность команд системы, которая создается пользователем в текстовом редакторе и хранится в динамических библи¬ отеках MS Windows (DLL). Экранный планшет позволяет более удобно и оперативно управлять работой системы и настраивать ее на конкретную предметную область. Допускается одно¬ временное использование нескольких компоновок планшета с возможностью быст¬ рого переключения между ними. Функции настройки и просмотра параметров системы объединены в единые сис¬ темные панели настроек, в которых удобно редактировать текущие значения пара¬ метров. Пример окна настройки параметров приведен на рис. 3. В КРЕДО/Win включена развернутая система подсказок, позволяющая в от¬ дельном окне получить информацию по работе с системой в целом, по текущей операции, осуществить поиск необходимого понятия или функции (рис. 4). АПр-4 -48 -
КРЕДО - JNoNameOO>pep] Высота шрифта Геом$тричес*ие параметры » КС ттмяз Г Масштаб Символов Размеров Набор символов Подавление нулей << Открыть Отображение размера Число знаков Толщина линий Рассчитывать / нет Наклон шрифта Без наклона / курсив Тип дробной черты © Наклонная Высота индексов Способ выделения надписи ® Не выделяется Рис. 3. Пример настройки чертежных параметров КРЕДО/Win © Стандартная: 5.0 О По выбору кГоО ©На размер меньше О Равна высоте шрифта О Г оризонтальная О' Прямоугольник О Подчеркивание I Cancel i Рис. 4. Пример окна справочной подсистемы АПр-4 -49-
ГРАФИЧЕСКИЙ ПРОЦЕССОР Обеспечивает построение изображения всех геометрических и иных графиче¬ ских элементов модели изделия на экране монитора ПЭВМ или на графопостроите¬ ле в различных системах координат (видах) и в требуемом пользователю масштабе. Функции отображения включают: изменение цвета элемента на экране мони¬ тора, задание типа и толщины линии, гашение и восстановление изображения от¬ дельных элементов или групп элементов без их удаления из базы данных. Функции управления изображением включают: автоматическое построение проекций геометрической модели или ее отдельных элементов во всех стандартных или дополнительных видах системы, одновременное изображение нескольких видов. МОДУЛЬ КАРКАСНОГО МОДЕЛИРОВАНИЯ Данный модуль обеспечивает широкий набор средств для создания, модифика¬ ции и преобразования каркасной геометрической модели в геометрической базе данных, средства для численного анализа кривых и плоских областей. МОДУЛЬ ОБЪЕМНОГО МОДЕЛИРОВАНИЯ Процессор объемного моделирования обеспечивает набор средств пользователя для создания, модификации и преобразования поверхностной объемной геометри¬ ческой модели в базе данных системы. Функции анализа геометрической модели позволяют выполнять следующие расчетные операции по построенной геометрической модели изделия или ее отдель¬ ным элементам: вычисление массово-инерционных характеристик объемов, ограниченных ци¬ линдрической поверхностью или поверхностью вращения; вычисление массово-инерционных характеристик объемов, ограниченных пло¬ скостью и произвольной поверхностью; табличный расчет объема под поверхностью по заданной сетке координат; вычисление массово-инерционных характеристик произвольных тел, а также комбинаций различных объемных элементов. МОДУЛЬ ОФРМЛЕНИЯ ЧЕРТЕЖА КРЕДО/Win обеспечивает оформление созданной геометрической модели в виде чертежа с простановкой в соответствии с ЕСКД размеров, надписей, условных обозначений, штриховки с заданием различных материалов, осевых линий и выносных элементов, а также сохранение информации из штампа чертежа во внешней базе данных. ПОДСИСТЕМА ЧПУ Система обеспечивает моделирование процессов механической обработки изде¬ лия по построенной геометрической модели и получение управляющих программ для оборудования с ЧПУ. Подсистема ЧПУ обладает следующими возможностями: настройка технологических параметров для генерации траекторий; АПр-4 -50“
задание, модификация, сохранение и удаление инструментов различных типов; формирование траекторий обработки для операций сверления, токарной обра¬ ботки и фрезерования; генерация траекторий для 2,5-координатного фрезерования профиля, колодца, фланца; генерация траекторий для фрезерования сегмента поверхности в режиме 3- и 5-координатной обработки; отображение и редактирование сгенерированных траекторий; формирование выходного файла в различных форматах. ПРИКЛАДНОЙ ПРОГРАММНЫЙ ИНТЕРФЕЙС Данный модуль обеспечивает возможность создания прикладных подсистем пользователя с использованием встроенного графического языка и языков высокого уровня (Си, Паскаль и др.). С помощью встроенной интерактивной среды пользователь может разрабаты¬ вать программы на графическом языке высокого уровня. Возможности языка позволяют программировать диалог с пользователем, создание и отрисовку различ¬ ных объектов, выбор на экране и получение геометрической информации о выбран¬ ных объектах и т. д. Встроенный отладчик графического языка предоставляет широкие возможности для отладки программ. Более подробная информация дана в наст, сб., с. 52. Другим средством разработки прикладных систем является специальная библи¬ отека внешних функций. На ее основе пользователь может создавать свои приклад¬ ные модули (динамические библиотеки) на языках высокого уровня и подключать их стандартным образом к системе. Вызов подсистем пользователя осуществляется из главного меню системы КРЕДО/Win. Таким образом, модуль прикладного про¬ граммного интерфейса реализует систематический способ расширения и дополне¬ ния СГМ КРЕДО/Win. Реализация системы геометрического моделирования КРЕДО/Win в высокораз¬ витой среде MS Windows на персональных компьютерах предоставляет конструкто¬ ру и программисту удобную и эффективную операционную обстановку и открывает большие перспективы для создания на ее базе интегрированных САПР и сквозных систем автоматизированной подготовки производства. 1. Гладков С. А., Фролов Г. В. Программирование в Microsoft Windows. — M.: Диалог — МИФИ, 1992. 2. Petzold С. Programming Windows. — Microsoft Press: Washington, 1990. 3. Шубин M. Б.,Левин А. Э., Сермягин П. А. Система геометрического моделирования КРЕДО// Материалы конференции INFO-89. — Минск, 1989. 4. Б ы к о в А. В. Конструкторские системы — российский вариант. — Мир ПК, 1993, № 4, с. 52—60. Статья поступила в редакцию в августе 1993 г. АПр-4 -51 -
УДК 681.3.06 ИНТЕГРИРОВАННАЯ СРЕДА ИНТЕРАКТИВНОГО ГРАФИЧЕСКОГО ЯЗЫКА ДЛЯ РАЗРАБОТКИ ПРИКЛАДНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ САПР В. П. Львов, д-р техн, наук; В. Е. Зайцев, канд. физ.-мат. наук; С. С. Крылов Дано описание интегрированной среды Графического Языка, состоящей из многооконного редактора, интерпретатора и отладчика, предназначенной для эффективной разработки прикладного программного обеспечения САПР КРЕДО/Win и функционирующей в среде MS Windows 3.1 Практически все современные САПР предоставляют пользователю возможность создавать собственное прикладное программное обеспечение на различных языках высокого уровня, часто являющихся специализированными языками конкретных систем. Например, для AutoCAD таким языком является AutoLISP, для ANVIL — GRAPL, для системы CADKEY — CADL. Широкое применение прикладных программ и программных комплексов при использовании САПР обусловлено необходимостью проектирования деталей одной и той же конфигурации с различными пространственными параметрами, потребно¬ стью в проведении математических расчетов в процессе конструирования, стремле¬ нием освободить конструктора от выполнения рутинных операций и, в конечном счете, повысить производительность его труда. С помощью прикладных программ¬ ных интерфейсов решается важная задача настройки САПР на конкретную пред¬ метную область. Качество, надежность и быстрота разработки прикладного программного обеспечения во многом зависит от инструментальных средств, предо¬ ставляемых САПР разработчику прикладного ПО. Следует отметить, что подавля¬ ющее большинство САПР, включая перечисленные выше, не обеспечивают прикладному программисту комфортную интегрированную систему программиро¬ вания типа Microsoft QuickC или Borland C/C++, предлагая, в лучшем случае, набор отдельных компонент (редактор, транслятор, отладчик). В данной статье описывается интегрированная среда, позволяющая создавать и применять прикладное ПО на Графическом Языке (ГЯ) Системы Геометрического Моделирования (СГМ) КРЕДО/Win [1, 2], применяемой для решения задач авто¬ матизации конструирования и технологической подготовки производства в маши¬ ностроении. Для разработки проблемно-ориентированного ПО в СГМ КРЕДО/Win предус¬ мотрен интерактивный ГЯ, который представляет собой интерпретируемый язык, сходный по синтаксису с языками GRAPL и APT. Наряду со средствами определе¬ ния и использования геометрических объектов, язык обладает общими для большинства алгоритмических языков возможностями: имеется оператор присваи¬ вания, итерация, условные операторы, индексированные переменные, метки, сред¬ ства ввода/вывода и т. п. В ГЯ можно выделить следующие группы операторов: операторы управления ходом выполнения программы (GO ТО, STOP, IF, CALL ит. д.); фортраноподобный арифметический оператор присваивания; операторы определения геометрических объектов (2D и 3D геометрия); операторы определения объектов оформления чертежа; операторы настройки параметров системы (цвет, тип линии и т. д.); операторы интерактивного взаимодействия с пользователем (указание позиций на экране, выбор пунктов меню, выбор объекта и т. п.); АПр-4 -52-
операторы файлового ввода-вывода; декларативные операторы (объявление массивов и т. п.); операторы модификации объектов (гашение, удаление, перенос и т. п.); специальные и сервисные операторы (генерация плоттерного файла, сохранение и переименование геометрической модели и т. п.). Графический язык не требует большой подготовки в области программирования (достаточно знания Фортрана или Бейсика), что делает его доступным для конст¬ рукторов-машиностроителей. Например, фрагмент программы на ГЯ построения прямой, точки и перпендикуляра к прямой, проходящего через эту точку, выглядит следующим образом: LIN1 = LINE/10, VARl*COS(Alfa),99, Yend + 40 PT = POINT/50,60 LIN2 = LINE/PT, PERPTO, LIN1. ОБЩАЯ ХАРАКТЕРИСТИКА ИС ГЯ ИС ГЯ предназначена для эффективной разработки и обеспечения функциони¬ рования прикладного программного обеспечения на ГЯ. Основными компонентами ИС ГЯ являются: многооконный редактор программ на ГЯ; исполняющая часть (интерпретатор ГЯ); символьный отладчик. Редактор ИС ГЯ обеспечивает многооконное редактирование текстов программ, выполняет загрузку и сохранение файлов с текстами программ в ИС ГЯ, открытие, закрытие и другие операции с окнами ИС ГЯ, поддерживает стандартный для Windows механизм обмена данными с другими приложениями ( clipboard ). На рис. 1 представлен полный набор функций редактора ИС ГЯ. Редактор является базовой компонентой ИС ГЯ в том смысле, что исполняющую часть и отладчик можно рассматривать как расширения редактора. Рис. 1. Функции редактора ИС ГЯ Исполняющая часть ИС ГЯ обеспечивает проверку синтаксиса и выполнение программ на ГЯ в режиме интерпретации с синхронной визуализацией результатов выполнения операторов ГЯ, выдачу при необходимости диагностических сообще¬ ний об ошибках в понятной для пользователя форме. Выполнение программ на ГЯ осуществляется без выхода из редактора. АПр-4 -53-
Символьный отладчик ИС ГЯ позволяет осуществлять пошаговое выполнение головной программы и подпрограмм на ГЯ, установку точек прерывания в головной программе и подпрограммах, отмену пошагового выполнения, просмотр и измене¬ ние текущих значений текстовых и численных переменных, передача управления на указанную инструкцию в пределах одного модуля. Отладка программ на ГЯ также осуществляется без выхода из редактора. На рис. 2 представлен набор функций исполняющей части и отладчика ИС ГЯ. Рис. 2. Функции отладчика и интерпретатора ИС ГЯ ИС ГЯ взаимодействует с СГМ КРЕДО/Win путем динамического вызова функ¬ ций ядра СГМ КРЕДО/Win, посредством соответствующих модулей специальной библиотеки SYSLIN. DLL, содержащей процедуры низкого уровня, непосредствен¬ но работающие с ядром СГМ КРЕДО/Win. Выделение процедур низкого уровня в отдельную библиотеку обеспечивает мобильность ИС ГЯ, т. е. возможность ее ис¬ пользования с небольшими изменениями для других САПР, реализованных в виде Windows-приложений и имеющих CALL-интерфейс. Библиотека SYSLIN.DLL так¬ же может быть использована для организации CALL-интерфейса СГМ КРЕДО/Win с широко распространенными языками высокого уровня (Си, Pascal, Fortran). Для взаимодействия ИС ГЯ и СГМ КРЕДО/Win используется также принятый в MS Windows механизм обмена сообщениями (рис. 3). Рис. 3. Взаимодействие пользователя с СГМ КРЕДО/Win АПр-4 -54-
ФУНКЦИОНИРОВАНИЕ ИС ГЯ Пользовательский интерфейс ИС ГЯ представляет собой многооконный графи¬ ческий интерфейс, организованный с помощью стандартных средств MS Windows: меню, окна диалога ит. п., что облегчает освоение и использование ИС ГЯ. Так, например, редактор ИС ГЯ построен на основе окна стандартного класса MS Windows “edit”, и его использование не должно вызывать затруднений у пользова¬ теля, имеющего опыт работы хотя бы с одним редактором Windows и с каким-либо многооконным приложением Windows. Управление отладчиком ИС ГЯ осуществляется, главным образом, при помощи функциональной клавиатуры. Отладчик и исполняющая система вызываются из редактора при выборе пользователем соответствующих пунктов меню. Предусмот¬ рена также возможность вызова программы на ГЯ из СГМ КРЕДО/Win, минуя редактор ИС ГЯ. Как уже отмечалось выше, исполняющая часть ИС ГЯ обеспечивает синхрон¬ ную визуализацию результатов выполнения операторов (а отладчик — также и визуализацию строки текущего оператора), что упрощает проблему отладки про¬ грамм на ГЯ. В процессе отладки пользователь имеет возможность диалоговой ра¬ боты с СГМ КРЕДО/Win с последующим возвратом к выполнению текущего оператора программы на ГЯ. Операторы ведения диалога, реализованные в ИС ГЯ, позволяют пользователю указывать позицию на экране, выбирать пункты программно-сформированного меню, отвечать на программно-сформированные односложные вопросы, вводить значения числовых и символьных переменных, выбирать объекты заданных типов. Операторы настройки параметров системы позволяют задавать текущие значе¬ ния цвета, типа и толщины линии, номера пера, уровня, глубины и т. п. с синхрон¬ ным отображением новых значений в строке состояния СГМ КРЕДО/Win. Операторы модификации объектов позволяют удалять, переименовывать, га¬ сить и отображать объекты. Операторы определения геометрических объектов позволяют строить различны¬ ми способами точки, прямые, дуги, 20-сплайны. Операторы управления ходом выполнения программы представлены конструк¬ цией IF-THEN-ENIF; циклом FOR-EOFI; вычислимым и обычным GO ТО; опера¬ торами вызова подпрограммы и возврата из нее; а также оператором STOP. На рис. 4 приведен пример окна ИС ГЯ на экране СГМ КРЕДО/Win. В ИС ГЯ поддерживаются следующие типы переменных: скалярные числовые; индексированные числовые (массивы); скалярные текстовые. ИС ГЯ допускает динамическое выделение памяти как под массивы, так и под скалярные переменные, что уменьшает требования к объему памяти. Предусмотре¬ ны три класса переменных: LOCAL — переменные доступны только в том модуле, в котором они описаны. По умолчанию переменные относятся к классу LOCAL: GLOBAL — переменные доступны во всех модулях, где они описаны как GLOBAL; SYSTEM — переменные этого класса доступны в любом программном модуле на ГЯ, в программах пользователей на других языках высокого уровня, из интерак¬ тивного режима СГМ КРЕДО/Win. Физически переменные класса SYSTEM хра¬ нятся в геометрической базе данных текущей модели и записываются на диск вместе с ней. Их значения доступны от сеанса к сеансу, но время доступа к ним АПр-4 -55 -
KRFDO - - [e^nrft\dil\FUZ.PCP} ' ] * I * - - s < Л'/ ? ч ,, ; A ' X * / X X iu rtl 117 хП J I 1JTL.1 I 1 & j и ж ж A:\SELECTD.GRA H * ДМ SIZE PTR(10) SELE LEVE COLO PT=P I $$** $$ $$** ДД-Д ДХХАД-Д ДД-Д-Д Д ДАДДА Д Д ДАДДА ДА Д Д ДДДД АА-ХДААДАДА А А АДДД А А АД ЖЖДА ДА * RAMKA.GRA* А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А А Ж-Д A A A A A A A A A A A A л. jsize Lwt&scLm.mMTm $$ А Ж А А А А А А Д Д А А А А А А Д Д Д А Ж Ж~А А Д А'Д A~A А А А А А Ж А А Д~Д Ж ЖЖ'Ж'Ж'Д A A A A A A A A A A A A A A A MENU/’Qopmqt'/AI *А2*АЗ*А4*А5*Размер в mm’JSW,STAT IF(STAT.EQ.O) GO TO 77 II- а ‘U |. Рис. 4. Пример окна ИС ГЯ на экране СГМ КРЕДО/Win больше, чем к LOCAL- и GLOBAL-переменным. Область действия описателей LOCAL, GLOBAL и SYSTEM ограничена одним модулем. Переменные классов GLOBAL и SYSTEM могут быть использованы для связи между подпрограммами на ГЯ. ИС ГЯ предоставляет пользователю возможность доступа к геометрическим объектам СГМ КРЕДО/Win, определенным без использования ИС ГЯ. В свою оче¬ редь, объекты и переменные класса SYSTEM ИС ГЯ доступны в СГМ КРЕДО/Win без каких-либо ограничений. ИС ГЯ, как правило, обеспечивает возможность использования арифметическо¬ го выражения там, где требуется числовое значение и текстовой переменной там, где требуется текстовое значение. ОСОБЕННОСТИ РЕАЛИЗАЦИИ ИС ГЯ ИС ГЯ реализована на языке Microsoft С в среде MS Windows 3.1 [3, 4 ]. ИС ГЯ не использует ресурсы КРЕДО/Win, а КРЕДО/Win не использует ресурсы ИС ГЯ. Это сделано в целях облегчения разработки и сопровождения как КРЕДО, так и ИСГЯ. ИС ГЯ реализована в форме двух динамически загружаемых библиотек. Библи¬ отека GRAPL.DLL содержит процедуры, обеспечивающие работу редактора, отлад¬ чика и исполняющей части ИС ГЯ и экспортирует только одну процедуру, используемую СГМ КРЕДО/Win, — процедуру инициализации работы ИС ГЯ. После инициализации управление ИС ГЯ осуществляется сообщениями Windows. АПр-4 -56-
Назначение библиотеки SYSLIN.DLL описано выше» Построение ИС ГЯ в виде динамически загружаемых библиотек соответствует общим принципам реализации СГМ КРЕДО/Win и создания приложений Windows. Такой подход обеспечивает экономию памяти, облегчает задачу разработки, компоновки и сопровождения сис¬ темы. Многооконность ИС ГЯ обеспечивается построением редактора ИС ГЯ как мно¬ гооконного интерфейса (MDI) с помощью стандартного средства Windows — класса “mdiclient” [3, 4]. Выбор MDI в качестве средства обеспечения многооконное™ обусловлен тем, что создать многооконный интерфейс гораздо проще, чем органи¬ зовывать обмен данными между различными приложениями (копиями одного и того же приложения). Редактор ИС ГЯ реализован на основе стандартного класса Windows “edit”. Одним из недостатков класса “edit” является ограничение объема редактируемого текста 32 Кбайт, что впоследствии может быть устранено путем расширения клас¬ са “edit” функциями, реализующими свопинг страниц текста. Заметим, что 32 Кбайта соответствуют примерно 1000 строкам на ГЯ, что вполне достаточно для большинства пользователей КРЕДО/Win, учитывая возможность использования практически неограниченного числа подпрограмм. Разбор исходного текста программ на ГЯ осуществляется простейшим конечным автоматом и заключается в выделении лексем и распознавании их типа (метка, ко¬ нец строки, целое число и т. д.). Распознавание операторов ГЯ осуществляется на основе анализа ключевых слов, расположенных, в соответствии с синтаксисом ГЯ, в определенном порядке. Вычисление арифметических выражений осуществляется на основе рекурсивно¬ го алгоритма. Таблица переменных организована в виде динамически расширяемого набора записей, состоящих из двух полей: одно поле хранит имя переменной, другое — значение (для чисел) или указатель на текстовую строку. Числовые значения хра¬ нятся в полях типа float языка Си. Для удобства обработки ошибочных ситуаций используются функции SDK setjmp и longjmp, позволяющие зафиксировать состояние программы и вернуться к нему впоследствии из любого места программы с передачей кода возврата. Отладчик ИС ГЯ реализован на базе редактора и исполняющей части ИС ГЯ. Для обеспечения возможности использования функциональных клавиш при управ¬ лении отладчиком написана процедура, “снимающая” стандартную функцию об¬ работки сообщений, поступающих редактору, которая “перехватывает” сообщения функциональной клавиатуры, а также сообщение WM_PAINT, поступающее при необходимости перерисовки окна редактора. ПЕРСПЕКТИВЫ РАЗВИТИЯ ИС ГЯ В настоящее время ведутся работы по расширению подмножества реализован¬ ных операторов ГЯ. Планируется включить в ИС ГЯ возможность генерации текстов программ на ГЯ по геометрическим моделям КРЕДО/Win, а также средства работы с типовыми моделями и типовыми параметрическими изображениями. Данные изменения существенно расширят класс задач, решаемых с помощью ИС ГЯ и позволят пользователю создавать более мощные проблемно-ориентиро¬ ванные системы на основе СГМ КРЕДО/Win, придавая ей новое качество развитой системы разработки прикладного ПО процесса проектирования и конструирования. АПр-4 -57-
1. Л ь в о в В. П., Злы гарев В. А.,Левин А. Э., С е р м я г и н П. А. Система геометрического моделирования КРЕДО/Win// см. наст, сб., с. 45—51. 2. Б ы к о в А. В. Конструкторские системы — российский вариант. Мир ПК, 1993, № 4, с. 52—60. 3. Р е t z о 1 d С. Programming Windows. — Microsoft Press: Washington, 1990. 4..Гл ад ко в С. А., Ф p о л о в Г. В. Программирование в Microsoft Windows. — М.: Диалог — МИФИ, 1992. Статья поступила в редакцию в августе 1993 г. УДК 681.3.06 ОСОБЕННОСТИ ПРОГРАММНОЙ РЕАЛИЗАЦИИ ДЛЯ ПОВЫШЕНИЯ МОБИЛЬНОСТИ СИСТЕМ УПРАВЛЕНИЯ Е. Л. Никандров; Н. В. Ржанов Рассмотрены вопросы проектирования программного комплекса, независимого от базовой графической библиотеки и системы управления базой данных, на примере системы управления производством FMOS. Одной из важнейших частей любого программного комплекса, особенно при со¬ здании коммерческих программных продуктов, является подсистема, реализующая интерфейс с пользователем. Среди требований к пользовательскому интерфейсу нужно упомянуть: его наглядность и простоту (не в ущерб полноте выполняемых функий); “дружественность” интерфейса (контекстно зависимая помощь — help; мнемо¬ ника действий; возможность использования как клавиатуры, так и устройств типа “mouse”; использование “акселераторов”, позволяющих выполнить загрузку необ¬ ходимого диалога или выполнить некоторое действие без вызова меню/подменю); отсутствие программных “коллизий”, вызванных ошибочными действиями пользователя. Помимо названного, подсистема, реализующая пользовательский интерфейс, должна быть спроектирована с учетом эргономических требований. . Одним из способов повышения мобильности подсистемы программ, поддержива¬ ющих пользовательский интерфейс, является создание некоторого макроязыка (и соответствующей открытой библиотеки процедур), в терминах которого возможно описание достаточно широкого класса действий пользователя по вводу/выводу дан¬ ных и управления программой. Синтаксис данного макроязыка не должен допу¬ скать использование каких-либо системных вызовов, а также вызовов функций базовой графической библиотеки (UNIX/X-Windows, MS-DOC/MS-Windows, OS2/Presentation Manager), с привлечением которой и создается программная реа¬ лизация данного макроязыка. Сам же макроязык в этом случае становится некото¬ рым инвариантным (по отношению к операционной системе и базовой графической библиотеке) множеством вызовов функций. В соответствии с таким подходом, а также в связи с потребностью создания про¬ граммного комплекса FMOS в двух операционных системах — OS/2 и UNIX — бы¬ ла разработана и реализована библиотека программных модулей VUI (Virtual User Interface) с использованием в качестве базовой графики систем Presentation Manager и X-Windows соответственно. АПр-4 -58-
Программные модули библиотеки можно укрупненно разделить на несколько групп: модули, реализующие окно диалога. К этой группе относятся модули, которые устанавливают тип шрифта, позиционируют окно диалога по отношению к экрану монитора, создают заголовок окна, запускают подготовленное (с внутренним на¬ полнением в виде кнопок, списков, полей ввода/вывода и т. п.) окно диалога, пре¬ рывают диалог; модули, контролирующие диалог (установка “фокуса” на нужное окно диалога, блокировка/разблокировка соответствующих элементов диалога — кнопок, полей ввода и т. п.); модули для создания редактируемых полей ввода/вывода (установка/считыва- ние содержимого полей, контроль содержимого вводимой информации, уничтоже¬ ние полей в окне диалога); модули для создания списков с соответствующими элементами для просмотра всего списка (создание/уничтожение списков, выбор/добавление/удаление эле¬ ментов списка,...); модули для создания различного вида (radio button, push button) кнопок (созда¬ ние/уничтожение кнопок, установка/считывание состояния кнопок, установ- ка/считывание меток на кнопках); модули, с помощью которых создаются различные текстовые надписи (метки) внутри окна диалога (создание/уничтожение меток, установка содержимого меток); модули, реализующие вспомогательные утилиты (установка различных графи¬ ческих меток в окне диалога, создание/уничтожение информационных окон для предупреждения пользователя об ошибках ...); модули, реализующие программные “мониторы” — окна с информационными сообщениями о выполняемых системой действиях, блокирующие действия пользо¬ вателя (если это необходимо). Другой важной стороной повышения мобильности является независимость базо¬ вых программ прикладной системы от конкретного типа базы данных (БД) и ис¬ пользуемой системы управления базой данных (СУБД). В рамках проекта FMOS, была спроектирована и реализована библиотека про¬ граммных модулей VDB (Virtual Data Base Access). VDB означает способ стандар¬ тизации доступа к существующим данным таким образом, чтобы минимизировать усилия по переносу системы на другие платформы и СУБД. При проектировании библиотеки использовались принципы: состав модулей должен полностью обеспечивать потребности базового алгорит¬ ма; VDB модули, в общем случае, не должны включать в себя элементы базового ал¬ горитма; обмен данными должен осуществляться строго через определенный программ¬ ный интерфейс; обмен данными должен производиться в типах базового языка программирова¬ ния. Реализованная VDB библиотека имеет следующие группы модулей: модули общего назначения, обеспечивающие инициирование работы в СУБД, управление транзакциями, блокирование/разблокирование на уровне файлов и за¬ писей, обработки ошибок, преобразования типов, модули организации доступа к группе записей, обеспечивающие определение файлов БД, условий выборки записей, порядок выдачи; модули доступа к отдельной записи файла, обеспечивающие выборку записи из файла по заданным условиям; АПр-4 -59-
модули доступа к полям данных, обеспечивающие установку/считывание зна¬ чений отдельных полей записи; модули модификации данных, обеспечивающие ввод/изменение/удаление записей; модули обеспечения интегрированности данных, проводящие все требуемые мо¬ дификации для связанных данных; модули нестандартной обработки прикладных данных. В результате, реализованная VDB библиотека поддерживает работу FMOS в системах DBM OS/2 SQL, Informix C-ISAM, Informix SQL, Oracle SQL, без каких- либо изменений в алгоритмической части FMOS. Статья поступила в редакцию в августе 1993 г. УДК 681.3.06 СИСТЕМА АВТОМАТИЗИРОВАННОГО УПРАВЛЕНИЯ ПРОИЗВОДСТВОМ FMOS Н. В. Ржанов; Е. Л. Никандров Рассмотрены основные аспекты реализации компонент системы FMOS. Дано описание архитектуры системы, модели данных, технологии и особенностей использования, приведены функциональ¬ ные характеристики. НАЗНАЧЕНИЕ И ОБЩАЯ ХАРАКТЕРИСТИКА СИСТЕМЫ Система гибкого автоматизированного управления производством FMOS (Flexible Manufacturing Operating System) — инструмент комлексного интерактив¬ ного управления производством на уровне предприятия и его производственных подразделений в целях принятия оптимальных и сбалансированных решений по средне-и краткосрочному планированию с учетом производственных мощностей, технологии изготовления, уровня запасов материалов и комплектующих на скла¬ дах, объемов незавершенного производства. Алгоритмы системы базируются на полной модели данных о предприятии и его производственных подразделениях и могут быть применимы как для промышлен¬ ных предприятий, так и для предприятий и организаций других отраслей (транс¬ порта, энергетики, строительства) с различным уровнем автоматизации. Система внедрялась в механическом, механосборочном, текстильном производ¬ ствах, производстве автомобильной резины. Может применяться в других произ¬ водствах. В системе реализованы методы планирования по заказам потребителей и на склад. Система гарантирует построение исполнимых планов с точным соблюдением технологии изготовления продукции. Возможность оптимизации плана по несколь¬ ким критериям качества, а также возможность использования комплексного крите¬ рия оптимизации позволяет гибко и оперативно адаптировать плановые решения к изменениям в стратегии управления. Возможность многовариантного планирова¬ ния в режиме “что будет, если...” позволяет моделировать различные производст¬ венные ситуации и находить для них оптимальные решения. АПр-4 -60-
Основные функциональные возможности системы: планирование “портфеля заказов” предприятия и производственных партий; баланс загрузки технологического оборудования, использования инструмента, оснастки, рабочих и специалистов; прогноз использования материалов и комплектующих; автоматический и интерактивный расчет цеховых подетально-операционных графиков; оптимизация внутрицехового плана по нескольким критериям качества; прогноз сроков выпуска партий и заказов; прогноз загрузки основного и вспомогательного оборудования, выявление кри¬ тических ситуаций; моделирование производственных ситуаций для улучшения плановых показа¬ телей; учет хода производства; учет движения материалов, комплектующих, готовой продукции на складах; контроль продвижения работ. Основными пользователями системы являются: руководители производства; плановые отделы предприятия и бюро цехов; технологические отделы предприятия и бюро цехов; мастера цехов и участков; отделы комплектации и склады. Мощный графический пользовательский интерфейс, построенный на современ¬ ных многооконных программных средствах, позволяет использовать систему спе¬ циалистами, не имеющими глубоких знаний в области информатики. Дополнительные характеристики системы: модульность системы позволяет использовать ее компоненты автономно и ин¬ тегрированно в любых сочетаниях; отсутствие количественных ограничений на входные данные; открытые программные и информационные интерфейсы, позволяющие интегри¬ ровать систему с системами заказчика; информационная совместимость с системами типа MRP (ACG, COPICS, MAPICS, BPCS); высокая мобильность системы за счет использования стандартных программных средств и технологий: языка программирования Си, SQL - запросов к базе данных, Windows - интерфейса с пользователем. FMOS может быть сгенерирована для рабо¬ ты в операционных системах OS/2, UNIX на компьютерах типа IBM PC 386/486, PS/2, RISC/6000 и других в сетевом и локальном вариантах; реакция на ответ от нескольких минут до десятков минут при планировании на несколько сотен единиц оборудования нескольких тысяч заказов и оптимизация плана на компьютерах класса IBM PC 386, немедленная реакция — при интер¬ активной работе пользователя; гибкая настройка на конкретную программную среду заказчика за счет реализа¬ ции и использования динамических и виртуальных библиотек; многоязыковая поддержка. АРХИТЕКТУРА СИСТЕМЫ Генеральная архитектура FMOS представлена на рис. 1. Управление производством на уровне предприятия FMOS Factory Planning обес¬ печивает раскрытие и планирование “портфеля заказов” и баланс загрузки машин, оборудования и рабочих по цехам. Основной выход FMOS Factory Planning — сред- АПр-4 -61 -
Рис. 1. Генеральная архитектура FMOS несрочный план размещения производственных партий между цехами — использу¬ ется на нижнем уровне управления. Управление производством на уровне цеха FMOS Schema обеспечивает расчет и оптимизацию подетально-операционных графиков при ограниченных мощностях цеха, сравнение и выбор внутрицехового плана между несколькими его варианта¬ ми, диспетчирование хода производства. Основным выходом FMOS Schema являет¬ ся график размещения технологических операций на производственном оборудовании цеха. Управление производством на уровне рабочих мест FMOS Area обеспечивает мониторинг производственной зоны. Снимаемые здесь учетные данные о ходе выполнения производственных заданий используются на верхних уровнях управ¬ ления. Управление складом FMOS Warehouse Management решает традиционные зада¬ чи по количественному учету движения продукции, материалов и комплектующих на складах предприятия. Модули FMOS Data Entry обеспечивают полное интерактивное ведение базы данных систем в соответствии с принятой моделью для всех ее компонент. В состав утилит обслуживания базы данных (БД) FMOS Data Base Service вхо¬ дят программные средства администратора БД: создания БД и ее составляющих; страхового копирования и восстановления; экспорта/импорта данных; контроля логической целостности данных; реорганизации файлов и БД. Компонента FMOS Data Base Integrity служит для сопряжения БД FMOS с база¬ ми данных заказчика и включает в свой состав утилиты преобразования данных и динамическую библиотеку функций точек выхода. Библиотеки виртуального пользовательского интерфейса FMOS Virtual User Interface (VUI) и виртуального доступа к базе данных FMOS Virtual Data Base Access (VDB) обеспечивают независимость базовых алгоритмов и программ от кон¬ кретной программной среды заказчика и повышают общую мобильность системы. В текущей версии FMOS 2.3 библиотека FMOS VUI поддерживает работу в средах MS-Wivdows, Presentation Manager, X-Windows, библиотека FMOS VDB — в систе¬ мах DBM OS/2 SQL, Informix C-ISAM, Informix SQL, Oracle SQL. АПр-4 -62 -
Каждая из компонент FMOS является функционально завершенной и может ис¬ пользоваться автономно. Однако типовой схемой является конфигурация системы, представленная на рис. 2. Здесь одна копия FMOS Factory Planning поддерживает Рис. 2. Типовая структура FMOS управление несколькими непересекающимися производственными зонами, каждая из которых имеет свою копию FMOS Schema и решает свои задачи независимо от других зон. Ввод и изменение информации БД при этом может производиться цент¬ рализованно в службах завода или быть разнесен по цехам. Для очень крупных предприятий, имеющих несколько относительно независимых производств, воз¬ можна установка нескольких копий FMOS Factory Planning с интегрированной базой данных. МОДЕЛЬ ДАННЫХ FMOS FACTORY PLANNING Общая модель данных FMOS Factory Planning состоит из следующих взаимосвя¬ занных моделей: состава изделий; технологии изготовления; производственных цехов, основных производственных ресурсов и ресурсов рабо¬ чего времени; вспомогательных ресурсов; запасов на складах; портфеля заказов предприятия. Отметим, что каждая из составляющх модели предприятия интегрируется с ана¬ логичными моделями цехов FMOS Schema, уточняющими отдельные ее аспекты. Состав изделий и внутризаводских сборочных единиц (полуфабрикатов) представлен в виде непосредственной входимости по разделам:готовая продукция, полуфабрикаты, комплектующие и материалы. Среди особенностей модели отме¬ тим следующие: возможно описание и использование более одного состава для каждого из уров¬ ней входимости. Это позволяет, в частности, планировать работы в условиях неста¬ бильной замены или дефицита материалов, а также при конструктивных отличиях изделий (что характерно, например, для мелкосерийного и индивидуального про¬ изводств) ; возможно построение не только иерархической, но и сетевой структуры изде¬ лия, когда производится полная или частичная разборка комплектующего, с после¬ дующим использованием лишь его компонентов. Эта не совсем нормальная ситуация, но тем не менее часто имеет место в производстве; АПр-4 -63-
количество уровней входимости в готовое изделие для алгоритма разузлования неограничено. FMOS Factory Planning использует укрупненную технологию изготовления, оп¬ ределяемую для каждой из сборочных единиц изделия. Технология состоит из од¬ ного или нескольких альтернативных циклов различных приоритетов. Каждый цикл состоит из одной или нескольких макроопераций. Макрооперации — это ниж¬ ний уровень технологии FMOS Factory Planning. В их качестве могут выступать: макрооперации FMOS Schema при совместном использовании этих компонент; специально определенные, возможно не раскрываемые далее макрооперации. Для макрооперации определяется функциональная группа оборудования, на ко¬ торой она выполняется, а также времена обработки. FMOS Factory Planning рассматривает основные ресурсы как производственные элементы, на которых размещаются отдельные стадии обработки производствен¬ ных партий. В качестве единицы система использует функциональную группу взаимозаменяемого оборудования, установленного в цехе. Для функциональной группы определяется календарь ее работы и продуктивная мощность по рабочим периодам. Цех предприятия рассматривается как совокупность его функциональных групп. “Портфель заказов” предприятия определяет что, сколько и к какому сроку не¬ обходимо произвести. В “портфель заказов” могут входить заказы внешних потре¬ бителей и внутренние позиции, например, для пополнения уровня запасов готовых изделий на складе. В заказ могут входить как комплексные изделия, т. е. изделия со сложным составом внутризаводской номенклатуры, так и любые его составляю¬ щие. Заказ характеризуется: размером, т. е. количеством заказываемых изделий; датой запуска; датой выпуска; приоритетом, показывающим относительную срочность заказа; способом планирования. Возможно планирование от даты запуска вперед в режиме “так скоро, как возможно” или от даты выпуска назад — “не позже, чем”. Система поддерживает и использует в расчетах различные состояния заказов: раскрытые, нераскрытые и нераскрываемые; частично и полностью спланирован¬ ные; модифицируемые пользователем и закрытые; переданные на нижний уровень управления и нет; не начатые в производстве, в процессе производства и завер¬ шенные. ЦЕХОВАЯ МОДЕЛЬ ДАННЫХ FMOS SCHEMA Общая модель данных состоит из следующих взаимосвязанных моделей: основных ресурсов; ресурсов рабочего времени; технологии изготовления; вспомогательных ресурсов; переналадок основных ресурсов; производственных партий. FMOS Schema рассматривает основные ресурсы как производственные элементы цеха, на которых размещаются для исполнения технологческие операции. К основ¬ ным ресурсам могут относиться станки, машины, обрабатывающие центры, устрой¬ ства передач, конвейеры, системы контроля, упаковки и т. п. Основные ресурсы могут иметь ручное, автоматизированное или автоматическое управление. Количе¬ ство основных ресурсов в системе неограничено. Одна технологическая операция в один момент времени может быть размещена на одном из основных ресурсов. АПр-4 -64-
Система обрабатывает основные ресурсы следующих типов: параллельно независимые, на которых каждая единица продукции обрабатыва¬ ется индивидуально, например, механообрабатывающие станки; параллельно зависимые, на которых одновременно обрабатывается группа еди¬ ниц продукции, например, гальванические ванны, печи обжига; последовательные “без опустошения”, на которых продукция обрабатывается одна за одной без полного опустошения линии. Такие ресурсы могут содержать в один момент времени последнюю единицу продукции предыдущей партии и пер¬ вую единицу последующей. Пример — конвейер; последовательные “с опустошением”, на которых смена продукции требует пол¬ ного опустошения линии; специальные, алгоритм прохождения которых определяется динамически на этапе выполнения. Каждый основной ресурс характеризуется мощностью и эффективностью, уточ¬ няющими его производительность, а также календарем работы, определяющим его ресурсы рабочего времени. Основные ресурсы объединяются в функциональные группы взаимозаменяемого оборудования. При описании технологии изготовления операции ссылаются на функциональные группы, что позволяет алгоритму планирования распределять загрузку между основными ресурсами. Модель ресурсов рабочего времени базируется на системе календарей несколь¬ ких иерархических уровней, на каждом из которых уточняются и конкретизируют¬ ся значения предыдущих уровней: официальный календарь цеха содержит сведения о количестве, границах и про¬ должительности рабочих смен и перерывов; календарь выходных дней определяет общие для цеха выходные перио¬ ды, связанные, например, с праздниками, забастовками, вынужденными просто¬ ями и т. п.; групповые календари описывают набор рабочих смен для конкретных основных ресурсов. Одновременно может существовать несколько групповых календарей; календарь исключений для основных ресурсов позволяет гибко изменять их ре¬ сурсы времени в непредвиденных ситуациях, например, в случаях выхода из строя или назначения сверхурочных часов. Таким образом, в общем случае, каждый из основных ресурсов цеха может иметь свой собственный результирующий календарь работы. Модель технологии изготовления продукции базируется на концепции операци¬ онной и макрооперационной технологии. FMOS Schema позволяет одновременно иметь несколько альтернативных технологий изготовления одного вида продукции. Каждая из технологий — это последовательность макроопераций, которые, в свою очередь, состоят из одной или нескольких альтернативных последовательностей элементарных технологических опереций. Такой подход позволяет адекватно опи¬ сывать существующие в различных типах производств технологические процессы. На нижнем уровне описываются технологические операции, характеризу¬ ющиеся: функциональной группой основных ресурсов, на которых операция размещает¬ ся. Это означает, что операция может быть выполнена на любом из ресурсов, вхо¬ дящих в группу, и FMOS Schema самостоятельно определит этот ресурс; временем обработки единицы продукции; пред- и послеоперационным временем, т. е. минимумом времени, необходимым для перехода от предыдущей или к следующей операции в рамках одной техно¬ логии. АПр-4 -65-
Предполагается, что операции размещаются на ресурсах с ограниченными мощ¬ ностями, однако имеется возможность отнесения технологических операций к классу размещаемых на неограниченных ресурсах. Это может быть полезно, например, если требуется передача продукции в другой цех с последующим возвратом. В таких случаях описывается только время задержки на операцию. Из технологических операций строятся макрооперации, состоящие из одной или нескольких альтернативных последовательностей. Каждая последовательность со¬ стоит из одной или нескольких технологических операций и имеет приоритет в рамках макрооперации. FMOS Schema на этапе планирования будет самостоятель¬ но выбирать выполняемую последовательность макрооперации. Технология изготовления продукции в целом состоит из одного или нескольких альтернативных циклов. Каждый цикл состоит из одной или нескольких макроопе¬ раций. Выбор циклов изготовления продукции определяет пользователь. Вспомогательные ресурсы — это производственные элементы, необходимые для выполнения технологических операций на основных ресурсах. К вспомогательным ресурсам могут относиться инструмент, оснастка, приспособления, контейнеры, рабочие разных специальностей и квалификации и т. п. Из особенностей модели FMOS Schema отметим следующие: вспомогательные ресурсы могут применяться на уровне технологических опе¬ раций и на уровне макроопераций; система рассматривает ограниченные и неограниченные вспомогательные ре¬ сурсы. Для ограниченных ресурсов определяется общее количество доступных единиц; система учитывает использование вспомогательных ресурсов на любых стадиях технологических операций: во Бремя переналадки, в подготовительный и заключи¬ тельный периоды, во время обработки; для операции может быть установлено любое количество разных вспомогатель¬ ных ресурсов. Алгоритм планирования FMOS Schema учитывает использование ограниченных вспомогательных ресурсов, т. е. перед размещением операции на основной ресурс проверяется доступность всех вспомогательных ресурсов, необходимых для ее вы¬ полнения. Если ограниченный ресурс недоступен, операция возращается в очередь кандидатов на размещение до момента его освобождения. Описание неограничен¬ ных вспомогательных ресурсов полезно для получения точной информации об их предстоящем использовании. Под переналадкой основного ресурса для выполнения технологической опера¬ ции в FMOS Schema понимается время, необходимое для подготовки данного ресур¬ са к выполнению данной операции. В модели системы могут существовать несколько, в общем случае не связанных друг с другом аспектов, составляющих полную переналадку ресурса. Например, прилитье пластмасс могут быть аспекты переналадки, связанные с изменением материала и с изменением цвета. Каждый аспект переналадки характеризуется количеством входящих в него элементов, соответствующих разным состояниям ресурса, например, цвет содер¬ жит элементы: красный, зеленый, желтый, белый, черный и т. п. Время переналад¬ ки на каждый элемент (состояние) может зависеть: от текущего и предыдущего элементов (состояний). Например, для переналад¬ ки, связанной с изменением цвета на линии покраски. Если переналадка заключа¬ ется в очистке каких-либо элементов линии, то очевидно, что времена очистки при переходе к зеленому цвету от желтого и черного будут различны; только от текущего элемента (состояния). Например, установка резца в связи с изменением типа металла на токарном станке не зависит от предыдущего типа металла. АПр-4 -66-
Количество аспектов переналадок и состояний по каждому аспекту в системе не ограничено. С любой функциональной группой, отдельным ресурсом и технологи¬ ческой операцией может быть связано любое количество аспектов, которые будут рассматриваться как взаимосвязанные части общей переналадки ресурса. Алгоритм планирования FMOS Schema использует данные о переналадках с тем, чтобы, с одной стороны, запланировать их как необходимые элементы производст¬ венного процесса, и, с другой стороны, минимизировать общее время переналадок, которое, естественно, не является продуктивным. Производственные партии цеха описывают для системы что, как, сколько и к какому сроку необходимо в цехе произвести. С точки зрения технологии, произ¬ водственная партия состоит из некоторого количества одного вида продукции. С точки зрения конструктивного состава — это раскрытый (разузлованный) вид про¬ дукции. Раскрытие заказов внешних потребителей, состоящих из комплексных из¬ делий, и приведение их к производственным партиям цеха производится вне FMOS Schema на более высоком уровне управления, например, в FMOS Factory Planning. Для FMOS Schema производственная партия характеризуется: видом продукции; технологическим циклом среди альтернативных технологий, если они сущест¬ вуют и определены для данной продукции; размером, т. е. количеством единиц продукции; датой запуска, т. е. датой, начиная с которой первая операция может разме¬ щаться в цехе; датой выпуска, т. е. датой, до которой должна быть выполнена последняя опера¬ ция партии. Даты запуска и выпуска цеху устанавливают верхние уровни управле¬ ния. Отметим, что даты запуска и выпуска партий являются традиционным выходом систем MRP или FMOS Factory Planning; приоритетом, показывающим срочность партии. FMOS Schema имеет одним из критериев планирования критерий размещения операций по убыванию приоритета партий. FMOS Schema поддерживает различные состояния производственных партий: делимые и неделимые; непланируемые, частично и полностью спланированные; не начатые в производстве, в процессе производства, завершенные и т. д. Особо отме¬ тим, что алгоритм планирования учитывает незавершенность партий. ПЛАНИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ FMOS FACTORY PLANNING Основная функция FMOS Factory Planning — это построение сбалансированного плана цехов, который обеспечивает выпуск готовой продукции в соответствии с “портфелем заказов” предприятия. Система применяет здесь алгоритм планирова¬ ния на неограниченных производственных мощностях с детерминированными про¬ цессами. В целом FMOS Factory Planning — это система поддержки принятия решений, характеризующаяся высокой скоростью обработки при больших объемах данных и предоставляющая пользователю как качественные, так и детализирован¬ ные данные на каждом из этапов работы. Процесс планирования FMOS Factory Planning состоит из следующих шагов, инициируемых пользователем: резузлование “портфеля заказов” в производственные партии; определение интервала планирования; автоматический расчет плана; баланс загрузки производственных мощностей; утверждение плана; передача плана на цеховой уровень управления. АПр-4 -67-
Наиболее характерной и отличительной возможностью FMOS Factory Planning является баланс загрузки производственных мощностей. Необходимость такого ба¬ ланса диктуется тем, что часто автоматически рассчитанный на неограниченных мощностях план имеет низкую точность в датах выпуска производственных партий цехами, либо является нереальным из-за перегрузок на отдельных участках вслед¬ ствие нехватки ресурсов. Целью баланса является улучшение характеристик плана. Баланс выполняется интерактивно в режиме “что будет, если...”. Система пре¬ доставляет пользователю взаимоувязанные диаграммы, соответствующие текуще¬ му состоянию плана: степени загрузки основных ресурсов; состояния заказов и производственных партий; использования вспомогательных ресурсов; уровня запасов материалов и комплектующих на складах. Диаграммы имеют общую временную ось и могут быть отображены по рабочим сменам, дням, неделям, месяцам. На диаграммах цветом выделяются критические участки, связанные с перегруз¬ кой или простоем основных ресурсов, опаздыванием или необеспеченностью пар¬ тий, нехваткой или излишками вспомогательных ресурсов и запасов. Возможно выделение загрузки, связанной с конкретными партиями или заказами. Возможно получение точных числовых характеристик любого интересующего объекта. В процессе работы пользователю доступны интерактивные изменения любых данных, составляющих общую модель, например: сдвиг по времени дат запуска или выпуска заказов или составляющих их произ¬ водственных партий; изменение размеров заказов или партий; разделение производственных партий или их объединение; назначение альтернативных технологий; изменение ресурсов рабочего времени у разных групп оборудования; изменение объемов вспомогательных ресурсов и другие. После изменений в модели система показывает на диаграммах результирующее состояние плана. Ведутся контрольные точки. При ухудшении характеристик воз¬ можен автоматический откат на предыдущую контрольную точку. Возможен баланс загрузки за несколько разнесенных во времени сеансов работы. Достигнутое подходящее состояние плана утверждается, и формируется точная номенклатура производственных партий цехов, которая передается им для даль¬ нейшего детального планирования. ЦЕХОВОЕ ПЛАНИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ FMOS SCHEMA Основная функция FMOS Schema — это размещение технологических операций заданной номенклатуры производственных партий на доступные ресурсы с точным соблюдением последовательности обработки. FMOS Schema — это система плани¬ рования на ограниченных производственных мощностях. Она базируется на эври¬ стических алгоритмах, которые не гарантируют строго оптимального математического решения, однако дают хорошие результаты в сочетании с гибко¬ стью и приемлемым временем обработки. Основной выход FMOS Schema состоит из рабочего плана, в котором для каждо¬ го рабочего места (основного ресурса) указаны последовательность операций, сро¬ ки их начала и завершения, источники получения партий и адреса передачи. Генерация плана может иметь место при двух обстоятельствах: в конце каждого цикла планирования производится очередное планирование на следующий интервал; АПр-4 -68-
до завершения цикла планирования, когда возникли непредвиденные события (например, поломка станка, отсутствие комплектующих, забастовка, новое сроч¬ ное задание и т. п.), производится перепланирование. В целом, процессы очередного планирования и перепланирования во многом идентичны и состоят из следующих шагов, инициируемых пользователем: определение интервала и варианта планирования; автоматический или интерактивный расчет варианта плана; анализ и сравнение вариантов плана; выбор и утверждение плана. Интервал планирования определяется интерактивно и может иметь любую продолжительность. Для одного интервала может быть рассчитано несколько вари¬ антов плана, что позволяет пользователю вести планирование в режиме “что бу¬ дет, если...”. Варианты плана отличаются исходными данными, определяемыми пользователем, а именно: стратегией планирования. Изменение весовых коэффициентов критериев каче¬ ства плана приводит к получению варианта, отличного от предыдущего, даже если остальные условия остались неизменными. FMOS Schema имеет набор стандартных критериев, которые могут применяться по одному или совместно. Такими критери¬ ями являются: максимальный приоритет партий; максимум загрузки оборудования; минимум отклонений от сроков поставки; минимум объема незавершенного производства; минимум времени переналадок оборудования; составом и параметрами производственных партий. Партии могут добавляться и удаляться, даты запуска и выпуска могут сдвигаться, размеры партий и приорите¬ ты изменяться и т. д.; любыми изменениями в других составляющих модели данных. Могут добав¬ ляться и исключаться основные и вспомогательные ресурсы, использоваться альтернативные технологии, вводиться сверхурочные периоды и периоды отды¬ ха и т. д. Расчет варианта плана может вестись в автоматическом и интерактивном режи¬ мах. В автоматическом режиме никаких дополнительных действий пользователя не требуется, все размещения выполняет система. Интерактивный режим дает воз¬ можность пользователю изменять предлагаемые системой размещения на требуе¬ мые. При этом пользователь обеспечивается полной информацией о доступности ресурсов, состоянии партий, возможных кандидатах и т. п. Использование интер¬ активного режима никак не ограничено и может быть полезно, например, при: необходимости загрузить отдельный станок специально отобранными операция¬ ми или партиями; необходимости или возможности отложить выполнение отдельных операций; необходимости ускорить выпуск отдельных партий и т. п. Особенностью FMOS Schema является то, что для анализа рассчитанных вари¬ антов пользователю предлагаются графические диаграммы, дающие наглядную возможность прогноза выпуска партий, анализа загрузки и использования произ¬ водственных ресурсов, выявления узких мест. В системе реализованы следующие диаграммы: диаграмма производственных партий показывает задержки и опережения отно¬ сительно дат запуска и выпуска, состояние партий по плану и реального изготов¬ ления; диаграмма Гантта показывает размещение операций на основные ресурсы. По каждому основному ресурсу представлены периоды обработок, переналадок, меж¬ АПр-4 -69 -
операционные и календарные простои. Возможен анализ маршрутов изготовления отдельных партий; диаграмма основных ресурсов показывает степень их загрузки как операцион¬ ным временем, так и временем переналадок; гистограмма вспомогательных ресурсов показывает степень их использования, а также потребности в неограниченных ресурсах. Качественный анализ с использованием диаграмм дополняется объективным статистическим расчетом характеристик вариантов. Выбор плана из рассчитанных вариантов дает возможность управления момен¬ том замещения действующего плана на новый. FMOS Schema обеспечивает воз¬ можность печати плана как в разрезе производственных партий, так и по основным ресурсам, в виде сменных заданий. Возможно получение всех графических диаг¬ рамм для действующего плана. Использование информации FMOS Area о ходе вы¬ полнения плана дает прекрасную возможность наглядного и компактного представления на диаграммах плановых и учетных данных. УЧЕТ ХОДА ПРОИЗВОДСТВА СРЕДСТВАМИ FMOS AREA Информация о ходе производства жизненно важна для процессов планирова¬ ния, построения реальных графиков и управления производственными зонами. Организация и реализация учета на конкретных предприятиях может быть раз¬ лична и зависеть от их структуры, парка технологического оборудования, средств вычислительной техники и сбора данных и других факторов. Аналогично, конкрет¬ ные решения компоненты FMOS Area отличаются для разных установок системы FMOS. Текущая версия FMOS Area 2.3 включает в свой состав базовые модули “ручно¬ го” ввода с клавиатуры ЭВМ (центральной или терминала) сведений о выполнении технологических операций в разрезе станков и в разрезе производственных партий. FMOS Area обеспечивает печать необходимых учетных документов и агрегирова¬ ние учетных данных для использования в компонентах FMOS Schema и FMOS Factory Planning. В состав FMOS Area могут включаться программные средства управления специализированными устройствами сбора данных: микротерминалами, баркодами и т. п. ПОДДЕРЖКА МОДЕЛИ ДАННЫХ СРЕДСТВАМИ FMOS DATA ENTRY FMOS Data Entry — это набор программных модулей, обеспечивающих комп¬ лексное ведение данных, составляющих модель семейства FMOS. Ведение данных в системе может быть централизованным и децентрализованным. FMOS Data Entry выполняет функции: ввода, удаления, модификации любых объектов данных; установки и снятия логических связей между объектами; управления логическими транзакциями проводимых изменений. ПЕРСПЕКТИВЫ РАЗВИТИЯ СЕМЕЙСТВА FMOS В настоящее время разрабатывается новая компонента семейства FMOS Business Planning — планирование производственных затрат. Компонента будет выполнять ряд функций по анализу предстоящих издержек по статьям расходов на материалы, комплектующие, оплату труда и другим, выявлению критических моментов предстоящего бюджета, выбору наиболее экономичных способов производства й другие, связанные с этим задачи. АПр-4 -70-
Новая компонента базируется на совместимой модели данных, интегрируется с другими компонентами семейства, строится на общих принципах интерактивной работы, использует достигнутые решения по мобильности. FMOS — зарегистрированная марка TXT Ing. inf. Spa, СП Евронетикс. OS/2, PS/2, AIX, RISC/6000 — зарегистрированные марки IBM. ACG, COPICS, MAPICS — зарегистрированные марки IBM. BPCS — зарегистрированная марка SSA Inc. UNIX — зарегистрированная марка AT&T. MS Windows, Presentation Manager — зарегистрированные марки Microsoft Corp. X Window System — зарегистрированная марка Massachusetts Inst. Techn. INFORMIX — зарегистрированная марка Informix Software, Inc. Статья поступила в редакцию в августе 1993 г. УДК 681.3.06 К ВОПРОСУ О ПРЕДСТАВЛЕНИИ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ В ИНТЕРАКТИВНЫХ СИСТЕМАХ А. С. Самотохин, канд. физ.-мат. наук Рассмотрены алгоритмы сжатия графической растровой инфор¬ мации, которые применяются в некоторых зарубежных интер¬ активных системах (Painbrush, Show Pathner, PC StoryBoard и т. д.). Все рассмотренные алгоритмы отличаются относительной простотой, достаточно высокой скоростью работы и ориентированы на работу с видеопамятью стандартных адаптеров компьютеров IBM PC. Дано описание принципов кодирования видеоинформации для этих адаптеров и особенности реализации алгоритмов сжатия для трех различных форматов. Задача о представлении графической информации в памяти компьютера и на внешних носителях очень часто встречается при проектировании программных систем самого разнообразного назначения. При принятии решения о способе пред¬ ставления такой информации разработчикам систем приходится учитывать целый ряд противоречивых требований, включающих компактность представления, ско¬ рость кодирования и декодирования информации (что особенно важно в интер¬ активных системах), возможность использования стандартного программного обес¬ печения при подготовке данных и т. д. Одним из возможных подходов к решению подобной задачи является использо¬ вание стандартных графических форматов, которые применяются в программных системах типа настольных издательств и графических редакторов. Очевидным пре¬ имуществом такого подхода является возможность использования этих систем на этапах подготовки данных и оформления полученных результатов. Кроме того, знакомство с принципами кодирования графической информации, используемыми в этих системах, может оказаться весьма полезным при разработке собственного представления графических данных. Прежде чем перейти к описанию кодирования в некоторых широко используе¬ мых форматах, сделаем ряд замечаний. Конечно, когда используемая в системе графическая информация представляет собой ограниченный набор графических объектов, наиболее разумным способом ее описания является создание метафайла с кодами и описаниями этих объектов. АПр-4 -71 -
Однако это не всегда возможно, и далее рассматривается именно такой случай, т. е. кодирование произвольной растровой информации. Очень часто при кодировании графической информации используется ее пред¬ ставление в видеопамяти компьютера, которое является аппаратно-зависимым. При рассмотрении конкретных форматов ограничимся только тем стандартным на¬ бором видеооборудования, которое существует на графических адаптерах IBM PC (т. е. CGA, EGA, MCGA, VGA и Hercules). Приведем краткую характеристику представления пикселов в видеопамяти для этих адаптеров. Черно-белые графические режимы. В таких режимах одному пикселу на экране соответствует один бит в видеопамяти компьютера (т. е. в одном байте закодирова¬ на информация о восьми пикселах экрана). Биты, соответствующие пикселам одной строки экрана, располагаются в видеопамяти последовательно слева напра¬ во. Однако порядок строк на экране может не совпадать с порядком их следования в видеопамяти (адаптеры CGA и Hercules). 4-цветный графический режим. Одному пикселу на экране соответствует 2 бита в видеопамяти (т. е. в одном байте содержится информация о четырех пикселах эк¬ рана). Так же, как и для черно-белых режимов, в пределах одной строки пикселы кодируются последовательно, но порядок строк на экране не совпадает с порядком следования их образцов в видеопамяти. 16-цветные графические режимы адаптеров EGA, VGA и Hercules InColor. Представление пикселов в видеопамяти для этих режимов является наиболее слож¬ ным и требует дополнительных пояснений. Введем понятие “слой видеопамяти”. Таких слоев в рассматриваемых режимах — четыре, и они нумеруются от 0 до 3. Каждому пикселу экрана в каждом из четырех слоев соответствует один бит. Поло¬ жение этого бита в каждом слое относительно его начала (т. е. номер байта в слое и номер бита внутри этого байта) одинаково и однозначно определяется положением пиксела на экране. Например, если левый верхний пиксел экрана имеет значение 5 (двоичное значение 0101), то значение старшего бита нулевого байта в слоях 3, 2, 1 и 0 будут соответственно равны 0, 1, 0 и 1. Внутри одной строки биты, соответству¬ ющие пикселам экрана, располагаются в видеопамяти последовательно. Порядок образов строк в слое видеопамяти совпадает с их последовательностью на экране в адаптерах EGA и VGA и отличен от него в адаптере Hercules InColor. 256-цветные режимы адаптеров VGA и MCGA. Одному пикселу экрана соот¬ ветствует один байт видеопамяти. Байты располагаются в видеопамяти последова¬ тельно по строкам экрана (слева направо и сверху вниз). Каждый из рассматриваемых ниже графических форматов содержит некоторый заголовок, который описывает кодируемый образ в целом (т. е. содержит информа¬ цию о размерах кодируемого изображения, максимальном числе цветов, использу¬ емой палитре и т. д.). Ограниченный объем статьи не позволяет привести подробное описание формата этих заголовков. Поэтому ниже приводится только описание алгоритмов кодирования самих растровых данных. Рассмотрим некоторые графические форматы. Отметим, что все они используют представление пикселов в видеопамяти компьютера. Формат PCX. Этот формат был разработан фирмой ZSoft и в настоящее время является достаточно популярным. В частности, он используется в графических ре¬ дакторах семейства PC Paintbrush и в некоторых издательских системах (Ventura Publisher, Deskset и др.). Алгоритм раскрытия и сжатия растровых данных в этом формате весьма прост. Кодирование информации ведется построчно в порядке сле¬ дования строк на экране. Если видеопамять состоит из нескольких слоев, то при ко¬ дировании очередной строки последовательно обрабатываются образы этой строки в каждом из слоев, начиная со слоя 0. АПр-4 -72-
Приведем формальное описание алгоритма декодирования растровых данных в этом формате. В качестве исходных данных будем рассматривать поток входных байтов (например, читаемых из файла), а в качестве результата — поток байтов, описывающих растровые данные (т. е. последовательность байтов, которые одно¬ значно описывают пикселы изображения в видеопамяти). Шаг 1. Прочитать из входного потока очередной байт <data>. Шаг 2. Проверка. Равны ли единице оба старших бита в <data>? Если да, то переход к шагу 3, если нет, то переход к шагу 4. Шаг 3. Положить <count> : = <data> AND 03Fh (т. e. шести младшим битам <data>). Прочитать из входного потока очередной байт <data>. Передать байт <data> в выходной поток <count> раз. Перейти к шагу 1. Шаг 4. Передать байт <data> в выходной поток. Перейти к шагу 1. Шаги 1—4 приведенного выше алгоритма повторяются до тех пор, пока число байтов в выходном потоке не достигнет числа байтов, полностью описывающих образ заданного размера в видеопамяти (информация о размерах образа хранится в заголовке файла). Отметим ряд особенностей приведенного алгоритма. В общем случае при деко¬ дировании на правом конце строк могут появляться “лишние” биты. Предполо¬ жим, что декодированию подвергается черно-белое изображение с горизонтальным размером 114 пикселов. Одна строка такого изображения занимает 114/8 = 14 пол¬ ных байтов +2 старших бита (остаток от деления 114 на 8) в пятнадцатом байте. Очевидно, в рассмотренном случае 6 младших битов 15-го байта являются “лишни¬ ми” и должны маскироваться при передаче в видеопамять. Более того, стандарт формата PCX предусматривает, что при записи изображения число байтов на стро¬ ку должно выравниваться на целое число слов (т. е. в рассмотренном примере оно должно составлять 16 байтов, и при декодировании в конце каждой строки можно ожидать появления еще одного “лишнего” байта). Алгоритм кодирования данных для формата PCX достаточно очевиден, но в нем также имеется одна особенность. “Классический” стандарт PCX предусматривает, что данные, относящиеся к одной строке изображения (но не к одной строке слоя!), должны кодироваться независимо. Т. е. в конце каждой строки имеет место как бы “остановка” сжатия. Естественно, в общем случае такая “остановка” приводит к увеличению размера сжатых данных. Однако, как показывает практика, эта реко¬ мендация выполняется не во всех программных продуктах, использующих формат PCX. Поэтому при написании собственных программ кодирования данных для ука¬ занного формата имеет смысл предусмотреть возможность такой “остановки”. При реализации декодирования не следует полагать, что такая “остановка” обяза¬ тельно будет иметь место. Главными достоинствами формата PCX являются его простота и широкое рас¬ пространение. Недостатки же алгоритма сжатия вполне очевидны. Этот алгоритм дает приемлемые результаты только для относительно несложных изображений, имеющих обширные однородные области. В некоторых случаях при использовании этого алгоритма возникает совершенно неоправданная избыточность. Например, если в потоке растровых данных последовательно идут байты OFFh и <нечто, отличное от OFFh>, то байт OFFh может быть представлен в потоке сжатых данных только с помощью последовательности двух байтов: 01 h и OFFh. Формат GX1. Этот формат используется в графической системе Show Partner (Brightbill Roberts and Company). Он не столь широко распространен, как PCX, АПр-4 -73-
однако принципы кодирования информации, используемые в нем, представляют определенный интерес. Сначала рассмотрим процесс декодирования в этом формате в предположении, что для передачи изображения достаточно одного слоя видеопамяти. Декодирова¬ ние можно условно разделить на два этапа. На первом происходит первичное рас¬ крытие входного потока данных и формирование некоторого потока, который будем называть промежуточным. На втором этапе этот промежуточный поток трансформируется в выходной поток растровых данных, описывающих пикселы изображения. Рассмотрим более подробно первый этап. Шаг 1. Чтение из входного потока очередного байта <data>. Шаг 2. Полагаем <count> : = <data> AND O7Fh (т. e. семи младшим битам <data>). Шаг. 3. Проверка. Равен ли старший бит <data> 1? Если да, переход к шагу 4. Если нет, переход к шагу 5. Шаг 4. Чтение из входного потока очередного байта <data>. Передать в промежуточный поток <count> раз байт <data>. Переход к шагу 1. Шаг 5. Цикл <count> раз. Чтение из входного потока очередного байта <data>. Передать в промежуточный поток байт <data>. Конец цикла и переход к шагу 1. На втором этапе понадобятся два буфера. Длина первого буфера <line> равна количеству байтов <kl> в строке изображения. Длина второго буфера, для которого введем обозначение <mask>, вычисляется как <km> = (<kl> + 7)/8. Смысл этого вы¬ числения состоит в следующем: буфер должен иметь размер, достаточный для раз¬ мещения в нем <kl> битов. Рассмотрим теперь второй этап. Шаг 1. Прочитать из промежуточного потока <kl> байтов, записать их буфер <1ше> и передать в выходной поток. Шаг 2. Выполняется циклически для всех строк изображения, начиная с первой (нулевая строка была передана в выходной поток на шаге 1). Прочитать из входного потока <km> байтов и поместить их в буфер <mask>. Цикл по числу байтов в строке (счетчик этого цикла обозначим i). Если i-й бит буфера <mask> равен 1, то чтение из промежуточного потока оче¬ редного байта и запись его в i-й байт буфера <Ипе>. Конец цикла по i. Выдача в выходной поток <kl> байтов из буфера <line>. Если для описания изображения требуется более одного слоя видеопамяти, то описанный выше алгоритм повторяется для каждого из этих слоев. Для лучшего понимания описанного принципа кодирования рассмотрим процесс сжатия данных. Этот процесс также будет состоять из двух этапов. Берем нулевую строку видеопамяти и передаем ее в промежуточный поток данных. Далее форми¬ руем буфер <mask>, состоящий из <kl> битов. Очередной i-й бит этого буфера получает единичное значение, если i-й байт первой строки отличается от i-ro байта нулевой, и нулевое значение в противном случае. Выдаем содержимое буфера <mask> в промежуточный поток. Далее передаем в промежуточный поток только те байты первой строки, которые изменили свое значение по сравнению с байтами нулевой. Повторяем формирование буфера для всех последующих строк изобра¬ жения. В результате этого этапа все строки изображения, за исключением нулевой, описываются буфером <mask> и байтами, изменившими свое значение по сравне¬ нию с предыдущей строкой. Таким образом, уже на этом этапе изображение АПр-4 -74-
подвергается сжатию, если при переходе к следующей строке изменяется не более 7/8 байтов. Очевидно, степень сжатия тем выше, чем меньшее число байтов под¬ вергается изменению при переходе от строки к строке. Второй этап — это по существу упаковка промежуточного потока, который был получен на первом этапе. Смысл этой упаковки состоит в следующем. Если в про¬ межуточном потоке данных имеется серия повторяющихся байтов длиной <п>, где <п> < 127, то при записи в выходной поток эта серия передается с помощью двух байтов. Первый из этих байтов содержит значение 80h + <п>, а второй — значение повторяющегося байта. При записи в выходной поток серий неповторяющихся байтов им предшествует байт, значение которого равно длине серии (это значение должно быть < 127), после чего выдаются сами байты этой серии. Формат графической системы PC Storyboard (IBM Corporation). Если для передачи изображения требуется более одного слоя, то, так же, как и в формате GX1, кодирование в этом формате осуществляется независимо для каждого слоя. При рассмотрении алгоритмов сжатия и раскрытия информации в этой системе примем следующую модель. Будем рассматривать слой видеопамяти, как двумер¬ ную матрицу байтов. Будем также считать, что строка этой матрицы соответствует строке на экране, а порядок расположения строк в матрице соответствует их поряд¬ ку на экране. Тогда формальное описание алгоритма декодирования информации будет выглядеть следующим образом. Шаг 1. Чтение из входного потока очередного байта <data>. Шаг 2. Полагаем <count> : = <data> AND 07Fh (т. e. 7 младшим битам <data>). Шаг 3. Проверка. Равен ли старший бит <data> 1? Если да, переход к шагу 4. Если нет, переход к шагу 5. Шаг 4. Чтение из входного потока очередного байта <data>. Передать в выходной поток <count> раз байт <data>. Переход к шагу 1. Шаг 5. Цикл <count> раз. Чтение из входного потока очередного байта <data>. Передать в выходной поток байт <data>. Конец цикла и переход к шагу 1. Как видно, алгоритмически эта процедура полностью совпадает с первым эта¬ пом декодирования информации для формата GX1. Однако в рассматриваемом формате присутствует одна важная особенность: если в одном байте выходного по¬ тока содержится информация о нескольких пикселах экрана, то выходной поток байтов записывается в видеопамять по столбцам описанной выше матрицы, а не по строкам, как это имело место для предыдущих форматов. На первый взгляд может показаться, что это просто очередная вариация, не имеющая особого смысла. Однако это не так. Все рассмотренные нами форматы да¬ ют более высокую степень сжатия при наличии в исходном образе большого числа повторяющихся байтов. Естественно предположить, что обычно в изображении ве¬ роятность совпадения пикселов, расположенных один под другим, гораздо выше, чем вероятность совпадения серий пикселов, последовательно расположенных в одной строке. Поэтому, как правило, степень сжатия в этом формате выше, чем, например, в формате PCX. Сравнение форматов и некоторые выводы. Все рассмотренные в статье форма¬ ты при кодировании информации пытаются использовать свойство пространствен¬ ной когерентности, присущее большинству растровых изображений. Иными словами, предполагается, что в “нормальном” изображении вероятность того, что два соседних пиксела имеют одинаковое значение достаточно велика. За счет ис¬ пользования указанного свойства даже при относительно простых алгоритмах сжа¬ АПр-4 -75-
тия данных (в этих алгоритмах не используются операции битового сдвига, сложный поиск и т. д.) удается получать приемлемые результаты. Привести количественные оценки описанных алгоритмов достаточно сложно, поскольку степень сжатия в них очень сильно зависит от наполнения конкретного изображения. Однако, как правило, форматы систем Show Partner и PC Storyboard дают приблизительно одинаковые результаты, а формат PCX проигрывает им в степени сжатия на 30—40 %. Простота реализации и высокая скорость кодирова¬ ния информации позволяет рекомендовать эти форматы для использования в интерактивных системах. Однако для изображений, в которых не выполняется предположение о пространственной когерентности (простейший пример: экран заполненный черными и белыми пикселами, расположенными в шахматном поряд¬ ке) , использование этих форматов может приводить к избыточности информации при сжатии. Эффективное сжатие подобных изображений возможно только при использовании более совершенных алгоритмов упаковки данных (например, LZW-алгоритма, который используется в графическом формате GIF). Статья поступила в редакцию в сентябре 1993 г. УДК 621.3.06:518.12 ПРИМЕНЕНИЕ МЕТОДА РЕЗОЛЬВЕНТ В ЧАСТОТНОМ И ШУМОВОМ АНАЛИЗЕ И ОЦЕНКЕ ЗАПАСА УСТОЙЧИВОСТИ В. Б. Михайлов, д-р физ.-мат. наук; Е. Л. Мещанинов Рассмотрены эффективные применения резольвенты регулярного пучка матриц для минимизации вычислительных затрат в задачах частотного и шумового анализа, а также для оценки параметрического запаса устойчивости. Эксперименты показали, что время расчета частотных характеристик сокращается в 3—5 раз, а коэффициент шума в 30—50. Реализованы алгоритмы расчета параметрических чувствительностей собственных частот второго порядка, имеющие более высокое быстродействие, чем известные. ПРЕДСТАВЛЕНИЕ РЕЗОЛЬВЕНТЫ Сокращение потребляемых ресурсов (времени расчетов, затрат оперативной па¬ мяти, объема вычислений) является одним из важнейших направлений развития прикладных пакетов схемотехнических САПР РЭА. Это особенно важно при реа¬ лизации процедур многовариантного анализа и многокритериальной оптимизации. В данной статье рассмотрены три аспекта применения резольвенты регулярного пучка матриц [1 ] для получения высокоэффективных программ: минимизация вычислительных затрат для расчета частотных характеристик; сокращение объема вычислений при расчете коэффициента шума и оценки мощности шумов на выходе схемы; повышение эффективности программ оценки параметрического запаса устойчи¬ вости за счет использования вторых производных собственных частот схемы по па¬ раметрам элементов. Ряд статей [2, 3, 4] уже были посвящены реализации и возможностям числен¬ но-аналитических методов моделирования аналоговой РЭА, математические моде¬ ли которой принадлежат к классу вырожденных [5] сверхжестких систем [2] алгебро-дифференциальных уравнений. АПр-4 -76 -
Напомним, что в гибридном базисе переменных (частный случай — расширен¬ ный однородный координатный базис (РОКБ) [6 ]) электронная схема описывается вырожденной системой ОДУ р (xb, ха> t, ?) = 0Л (1) где х = xb U ха = [xj,..., хп] — вектор искомых переменных (токов, напряжений) порядка п\ хь и ха — подмножества элементов х, входящие соответственно в дифференциальные и алгебраические уравнения; £ — вектор электрофизических, геометрических и схемотехнических параметров, характеризующий полупровод¬ никовые элементы; 0п — нулевой вектор порядка п. Для обеспечения анализа схем в режиме малого сигнала (расчет частотных ха¬ рактеристик, анализ шумов, устойчивости и т. д.) исходная система (1) линеаризу¬ ется в рабочих точках нелинейных элементов и соответствующая математическая модель схемы представляется вырожденной алгебро-дифференциальной системой в (£) X = A (£) х + f(t), х (Zo) = х0, (2) где В (£) и А (5) — матрицы коэффициентов из линеаризованной системы [1 ] U <хь, ха> <0>£) = В(С), (3) (х/>, ха> tOt £) = А (С), причем в силу вырожденности det В (£) = О и, быть может, det А (£) = 0, но пучок матриц D (Л, £) = Л В (£) - А (£) регулярен [1 ]. В работах [3, 7 ] исследовался вопрос о представлении алгебро-дифференциаль¬ ных систем уравнений электронных схем системами единичного индекса [1,5], для которых аналитический вид решения системы (2) имеет вид (случай различных собственных схемы) *(0 = S uiv] l> 1 Вх0 4- j* е 7(т) dr] + Q0/(Z), (4) i = 1 О где Л = [Лр.,.,/1^] — собственные значения (спектр) пучка матриц D (Л) = Л В — А, являющиеся корнями детерминантного уравнения det (Л В — А) = 0; и vi — соответствующие собственному значению Ai (7-й собственной частоте схемы) правый и левый собственные векторы, связанные уравнением нормировки vJBwz=l; т = rank В — количество собственных значений в спектре пучка, равное для систем единичного индекса рангу матрицы при производных; f(t) — вектор входных сигналов; Qo — матрица при алгебраи¬ ческой части решения. Как уже отмечалось в работах [1, 2], применение обратных преобразований Лапласа для вычисления интеграла в (4) дает аналитический вид решения, а также существенно увеличивает точность и скорость расчета переходных процессов по сравнению с численными методами решения жестких систем, используемыми в пакетах САПР РЭА. Резольвента регулярного пучка D (А) = А В — А является мощным аппаратом для исследования всех возможных свойств линейных систем. АПр-4 -77-
Хотя в работе [1 ] представлен вид резольвенты для наиболее общего случая (системы произвольного индекса, наличие нелинейных делителей в спектре пучка), в схемотехническом анализе наиболее важен случай систем единичного индекса и различных собственных значений (собственных частот), т. к. в полупро¬ водниковых активных схемах вероятность возникновения кратных собственных частот в спектре собственных колебаний практически ничтожна. В этом случае резольвента может быть представлена через скелетные произве¬ дения собственных векторов, т. е. R(A) = (AB-A)-1=£ tA-^ + Qo, <5> i = 1 A Ai а матрица Qo может быть определена двумя способами. В первом варианте т 1 Q0 = (aB-A)-i-S i= 1 а Ai (6) где а — скалярный параметр (не равный ни одному из собственных значений), для которого det (а В - А) = 0. Во втором варианте Qo “ ~ Р2 0 0 0 А.221 (7) где матрицы преобразований Pj и Р2 и невырожденный блок А22 порядка п — т (т = rank В) образуется из преобразований вида Р1ВР2 = ви ог о о Р1АР2 = Аи А21 А12 А22 где Ви — невырожденный блок порядка т; А22 — блок порядка п — т. Эти преобразования [3,7] для электронных схем чрезвычайно просты и основа¬ ны на анализе конфигурации включения в схему реактивных элементов. Рассмотрим возможные применения резольвенты. ПРИМЕНЕНИЕ РЕЗОЛЬВЕНТЫ В ЧАСТОТНОМ АНАЛИЗЕ Для целей частотного анализа применяют операторную форму (р-оператор Лапласа) записи системы (2), тогда решение в операторном виде будет X (р) = (р В — A)'1 F(p), (8) где Х(р) и F(p) — операторная форма записи реакции и входных воздействий (сигналов); (рВ — А)"1 — резольвента регулярного пучка. В частотном анализе заменяют оператор р на комплексную круговую частоту ja> = j 2л f (j — мнимая единица). На рисунке представлена схема с выделенными входом и выходом и параметра¬ ми генератора и нагрузки. Будем считать, что уравнения схемы сформированы в РОКБ [6 ]. Для расчета всех схемных (передаточных и других) функций и S-параметров для СВЧ-схем в АПр-4 -78-
диапазоне частот о» € Q кроме источника на входе схемы требуется дополнительный источник тока, подключаемый к выходу схемы (для расчета ZBblx, S12 и S22). В частотном анализе вектор F (р) для входного источника напряжения Ег заме¬ няется на вектор вида Д = [0 ... 1... О ]т, где единственный ненулевой элемент, рав¬ ный единице, находится в 1-й позиции (1-номер компонентного уравнения в РОКБ для источника напряжения). Схема с выделенными входом и выходом Аналогично вектор F(р) для источника тока I заменяется на вектор /2 = [0 ... 1 ... -1 ... 0]т, в котором два ненулевых элемента (1 и -1) находятся в позициях си соответствующих узлам выхода схемы. Для фиксированного набора частот cd = {cdj,..., ct>^,..., o>w}E Q выполняется ре¬ шение линейных алгебраических систем с невырожденной матрицей комплексных коэффициентов (J<okB-A)xl(Ja)k)=fl; к=1,...,т, A)x2(JaJk) = f2 с двумя правыми частями (векторы f1 и /2). Однако для вычисления всех схемных функций и 5-параметров требуется не более пяти элементов векторов Xj (j cok) или х2(уа>^). Так, для вычисления функции передачи по напряжению Ки и входного сопро¬ тивления ZBX используют все пять компонент Xj (j cdт. e. „ ч xc(/4t)-xrfO*). хаи^к)-хь^шкУ xa (J^k) ~ xb(ja)k) Xi(ja)k) где а и b — номера уравнений для входных узлов схемы, I — номер уравнения для тока источника ЭДС на входе. При решении систем (9) постоянная матрица С (j cd0 = j В — А предва¬ рительно раскладывается в произведение двух треугольных методами LU- или LM-разложения [6, 3 ], при этом используется аппарат разреженных матриц. Для более оптимального LM-разложения процесс будет иметь вид: приведение матрицы С (j cd^ и левой треугольной, а именно С (J cd0 М = (j cd^ В — А) М = L; решение промежуточной системы Ly = /; выполнение обратного хода в виде умножения на матрицу М, т. е. x(jcd0 = Му. АПр-4 -79-
Для приведения к треугольному виду требуется 10... 12м флопсов (операция умножения и суммирования) в комплексной арифметике, а для решения (прямой и обратный ход) 6...8и, где п — порядок матрицы. Суммарно для вычисления век¬ тора x(j а)требуется, таким образом, *флопс = 16...20П для каждой частотной точки Поскольку при вычислении всех частотных характеристик требуется решение с двумя векторами j\ и /2, но можно использовать одно LM-разложение, итоговое число флопсов будет *флопс = 22---28п. Рассмотрим, как можно применить резольвенту. Очевидно, что для представле¬ ний (5) и (6) решение системы (4) можно заменить на формулу т / I 1 \ <ю> Для векторов и /2 (см. выше) мы можем предварительно вычислить скалярные произведения вида ai(r)~v}f(ry (r= 1’ 2), причем для «/(1) потребуется только выбрать из v- элемент в позиции/, а для а- (2) вычислить разность между элементами в позициях с и d. Кроме того, используя LM-разложение, вычислим векторы q (г) (г = 1, 2) из решения системы с невырожденной вещественной матрицей, т. е. («В-А ](7(г)=/0. Поскольку нам требуется не более пяти элементов из вектора х (/юр, то сфор¬ мируем “сокращенные” правые собственные векторы ui и “сокращенные” векторы q(r) пятого порядка с требуемыми для расчета частотных характеристик эле¬ ментами. Теперь “сокращенный” вектор х (J можно вычислить по формуле т ~ x(r)(juk) = q(r) + 2 «/(г) Г,-(/wp i = 1 v ’ (11) ще ai 0 — ранее предварительно вычисленные коэффициенты; ~ А ~ а — А- — предварительно вычисленный коэффициент для частоты со к и собственного значения А-. Можно видеть, что объем вычислений будет соответствовать Хфлопс « 5т, где т — порядок характеристического полинома схемы. Поскольку для электронных схем т ~ 0,6 .. .0,9и, то в результате получим Кфлопс = 3 ... 4,5и. Большинство собственных частот микроэлектронных схем вещественны (60...80 %), а остальные 40...20 % приходятся в спектре на комплексно-сопряжен¬ ные пары. Поэтому часть вычислений при оптимальном составлении программы АПр-4 -80-
будет вестись в вещественной или полукомплексной арифметике. Комплексная операция для персональных ЭВМ с сопроцессором занимает от 3 до 5 вещественных по времени выполнения, поэтому результирующие затраты на вычисление х (jw^) с использованием резольвенты будут составлять около 2п флопсов комплексной арифметики, т. е. на порядок меньше, чем при использовании LM- или LU-разло- жений. На практике для больших схем получено ускорение времени счета в 3...5 раз, что связано с реализацией обмена с внешней памятью при загрузке в оперативную память собственных векторов. Для рабочих станций типа SUN эффективность будет совпадать с полученной оценкой, т. е. на порядок быстрее, что обеспечивает¬ ся использованием ОС/2 или UNIX. РАСЧЕТ КОЭФФИЦИЕНТА ШУМА Коэффициент шума является одной из важнейших характеристик, обеспечива¬ ющих неискаженное прохождение сигнала или его распознавание в радиотехниче¬ ских системах и устройствах. Напомним, что под частотной зависимостью коэффициента шума Хш(су) в заданном частотном диапазоне понимают для каждой частотной точки со^ отношение суммарной мощности шумов на выходе сис¬ темы от всех шумовых источников в системе к мощности шума на выходе от источ¬ ника сигнала. Мощность шума от отдельного источника на выходе вычисляется по формуле Рш(0 = (Ус - ud)2 где Uc — Ud — разность потенциалов на выходе системы, получающаяся в результате действия некоторого z-го шумового источника (шумовой ЭДС и шумового тока), RH — сопротивление нагрузки. Для получения данной разности потенциалов необходимо решить систему урав¬ нений (J а>к В - А) х (j а>*) = (j /(г)( (12) где (fa к) — эффективное значение шумовой ЭДС или источника шумового тока; f(r) — вектор типа или /2 (см. выше), определяющий способ включения шумовых источников. Даже если мы предварительно разложим в LM-разложение матрицу (j со к В — А), то все равно этап решения с матрицами L и М (или U для LU-разложе- ния) выполняется для каждого шумового источника отдельно. Общий объем вычислений будет теперь составлять ^флопс = 10 ••• 12л + 6 ••• 8п Х пш> где пш — число шумовых источников. Можно, конечно, вычислить и обратную матрицу к матрице /а^В—А, нои в этом случае требуется п решений систем со столбцами единичной матрицы, а также место для ее хранения, так что в основном используют описанный выше способ вычислений. АПр-4 -81 -
Рассмотрим теперь, как можно применить резольвенту. Поскольку нам нужна только разность между элементами Хс и для каждого шумового источника, вычислим вектор-строку вида (ис — u^)i — константа, в которой (ис — ud)i — ’'‘'“’'“J, (7^4-^) + <13> разность между с-м и d-м элементами правого собственного вектора; qcd — разность строк с номерами с и d в матрице (а В — А)”1. Для вычислений вектора qcd можно вычислить (по столбцам) матрицу Q из решения и-систем (aB-A)Q = InXn (14) с предварительно разложенной матрицей а В — А и столбцами единичной матрицы 1пХп в виде правых частей. Объем вычислений для формулы (14) составит Кфлопс = 1°- 12/1 + 6 - 8л2, а для равенства (13) составит ^флопс = « х т = °>6 - °’9«2 > тогда общий объем вычислений (отнесенный в предварительную подготовку алгоритма) для вычисления вектор-строки у (jco)T составит не более Кфлопс =10- 12л+ 6,6 ...8,9л2, что будет намного меньше, чем для обычной процедуры, т. к. большая часть вычислений будет проводиться в схемах пш>п. Теперь для вычисления разности потенциалов от r-го шумового источника тре¬ буется найти скалярное произведение вида (ис — ud)r = yr sr fr. Поскольку вектор fr содержит только одну или две (+1 и -1) ненулевых компо¬ ненты, то Ud)r где ycd — разность между с-м и d-м элементами вектора у у/ — /-й элемент у (ja^); sr — значение шумового тока (ЭДС) r-го источника. Для выполнения данной операции требуется теперь только один флопс (вместо 6.. . 8п). Суммарно предложенная вычислительная схема эффективнее традиционной в 30.. .50 раз, т. е. расчет коэффициента шума проводится практически за то же время, что и расчет частотных характеристик. АПр-4 -82-
ПРИМЕНЕНИЕ РЕЗОЛЬВЕНТЫ ДЛЯ РАСЧЕТА ПАРАМЕТРИЧЕСКОГО ЗАПАСА УСТОЙЧИВОСТИ Методы расчета корневой и полюсно-нулевой чувствительности передаточных функций линейных систем (и, как частный случай, линеаризованных электронных схем) к параметрам базируются на аналитической теории возмущений параметри¬ ческих Я-матриц D (Я, £) с матричными коэффициентами, зависящими как от пара- метраЯ, так и от вектора независимых переменных £ = (£р..., ts)T. Аналитическая теория возмущений для обычных матриц, зависящих от £, была разработана П. Ланкастером, Като и другими авторами [8 ] в 60-х годах. В 1977 г. В. Б. Михайловым была предложена формула для расчета первых производных соб¬ ственных значений для пучков матриц D (Я, £) = Я В (£) — А (£); ее приложения к анализу корневой и полюсно-нулевой чувствительности рассмотрены в работе [9 ]. Аналогичные работы за рубежом появились после 1979 г. [10]. Развитие аналити¬ ческой теории возмущений для вычисления высших производных собственных зна¬ чений и векторов реализовано в работе [11 ], а в работе [4] приведены основные формулы и дана характеристика их применения в задачах САПР РЭА. В 1991 г. были получены выражения для первых и вторых производных Я-мат- риц произвольного вида, а также некоторые алгоритмы для их расчета [10 ]. В практике моделирования нет необходимости вычисления производных выше второго порядка, поэтому приведем формулы только для первых и вторых произ¬ водных для регулярного пучка, используя результаты работ [4, 11]. Первая производная для случая всех различных собственных значений имеет ВИД г) А <14> где Яр Up vt — z-e собственное значение и соответствующие ему правый и левый собственные векторы, вычисленные в точке пространства параметров £ = tni В и -т4- А — производные матричных коэффициентов матриц В (£) и А (I) в точке £ = £0. Для вычисления вторых производных требуется вычислить первую производ¬ ную правого собственного вектора, формула для нее имеет вид (15) т J где (Яу) = У Т"Z, -3 ■ w vj + Qo — псевдорезольвента пучка при Я = Я - (или Ai AJ псевдообратная матрица Moore-Penrose [10 ]). Формула для вторых смешанных производных собственного значения Я,- по па¬ раметрам и (в точке £ = £0) будет иметь вид (16) АПр-4 -83 -
а2 „ а2 . где и ■А — вторые смешанные производные по параметрам и матричных коэффициентов матриц В (£) и А (£) в точке £ = £0; первые производные Ai по параметрам и вычислены по формуле (14); первые производные правого собственного вектора по параметрам и вычислены по формуле (15). Несмотря на некоторую сложность формул (15) и (16) объем вычислений не осо¬ бенно велик, при этом основная его часть падает на вычисление производной собст¬ венного вектора. Вектор из (14) и (15) вида в ■ «h А)“'=51 (17) для матриц радиоэлектронных схем имеет, как правило, только два ненулевых элемента, что обусловлено строением матриц электронных схем в гибридном базисе и РОКБ. Поэтому в формуле (15) целесообразно накапливать скалярные произведения вида требующие только трех операций, поскольку псевдорезольвенту можно представить в уже известном нам виде *+« = Д “Л+<1” / * i При этом требуется дополнительно решить систему с предварительно разложен¬ ной матрицей а В — А. Объем вычислений в формуле (16) также ограничен, т. к. все матрицы и их про¬ изводные сильно разрежены и любая из них по структуре ненулевых элементов совпадает с матрицей Я*. В — А, в которой, как правило, содержится З...5п нену¬ левых элементов, так что объем вычислений в формуле (16) не превысит 16и флопсов. С учетом формул (17), (18) и (19) объем вычислений для формулы (15) составит приблизительно Афлопс ~ Ю...12п + 6...8п + тХп + Зт, т где третье слагаемое дает 2 , т. е. приблизительно I = 1 Кфлопс^19...23п + 0,6...0,9п2. Учет вторых производных позволяет делать более точную оценку границы воз¬ буждения в пространстве одного и двух параметров. Практические эксперименты показали, что инженерная точность достигается уже для более 50 %-го изменения параметров на двумерной сетке. АПр-4 -84-
В работе [10 ] предложен другой способ представления резольвенты (или псевдо- обратной матрицы С+ к вырожденной постоянной матрице С = Я; В — А), связан¬ ный с ее сингулярным разложением. Рассмотрим решение полной проблемы собственных значений постоянной веще¬ ственной или комплексной матрицы С = Л- В — А. Поскольку матрица С вырождена, то спектр ее собственных значений/i 1?..., /лп обязательно содержит одно нулевое (еслиЯ^ # Яу). Пусть х1?..., хп_|, х0 — правые собственные векторы для собственных значе¬ ний^, /i2, ...» ^п— 1’ 0 и ур ...,уп_р у0 — соответственно левые. Сингулярное разложение вида >1 YTCX = ^2 (20) — 1 о с матрицами правых и левых собственных векторов X и Y даст диагональную матрицу с последним нулевым элементом. Если собственные векторы нормированы из соотношений <21> то матрица вида С = С + a Xq>’q в преобразовании (20) даст (22) т. е. не будет вырождена. Псевдообратной С+ к матрице С = В — А будет матрица вида (23) Вместо матрицы (23) мы можем использовать матрицу вида С+ = (С + ах0?5) l—a 1 х0>$, (24) что очевидно из соотношений (22) и (23) и условий нормировок (21). Векторы х0 и у0 с точностью до нормирующих коэффициентов совпадают с век¬ торами ui и у- для собственного значения пучка D (Я) = Л В - А, т. е. их даже не требуется определять, если уже решена спектральная задача для пучка. АПр-4 -85-
Понятно, что способ вычисления 7?+(Я() = С+ = (С + а хоу^)~1 - a~l xoyj кажется очень перспективным по сравнению с формулой (23), для которой требуется дополнительно решить всю спектральную задачу для матрицы C=AfB~A. Когда же целесообразно применять псевдорезольвенту в явном виде (19) или ее форму из (24)? В радиоэлектронных схемах пучок матриц Az В — А имеет сильно разреженные матрицы А и В и все задачи решаются для сильно разреженных матриц. Матрица С = С + a уже не будет разреженной, а все ее элементы будут не¬ нулевыми. Применение наиболее экономичных методов Гаусса, LU- или LM-раз- ложений даст в решении с ней число операций *флопс = |п3 + га2’ что много больше полученных оценок для явного вида псевдорезольвенты в формулах (15) и (16). Однако, если мы решаем задачу чувствительности для декомпозиционного под¬ хода [2 ], то в силу малости декомпозиционной матрицы применение формулы (24) оправдано, тем более что еще не получено аналитического вида резольвенты для декомпозиционных форм. Поскольку декомпозиционные матрицы являются A-матрицами общего вида, то можно воспользоваться формулами для первых и вторых производных, данных в работе [10]. Соответствующие формулы для A-матриц общего вида D (А, £) с произвольным вхождением параметров А и £ имеют вид: с условием нормировки собственных векторов 0«,= 1, где “да=4; _ d+ (2да°(1) + Dw “<■ <26) dO) = £d(A„S); О(1) = ^ВЛ,?). Вторые смешанные производные вычисляются по формуле dz b = + \k)i 1 u(l)i+ tD(/) + A(/)zJ u(k)i + [°(W) + A(A)zDJ/? +A(/)zD^ + A(i)zA(/)zJ w I/O (27) АПр-4 -86-
Матрица D+ в формуле (26) является псевдообратной для постоянной вырожден¬ ной матрицы С = D (!<г £) и может быть вычислена по способу (24), если предвари¬ тельно вычислены собственные векторы для нулевого собственного значения матрицы D (Яр £). Формулы (25), (26) и (27) легко применить к декомпозиционной форме малого порядка [2 ] для моделирования больших аналоговых схем декомпозиционными ме¬ тодами (методом подсхем), поскольку ее диагональные блоки представляют собой дробно-рациональные функции от параметра!. Производные по элементам вектора £ легко получить на основе производных обратной матрицы [8 ] по параметру. Понятно, что параметрический запас устойчивости (в пространстве двух пара¬ метров) может быть определен из решения уравнения Reli + ReA(kyi&t;k + Rel (ty&tk + 1/2Ле^(и)гд= 0. выводы В статье предложено три способа применения резольвенты регулярного пучка матриц, представленной скелетными произведениями собственных векторов. Первые два способа применения дают существенное уменьшение времени реше¬ ния в частотном анализе и анализе коэффициента шума. Это позволит значитель¬ но повысить производительность схемотехнических пакетов САПР РЭА. Третье применение относится к вычислению вторых производных собственных частот, нулей и полюсов схемных функций. Это даст большой эффект при оценке параметрического запаса устойчивости и оптимизации селективных схем (по ну¬ лям и полюсам схемных функций). Предложен также новый способ получения чувствительности первого и второго порядка, использующий простой способ вычисления псевдообратных матриц, для декомпозиционных форм при моделировании больших аналоговых схем методом подсхем [2]. 1. Михайлов В. Б., Михайлова И. Л. Эффективные реализации методов решения жестких алгебро-дифференциальных систем (АДС) и их приложение в электронике СВЧ// Техника, теория, математическое моделирование и САПР систем сверхбыстрой обработки информации на объемных интегральных схемах (ОИС) СВЧ и КВЧ: лекции, доклады, сообщения Межгосударственной школы-семинара, Калининград, сентябрь, 1992/Под ред. Е. И. Нефедова. М.: Изд-во МГП НТОРЭС им. А. С. Попова, 1992. т. 1: Лекции. С. 62—71. 2. Михайлов В. Б. Применение в САПР РЭА численно-аналитических методов в декомпозиционной постановке// Информатика. Сер. Автоматизация проектирования, 1993. Вып. 3. С. 10—24. 3. Оптимизация вычислений для численно-аналитических методов в пакетах схемотехнического проектирования/ В. Б. Михайлов, Т. В. Мазюкевич, И. Л. Михайлова, У Суйцян// Информатика. Сер. Автоматизация проектирования, 1992. Вып. 4. С. 55—65. АПр-4 -87-
4. Михайлов В.Б., Ларионов А. А. Пакет программ схемотехнического проектирования СПЕКТР: новые методы, организация и оптимизация вычислений, реализация точных расчетов и их достоверность// Информатика. Сер. Автоматизация проектирования, 1992. Вып. 1. С. 3—20. 5. Бояринцев Ю. Е. Методы решения вырожденных систем обыкновенных дифференциальных уравнений. Новосибирск: Наука, Сиб. отд-е, 1988. 6. Сигорский В. П., Петренко А. И. Алгоритмы анализа электронных схем. М.: Сов. радио, 1976. — 608 с. 7. М и х а й л о в В. Б. Численно-аналитические методы в линейной и нелинейной постановках// Интеллектуальное интегрирование САПР РЭА и БИС. М.: Наука, 1990, С. 67—76. (Ин-т автоматизации проектирования АН СССР). 8. Ланкастер П. Теория матриц: Пер. с англ. М.: Наука, 1982. 269 с. 9. Михайлов В. Б. Численный метод определения полюсно-нулевой чувствительности к элементам эквивалентной схемы замещения// Известия ЛЭТИ: Сб. науч, тр./ Ленингр. электротехнич. ин-тим. В. И. Ульянова (Ленина). 1979. Вып. 249. С. 79—87. 10. Andrew A. L., Ch и К. W. Е., Lancaster Р. Derivaties of eigenvalues and eigenvectors of matrix function/ Univ, of Calgary, Depart, Math, and Sratistic: Research paper N 721. — Calgary, May 1991. (Calgary, Alberta, Canada). 11. Михайлов В. Б. Численно-аналитические методы моделирования аналоговых радиоэлектронных схем на ЭВМ. Дисс.... д-ра физ.-мат. наук. М., 1992 (ФИАП РАН). Статья поступила в редакцию в сентябре 1993 г. УДК 629.762; 681.3 ПОСТРОЕНИЕ ВЫЧИСЛИТЕЛЬНОЙ СХЕМЫ АЛГОРИТМА ОЦЕНИВАНИЯ ПАРАМЕТРОВ ДИНАМИЧЕСКОЙ СИСТЕМЫ А. Г. Квашнин, канд. техн, наук; А. Г. Тучин, канд. физ.-мат. наук Рассматривается постановка задачи оценивания вектора состоя¬ ния динамической системы, при которой требуется не только получить соотношения процедуры динамической фильтрации, но и построить вычислительную схему фильтра на основе информации о структруе системы. Показана возможность синтеза вычислительной схемы для оценивания параметров динамической системы по наблюдениям в дискретные моменты времени с использованием нескольких измерительных каналов. Реализованный на базе синтезированной вычислительной схемы программный комплекс используется в Баллистическом центре Института прикладной математики им. М. В. Келдыша РАН для контроля выведения космического аппарата на орбиту искусственного спутника Земли. Вопрос организации гибкого взаимодействия между отдельными компонентами программного комплекса является одной из основных проблем создания больших программных систем [1 ]. Данная работа посвящена проблемам организации такого взаимодействия между программами, реализующими алгоритм рекуррентного оценивания вектора состояния линейной динамической системы. В теоретическом плане постановка такой задачи была предложена Калманом [2 ]. Суть ее заключается в том, что задача оценивания рассматривается как некото¬ рая исходная система 2 с известной структурой, включающей переходное отобра¬ жение, определяемое математической моделью системы, выходное отображение, а также модель входных воздействий и возмущений. Эти данные должны преобразовываться в оценку вектора состояния исходной системы 2 при помощи системы Е 2, реализуемой в виде некоторой универсальной вычислительной схемы. АПр-4 -88-
Требуется разработать метод синтеза системы Е S для случая рекуррентного оценивания параметров линейной динамической системы. Решение задачи в такой форме имеет большое практическое значение, так как позволяет спроектировать универсальный программный комплекс калмановской фильтрации. Универсальный в том смысле, что программа фильтрации отделена от программ, моделирующих систему, которые имеют стандартный интерфейс, не зависящий от алгоритма их работы. Это позволяет легко встраивать в комплекс программ другие подсистемы, например, для оценки точности [5 ]. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ СИСТЕМЫ Задача оценивания параметров непрерывной динамической системы в условиях дискретного поступления измерительной информации может быть рассмотрена в дискретной постановке [7]. Предполагается, что изменение вектора состояния х(t) линейной динамической системы описывается системой А линейных конечно-разностных уравнений xz = Az_ i xz_ j + Tz + |z , /=1,...,А, (1) где xz — вектор состояния системы размерности и; |z — вектор возмущений размерности n; Az _ t — матрица системы размера п х п, Tz — известный вектор управлений размерности м. Начальные условия для системы уравнений (1) заданы с некоторой погрешно¬ стью Ах0 х(0) = гпц + Ах0. (2) В моменты z = 1, ..., АА осуществляется измерение /у-мерного вектора наблюда¬ емых параметров у. (/■) одного из К возможных измерительных каналов У/*,) = Н/0 xi + ’/Д)’ * = 1» • • •> М (3) где Ну (/z) — известные матрицы размера /у хи; ^y(Zz) — векторы ошибок измерений размерности /у. В дальнейшем, там, где это возможно, индекс /будет опускаться. Вектор погрешностей начальных условий Ах0 , а также векторы возмущений {|z} и ошибок измерений { г/z}, i= 1, ..., N, включают в себя как случайные, так и неопределенные составляющие Ах0 = Axg + Axg, 7/ = ?7f + iff , (4) Предполагается, что случайные составляющие Ах§, {£f}, {rf} некоррелирова- ны по времени, а также между собой, имеют нулевые математические ожидания (МО) и известные матрицы вторых моментов ро = М {AxgAxg7}, D,. = {М (5) R(. = {М i=l,...,N. АПр-4 -89-
Неопределенные составляющие Axg, {£<*}, {iffl не могут быть описаны в терми¬ нах вероятностного подхода. Предполагается только, что их компоненты удовлет¬ воряют ограничениям вида IAxgO)| <А0, I^01 < п, i= 1,.... N, (6) l7^)l < стр?), Необходимость учета неопределенных факторов в равенстве (4) обусловлена неполной адекватностью используемых моделей движения и измеряемых функций реальному движению системы и реальному процессу измерений. Неадекватность модели Связана с наличием статистически немоделируемых ускорений и медленно меняющихся ошибок измерений, а также погрешностями ее линеаризации. СООТНОШЕНИЯ РЕКУРРЕНТОГО ОЦЕНИВАНИЯ ВЕКТОРА СОСТОЯНИЯ Оценивание вектора состояния динамической системы осуществляется посред¬ ством фильтра Калмана, который может быть представлен рекуррентными соотношениями вида X,. = Az _ ! Я- _ ! + Р* HfR-1 (у. - Hz А,- _ ! Х(. _ ! - г,.), Р* = (Р-1 + нт R-l Н,.)-1 = Рг- - Р,- Hf (Н,- р(. Hf + Rz)“l Н(. р(., (7) Р/ = Аг - 1 Р*- 1 АГ- 1 + Ч- > i = !>•••> ХО = /ИО . Здесь xt — оценка текущего вектора состояния; х^ — оценка вектора состоя¬ ния на предыдущий момент; Р* , Р*_ j — апостериорные ковариационные матри¬ цы вектора состояния на соответствующий момент времени. АНАЛИЗ ТОЧНОСТИ АЛГОРИТМА РЕКУРРЕНТНОГО ОЦЕНИВАНИЯ Точность оценивания вектора состояния системы, соответствующего некоторо¬ му моменту времени /, характеризуется максимально возможными погрешностями оценок его компонент, которые должны удовлетворять условиям , /= 1,..., п, (8) где =(<ЗР ,... — заранее заданные векторы предельно допустимых погрешностей для моментов времени t = 1,..., М. Результаты, полученные в работах [3 ], [4 ], показывают, что в условиях нали¬ чия случайных и неопределенных факторов величины отклонений оценок компо¬ нент вектора состояния от их истинных значений определяются апостериорной ковариационной матрицей оценок Р* = М {(х, — х*) (xi — х*)т 1у.} и областью не¬ АПр-4 -90 -
определенности Jt для апостериорного МО вектора оценок х* = М {xz I yz}, которая может быть представлена в виде Jt= {xz:^.+ Ах*}, где л?- — апостериорное МО вектора xz при отсутствии неопределенных факторов, а сама область определяется возможными значениями вектора отклонений Ах* = х* — xz, для которого могут быть получены уравнения Ах* = (Е - Р* Hf Rr' Н(.) Ах* i _ ! - Р* Hf R"1 , Ax*z_ ! = Az _ j Дх*_ Jz=l,..., N, (9) Ax* = Ax«, где E — диагональная единичная матрица размера и х п. Таким образом, априорная оценка точности включает в себя: расчет области неопределенности Ji апостериорного МО оценки вектора состоя¬ ния xz, обусловленной неопределенными факторами; расчет матрицы ковариаций Р*, характеризующей случайный разброс оценок xz, обусловленный случайными возмущениями и погрешностями. В качестве границ области неопределенности Ji можно использовать максималь¬ но возможные значения компонент вектора отклонений Ах* (О , / = 1, ..., и, на z-й момент времени. Их расчет осуществляется следующим образом. После подстанов¬ ки выражения для Ах* z _ t, определяемого вторым уравнением системы (9), в пер¬ вое, она может быть преобразована в систему конечных выражений для Ах*. Эти выражения имеют вид функций от Axg и ,..., ,..., 77” , : Ах* = (Е — Vz Hz) £? - Vz + Lz Axg + i - 1 + 2 GzG/_1...Gt+1[(E-VtHp^-V^], 1=1,(10) k = 1 Axg = Axg . Здесь введены обозначения: Gz = (E - Vz Hz) Az_x — матрица размера n x м, Gi = E; Vz = P* H.T — матрица размера их/, “оцениватель” системы; Lz = Gz Gz__7 ... Gx, a Gz Gz_7 ... G^+1 — обозначает произведение матриц с Gwпо Gi- Система уравнений (10) позволяет определить максимально возможные значе¬ ния модулей компонент векторов Axz для каждого момента времени в виде выра¬ жений max 1Дх* 0)| = + Lz^ До + £ [GZGZ _ z ... g/+ xflk + к + 1 + Gz Gz _ j ... Ga + z (V, НЛ - E) (У) aj, i=l,..., N, (11) АП p-4 -91 -
где //•') = (E-VzHJ.)(y)^ +V,.(y)a,.; До = (ДО) ,д(")) , , ...,/Зр1)), of = (с^1),а(0) — векторы, составленные из предельных значений компонент неопределенных составляющих (6) [5 ]. Черта с индексом в скобках над матрицами обозначает соответствующую индексу строку абсолютных значений матричных элементов. Подробно алгоритм вычисления границ области неопределенности описан в работе [5]. СИНТЕЗ ВЫЧИСЛИТЕЛЬНОЙ СХЕМЫ РЕКУРРЕНТНОГО АЛГОРИТМА ОЦЕНКИ ВЕКТОРА СОСТОЯНИЯ С точки зрения объектно-ориентированного программирования программный комплекс калмановской фильтрации должен реализовывать объект, который может взаимодействовать с любым объектом из класса линейных динамических систем [1,6]. В работе [7] предложено решение поставленной задачи. Здесь ограничимся только изложением общих идей. Синтез вычислительной схемы производится на основе аппарата венских объектов [8 ]. Венский объект (далее просто объект) пред¬ ставляется в виде дерева. Существуют два класса объектов: элементарные объекты, не имеющие составляющих, и составные объекты, состоящие из конечного числа непосредственных составляющих, которые в свою очередь являются объектами. Непосредственные составляющие помечаются с помощью селекторов. Разным не¬ посредственным составляющим соответствуют разные селекторы. Конструкция объекта представляется списком пар селектор — объект. Каждая пара заключается в угловые скобки, внутри которых селектор и объект разделяются двоеточием. Например, объект EST, описывающий оценку текущего вектора состояния и оцен¬ ку вектора состояния для одношагового прогноза, можно представить в виде: EST = (< current: (< time: ct >, < state : ex >, < covstate: cP >) >, < next: (< time: nt >, < state: nx >, < covstate: cP >) >). Здесь current, next, time, state, covstate — селекторы, ct, ex, cP, nt, nx, nP — эле¬ ментарные объекты: текущее время, оценка текущего вектора состояния, ковариа¬ ционная матрица оценки текущего вектора состояния, а также время, вектор состояния и ковариационная матрица для одношагового прогноза. Непосредственные составляющие объекта выбираются с помощью селекторов. Например, current (EST) = (< time: ct >, < state: ex >, < covstate: cP >). Аналогично, time о current (EST) =ct, ще time ° current — составной селектор, полученный из селекторов time и current операцией конкатенации Такая операция называется операцией выбора. Для изменения объеков используется -оператор. Результатом операции // (А, <к : F >) , где к — составной селектор, будет объект А', который получается удалением составляющей к (А), если она существует и добавление новой составля¬ ющей такой, что F = к (А'). Объект типа линейная система 2 представляется в виде объекта следующим образом: 2 = =(< dimsys : n >, < mtresp: At >, < ftresp: Ft >, <covsys : Dt >, < noutput: k >, < listout: (< 1: (< dimout: >, < outfunc: НЦ >, < covout: Rtj >) >, < 2 : (< dimout: lk >, < outfunc : Htk >, < covout: Rtk >) > )>), -92- АПр-4
где n — размерность системы; At — функция, описывающия зависимость фундаментальной матрицы от време¬ ни, т. е. А- = At (i); Ft — переходная функция системы, т. е. FT (i, х) = Az-x + Г-; Dt — функция, описывающая зависимость от времени ковариционной матрицы суммарного шума системы; к — число выходов системы; 1у — размерность /-го выхода системы, /= 1,... к; Hty, Rty — функции, описывающие зависимость от времени выходной и ковариа¬ ционной матрицы /-го выхода. Теперь все подготовлено для определения объекта Е 2 типа “Фильтр Калмана”. Этот объект строится из объектов оценки состояния и линейная система как непос¬ редственных составляющих: Е 2 = (< lsys : 2 >, < est: EST >). Вычислительная схема алгоритма фильтрации представляется в виде функций, определенных над объектами. Функции определяются через операцию выбора и /z-оператор. Для задания логических условий используются предикаты, также опеределенные на множестве объектов. Условные выражения представляются кон¬ струкциями Маккарти [8 ]. Основными функциями вычислительной схемы являются функция МАКЕ — со¬ здание объекта “Фильтр Калмана” и функция ESTIMATE — оценка вектора состо¬ яния. Формальные определения этих функций на основе операции выбора,, //-оператора, предикатов, определенных на множестве объектов и условных выра¬ жений приведены в (10). Здесь ограничимся только их неформальным описанием. Исходной информацией для создания объекта является информация о системе, то есть объект типа “линейная система” 2, а также начальный момент времени математическое ожидание и ковариационная матрица начального состояния. Результатом функции МАКЕ является объект типа “Фильтр Калмана”: Е2 = МАКЕ (2, /0 х0 Ро). Исходной информацией для функции ESTIMATE является объект типа “Фильтр Калмана” Е 2Z, время поступления измерения t, номер канала измерения / и сам вектор измеренных значений у. Результатом работы функции является объ¬ ект типа “Фильтр Калмана” Е 2 . + р который содержит обновленную оценку со¬ стояния, если поступившее измерение не было отбраковано, либо предыдущую оценку состояния, если измерение отбраковано: Е 2. + j = ESTIMATE (Е 2f, t, j, у). Разработанная в работе [7 ] вычислительная схема позволяет по формальному описанию линейной системы в виде объекта 2 и характеристикам исходного состоя¬ ния строить объект типа “Фильтр Калмана” Е 2, над которым определена функция оценки состояния. Тем самым решена поставленная задача. Приведенные абстракты рассмотрения могут быть непосредственно использова¬ ны для создания программного комплекса фильтрации на языке Си. Абстрактные объекты при этом перейдут в конструкции struct, а абстрактные функции МАКЕ и ESTIMATE — в соответствующие функции Си. Такой программный комплекс был использован в работе [5 ]. АПр-4 -93-
Разработана методика синтеза вычислительной схемы и оценки точности проце¬ дуры динамической фильтрации линейной системы на основе информации о струк¬ туре системы. Предложенная методика позволяет реализовать универсальный программный комплекс динамической фильтрации, взаимодействующий с про¬ граммами, моделирующими работу системы, с использованием фиксированных ин¬ терфейсов. Программный комплекс, реализованный в среде операционной системы UNIX и построенный на основе описанной в статье методики, успешно используется в Бал¬ листическом центре Института прикладной математики им. М. В. Келдыша РАН для оперативного контроля по траекторным измерениям участка выведения косми¬ ческого аппарата на орбиту искусственного спутника Земли. 1. A k i m Е. L., Т u с h i n A. G. System for information processing and executing calculational tasks for ballistic and navigation support of spacecraft mission //Proceedings of the international symposiun “Ground data systems for spacecratf control”, ESA, 1990. P. 691 —706. 2. Калман P., Ф а л б П., A p б и б M. Очерки по математической теории систем. M.: Мир, 1971. — 400 с. 3. Куржанский А. Б. Управление и наблюдения в условиях неопределенности. М.: Наука, 1977. —392 с. 4. М а л ы ш е в В. В., К р а с и л ь щ и к о в М. И., К а р л о в В. И. Оптимизация наблюдения и управления летательных аппаратов. М.: Машиностроение, 1989. — 312 с. 5. К в а ш н и н А. Г., Т у ч и н А. Г. Априорная гарантированная оценка точности определения параметров динамической системы //Препринт ИПМ им. М. В. Келдыша АН СССР. 1991. № 104. — 23 с. 6. ИлюшинА. И., Дерябин Н. Б. Объектно-ориентированный подход и сетевое программное обеспечение //Программирование. 1990. № 6. С. 81—88. 7. Тучин А. Г., Квашнин А. Г. Синтез вычислительной схемы алгоритма оценивания параметров динамической системы //Препринт ИПМ им. М. В. Келдыша АН СССР. 1991. № 126. — 20 с. 8. ОлонгренА. Определение языков программирования интерпретирующими автоматами. М.: Мир, 1977. —288 с. АПр-4 -94-
Корпорация Моторола вышла на рынок России и других стран СНГ. Она еще мало известна российскому пользователю. Ее новейшая серия настольных суперкомпьютеров - серия 900 заслуживает самого пристального внимания. Крэй на столе!!! Модели 810 911&912 921&922 933 963 Ц.Проц. MVME187 MVME197LE MVME197LE MVME197SP MVE197DP/QP Интегрированный Процессор плавающей точки Производ. 50MIPS 122MIPS 153MIPS 153MIPS 306/612MIPS Кэш память на чипе 0 16КВ 16КВ 16КВ 32/64КВ Память на плате (Mb) 0 32 или 64 32 или 64 128 или 256 128 или 256/ 256 или 512 Максим, память (Mb) 256 576/1216 576/1216 640/1280 640/1280/ 512/1024 Гигабайтовые диски. Гигабайтовые цифровые ленты. Оптические накопители. Графические рабочие станции. Системы обработки изображений. Системы САПР. Системы управления технологическими процессами. Системы управления воздушным движением. Все модели организованы на шине VME с форм-фактором еврокарт. Открытые системы!!! 500 производителей плат для VME. Свыше 5000 различных плат. На все случаи жизни. Стоимость миллиона команд в секунду существенно ниже чем на сетях Novell. Самая экономичная на российском рынке!!! Пятилетняя гарантия. Генеральный дистрибутор систем Моторолы в России: Москва, J.B. Electronic Supplies, Краснопресненская наб. 12, оффис 11-09, тел./факс 253-11-09. Поставки компьютеров, программного обеспечения, средств телекоммуникации. Поставки элементной базы. Банковские системы под ключ.
Информатика. Сер. Автоматизация проектирования / ВИМИ, 1993, вып. 4, 1-96 с. Редактор Г. Ф. Богданова Технический редактор М. В. Александрова Корректоры Л. П. Лескова, М. В. Петрова, Л. В. Свирякова ЛР № 020357 3.01.92. Подписано в печать 8.12.93 г. Формат 70x108 1/16. Бумага офсетная. Печать офсетная. Усл.печ.л. 8,4. Уч.-изд.л. 9,3. Тираж 500 экз. Заказ 3568. Отпечатано в ВИМИ. 123584, Москва. Индекс 66659. 10 статей. АПр-4 -96-
УЭЗ УРАЛЬСКИЙ ЭЛЕКТРОМЕХАНИЧЕСКИЙ ЗАВОД разрабатывает и выпускает КД САПР пресс-форм литья под давлением термопластов, где выполняется: • расчет исполнительных размеров и уклонов оформляющих деталей пресс-формы; • проектирование гладких и резьбовых знаков; • проектирование наклонных колонок; • проектирование выталкивателей. • диалоговый режим проектирования на основе введенных размеров рабочей зоны под формообразующую часть пресс-формы. САПР пробивных штампов печатных плат: • обеспечивает интерактивный режим проектирования с визуализацией на графическом терминале всех промежуточных и конечных результатов; • система реализована как автоматизированное рабочее место. Система сокращает время подготовки и внедрения новых изделий за счет уско¬ рения выпуска КД, улучшения качества и быстрого отслеживания изменений КД в условиях реального производства. 620151, г. Екатеринбург,Главпочтамт, а/я 74. Телефоны 41-69-31, 44-94-12.
Индекс 66659 ВНИМАНИЕ! Фирма ANALOG DEVICES Inc. и ее официальный представитель в России и странах СНГ компания AUTEX Ltd. с 1 декабря 1993 г. проводят конкурс на лучшие программы по цифровой обработке сигналов, ориентированные на семейство процессоров ADSP 21XX. Главный приз — поездка в Бостон (США), в головное подразделение фирмы с вручением Университетского комп¬ лекта DSP. Последний срок подачи программ (демо-версий) — март 1994 г. Если Вы знакомы с семейством TMS, то согласитесь, что работать с процессорами, которые в три раза быстрее и в два раза дешевле, — гораздо интереснее. Фирма предоставляет полный комплект отладочных средств. Для учебных заведе¬ ний — специальные экстранизкие цены в рамках Универси¬ тетской программы. AUTEX Ltd. предлагает весь спектр продукции фирмы ANALOG DEVICES Inc. (микросхемы АЦП, ЦАП, измери¬ тельных усилителей и т. п.). Вы можете получить консультации по вопросам применения элементов ANALOG DEVICES Inc. в Ваших изделиях, а также помощь в разра¬ ботке устройств в области измерения и обработки сигна¬ лов с оптимальным соотношением параметры — стоимость. УЧАСТИЕ В УНИВЕРСИТЕТСКОЙ ПРОГРАММЕ ANALOG DEVICES Inc. - ОКНО В МИР СОВРЕМЕННЫХ ТЕХНОЛОГИЙ И 117806, Москва, Профсоюзная, 65, AUTEX Ltd. . Fax (095) 420-20-16 Тел. (095) 334-77-41