Файл: Оперативные графические системы в автоматизации проектирования..pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.10.2024
Просмотров: 77
Скачиваний: 0
Г л а в а 5
ОРГАНИЗАЦИЯ ИНФОРМАЦИОННО ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА В ОГС
В связи с ростом объема и сложности задач, решае мых с помощью ЭВМ, улучшением характеристик тех нических средств и необходимостью эффективного их ис
пользования возрастает роль |
информационно-програм |
много обеспечения (ИПО) |
вычислительных систем. |
В последние годы стоимость |
разработки ИПО сравня |
лась с затратами на создание оборудования, которое оно обслуживает.
Состав ИПО оперативной графической системы (ОГС) может изменяться в широких пределах в зависи мости от класса задач, решаемых с помощью ОГС; тре буемой степени интерактивности процесса автоматпзпрованйого проектирования; состава технических средств и архитектуры ОГС.
При любой конфигурации системы ИПО должно ре ализовать следующие возможности: управление вычи слительным процессом; представление модели проекти руемого объекта в памяти ЭВМ; оперативный вывод информации пользователю (в том числе в графической форме); оперативный ввод алфавитно-цифровой и гра фической информации; выполнение необходимых про блемных расчетов.
5.1. СТРУКТУРА ИПО ОГС
Организация ИПО ОГС зависит от типа пользовате ля системы. Таким пользователем может быть проблем ный программист, разрабатывающий, например, с по мощью системы методику оптимизации параметров, мо делирования функций пли компоновки технических
130
объектов. Круг задач в этом случае весьма широк — от решения систем дифференциальных уравнений, описы вающих динамику объекта, до просмотра на экране воз можных вариантов размещения его элементов. Алгоритм решения задачи должен быть сформулирован пользо вателем. Для этой цели применяются процедурно-ориен тированные языки высокого уровня. Система обеспечива ет оперативное описание задачи в терминах такого язы ка и предоставляет пользователю средства управления ходом решения и графической интерпретации результа тов. Для реализации этих возможностей должен быть предусмотрен режим ввода операторов исходного языка с пульта пользователя и редактирования исходного тек ста. Объектная программа может быть получена путем традиционной компиляции, однако в ряде систем исполь зуют более оперативный метод интерпретации програм мы, написанной на исходном языке [1, 2].
Основной режим работы системы — оперативная от ладка проблемных программ, пробные просчеты для изучения возможностей применения различных числен ных и графо-аналитических методов, сходимости и т. п. В связи с этим объектом работы системы можно считать отлаживаемую программу, которая рассматривается как набор данных для интерпретатора и отлаживающих программ.
Работа всех программ процедурно-ориентированной ОГС координируется монитором. Он может иницииро вать работу трансляторов и средств отладки и прекра тить выполнение любой программы, позволяет с по мощью графических программ отображать необходимую информацию на экране пульта. Совместно с операцион ной системой монитор обслуживает архив информации на носителях, содержащий, в частности, библиотеку от лаженных объектных программ и программ на входном языке. '!
Исходной информацией для монитора служат дирек тивы пользователя, имеющие форму операторов команд ного языка. Приведем возможные действия монитора, задаваемые такими операторами: начало и завершение работы; управление написанием и хранением программ (загрузить программу из библиотеки, сохранить в библи отеке, создать, ликвидировать); управление ходом вы числений (остановить, продолжить, продолжить с ад
9* |
131 |
реса); модификация программ (вставить, заменить, уда лить операторы); отладочные действия (трассировка, распечатка переходов, значений переменных); вычисле ния в пошаговом режиме.
Операторы командного языка вводятся с клавиатур пульта и после расшифровки вызывают соответствующие действия монитора. На экран пульта монитор выводит информацию о текущем состоянии системы, а также со общения об ошибках.
Алгоритм решения задачи может быть описан после довательностью операторов процедурно-ориентированно го языка, представляющего диалоговую версию извест ных языков (например, ФОРТРАНа) [3]. Входной язык обычно содержит операторы следующих типов: описа ния данных, присваивания: арифметические и логические, переходов, циклов, обращения к подпрограммам, вводавывода.
Для описания графики и построения структур дан ных язык может быть расширен включением дополни тельных операторов. К ним относятся операторы постро ения графических элементов, трансформации изображе ния, динамического распределения памяти, обработки списков.
Операторы входного языка, описывающие некоторый алгоритм, вводятся с клавиатур пульта в символьной форме и запоминаются в качестве исходного текста про граммы, который в дальнейшем может редактироваться. С целью упрощения и ускорения операций редактирова
ния текст обычно |
представлен в памяти |
списковыми |
|||
структурами. |
|
исходной |
программы и |
||
Для пошаговой трансляции |
|||||
счета по ней используется интерпретатор |
процедурно |
||||
ориентированного языка, в функции |
которого |
е х о д н т |
|||
также обнаружение ошибок. |
Синтаксические ошибки |
||||
обнаруживаются |
сразу после |
ввода |
оператора. |
При |
интерпретации программы могут обнаружиться некото рые семантические ошибки (например, «не установлено значение переменной»). Информация об ошибках выда ется интерпретатором на пульт пользователя, что позво ляет оперативно вносить исправления. Программа мо жет выполняться по мере написания операторов или блоков операторов входного языка, что значительно ускоряет, ее.отладку. В процессе пошагового, выполнен-
нпя пользователь следит за промежуточными результа тами. Он может в любой момент остановить выполнение программы, внести изменения и снова продолжить счет. Недостатком интерпретации является большее время выполнения интерпретируемой программы по сравне нию с программой, полученной с помощью компиляции. Поэтому система должна предусматривать возможность компиляции исходной программы после отладки ее в оперативном режиме для получения эффективной объ ектной программы.
Графическое обеспечение системы должно содержать набор процедур построения и модификации чертежей, графиков, диаграмм и т. п. и механизм идентификации элементов изображения, позволяющий с помощью ввод ных устройств (светового пера, маркера) задавать эле менты изображения в качестве параметров графических процедур. Для этого может использоваться таблица свя зей, устанавливающая соответствие между симводическимп наименованиями объектов в программе и адре сами соответствующих команд отображения.
Проблемно-ориентированные ОГС рассчитаны на пользователя-непрограммпста, поэтому алгоритмы ре шения задачи программируются заранее при разработ ке системы п образуют набор отлаженных программ. Несмотря на возможности пополнения и расширения библиотеки программ, такие системы менее универсаль ны, чем процедурно-ориентированные, н предназначают ся для решения задач определенного класса. Структура информационно-программного обеспечения проблемноориентированной ОГС показана на рис. 5.1. Помимо проблемных расчетных программ, в состав ИПО входят программы, организующие построение модели объекта, ее модификацию и отображение в диалоговом режиме.
Монитор обеспечивает связь пользователя с ОГС. Он содержит, в частности, программы обработки прерыва ний, которые нндентифицнруют причину прерывания, считывают определенные регистры пульта и вызывают программы обслуживания запросов. Специальные блоки монитора обрабатывают аварийные состояния пульта с учетом состава и характеристик его оборудования. Они интерпретируют различные аппаратурные сигналы сбоев, сообщают оператору ЭВМ о необходимых действиях, передают информацию об ошибочных ситуациях про-
133
1Программные |
-л. |
Организации |
Управление |
J модули |
-J |
данных |
Потони данных |
|
|
|
Риг. 5.1. Структура ИПО проблемно-ориентированной ОГС
блемным программам, а информацию |
о неисправном |
оборудовании — операционной системе. |
Особую слож |
ность представляет обслуживание дистанционных пуль тов. В этом случае монитор должен контролировать работу ЭВМ, программ, каналов связи п аппаратуры пульта. Интерпретатор командного языка является проб лемно-зависимым блоком монитора, который расшифро вывает команды пользователя и вызывает соответствую щие им расчетные или сервисные программы.
Программы построения и модификации модели по зволяют организовать в памяти ЭВМ данные о проекти руемом объекте с учетом характеристик и связей его элементов и оперативно изменять такую модель объек та [4]. Поиск и извлечение из модели данных по неко торым признакам осуществляют программы просмотра модели п выделения информации. Полученные данные могут использоваться в качестве фактических парамет ров в различных программах. Характерным для ОГС является использование геометрической информации об объекте для вывода его изображений на экран пульта. Программы отображения преобразуют эту информацию с учетом требуемого масштаба, точки зрения, типа про екции, задаваемых пользователем, в команды отобра жения. Аналитически это выражается матрицей проек тивного преобразования, описанной ранее.
Процесс автоматизированного проектирования в ОГС обычно состоит из ряда итераций. Модель первого прототипа объекта проектировщик создает в памяти ЭВМ исходя из условий задачи, с помощью проблемных расчетных программ, а также руководствуясь опытом н интуицией. Команды пользователя анализируются ин терпретатором командного языка и вызывают соответ ствующие программы построения модели. Результаты построений и расчетов оперативно выводятся на экран пульта с помощью программ отображения. Пользова тель анализирует полученные результаты и на основе этой оценки вносит изменения в модель проектируемого объекта либо заканчивает процесс на данной итерации. При проектировании используется библиотека типовых элементов, хранящихся во внешней памяти ЭВМ и вызы ваемых по мере необходимости в оперативную память. Предусматривается сохранение в библиотеке промежу точных н окончательных вариантов модели объекта.
135
Программы документирования результатов обеспе чивают вывод информации о спроектированном объекте на носитель в виде чертежей, схем, таблиц п т. п.
Приведенное разделение систем па процедурно-ори ентированные и проблемно-ориентированные достаточно условно. Состав аппаратуры п функции многих блоков НПО в обоих типах ОГС совпадают. Процедурно-ориен тированные системы часто используются в качестве инст румента при создании проблемно-ориентированных ОГС и по мере накопления отлаженных программ становятся доступными пользователю-непрограммнету. С другой стороны, возрастающая программистская квалификация специалистов всех профилей позволяет увеличить круг пользователей универсальных процедурно-ориентиро ванных систем п расширить возможности проблемноориентированных ОГС за счет введения в состав ИПО средств описания алгоритмов. Решающая роль принад лежит здесь проблеме создания простых и удобных языков общения человека с ЭВМ.
Информационно-программное обеспечение ОГС име ет широкий диапазон: от машинно-зависимых процедур обмена и обработки прерываний до трансляторов с про блемно-ориентированных языков. ■
При разработке ИПО необходимо учитывать различ ную квалификацию программистов. Следует стремиться к тому, чтобы программист, описывающий проблему, был
обеспечен языком возможно более |
высокого уровня. |
||
В частности, при описании |
графики |
он |
не должен от |
влекаться подробностями, |
связанными |
со спецификой |
конкретных графических устройств. Относительная неза висимость от аппаратуры позволяет продлить жизнь ин формационно-программных комплексов, стоимость раз работки которых весьма значительна, и наращивать библиотеки программ и банки данных в течение дли тельного времени. Для реализации указанных возможно стей необходимо локализовать функции, связанные с обслуживанием конкретной аппаратуры, в отдельных блоках ИПО, которые будут перепрограммпроваться при замене ЭВМ пли пульта пользователя. Целесообраз но строить ИПО в виде иерархии уровней, разрабаты ваемых параллельно [5]. При этом программы нижнего уровня должны обеспечивать управление техническими средствами, обработку их сигналов и необходимую орга-
136
пизацию памяти. Последующие уровни используют эти программы как операторы, машинно-независимого языка для описания процедур обработки графической . инфор мации, построения модели проектируемого объекта, управления режимом диалога пользователя с ОГС. Выс ший уровень иерархии — проблемно-ориентированные системы для решения конкретных задач проектирова ния. Помимо одновременной параллельной разработки программ, многоуровневая организация ИПО позволяет распределить работы среди программистов с учетом их квалификации, создавать открытые.для расширения сш стемы, быстро разрабатывать программы для. новых приложений. Агрегатная система модулей ИПО, вклю чаемых в состав системы при ее генерации, дает возмож ность легко получить различные конфигурации ОГС в зависимости от выполняемых функций и состава аппара туры. Некоторые функции, такие, как организация внеш ней памяти, управление вводом/выводом, распределение памяти, планирование работ, характерны не только для ОГС и могут быть реализованы операционной системой ЭВМ. Организация ОГС на базе универсальной. ЭВМ с мультипрограммированием пли разделением времени требует доработки соответствующей части обслуживаю щих ее программ.
5.2. с и н х р о н и з а ц и я п р о ц е с с о в ; ------:> : |
( |
||
Функции различных блоков ИПО можно''определить |
|||
как управление объектами |
_и |
процессами; |
обработка |
данных. |
" |
~1.................~ ~ ’ |
Обработка данных охватывает, широкий набор опера ций преобразования информации: проблемные расчеты, модификацию структуры модели, двусторонние, преобра зования формы представления информации.' (числовой п графической) и т. и. Управление включает вызов, запуск и останов соответствующих, программ, перевод их в ре жим ожидания внешнего события, обмен с пользовате лями ОГС (прием п анализ запросов, выдача сообще ний), обслуживание процессов в: аппаратуре-(определе ние состояния устройств, запуск, действия в аварийных
ситуациях), работу с |
массивами.. данных на носите |
лях и т. д. |
■; |
137