Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Оперативные графические системы в автоматизации проектирования

..pdf
Скачиваний:
4
Добавлен:
19.10.2023
Размер:
6.87 Mб
Скачать

Г л а в а 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

Ниже рассматриваются принципы построения н алго­ ритмы работы некоторых частей программного обеспе­ чения ОГС.

Важной задачей управления при работе в режиме диалога является согласование двух асинхронных про­ цессов: вычислений и обслуживания запросов пользова­ теля: Возможны два состояния ОГС: счет по программе, ожидание ввода с пульта.

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

Синхронизацию процессов обеспечивает программный блок связи ОГС с пользователем — монитор и ряд ап­ паратурных блоков. Основными сигналами для управле­ ния и обмена являются требование ввода от программы; запрос ввода пульта, указывающий на готовность информации к вводу; команда ввода, вызывающая пере­ дачу информации от пульта. Рассмотрим некоторые способы синхронизации.

 

Поздний

Ранний

 

(

запрос

 

запрос

Вычислительная

 

Требование

 

■оШдао—

программа

i Г

 

Монитор

 

Время

 

 

Рис. 5.2. Синхронное обслуживание запросов. Однопрограммпын процессор

138

Синхронное обслуживание запросов. При использова­ нии простого однолрограммного процессора монитор «встраивают» в вычислительную программу. По требо­ ванию ввода команда анализа монитора проверяет нали­ чие запроса (рис. 5.2). При этом возможны такие ситуа­ ции: запрос поступил раньше команды анализа; запрос поступил позже команды анализа; запрос и команда поступили одновременно.

В первом случае (ранний запрос) сигнал запроса ус­ танавливает указатель запроса У3: = 1, т. е. запоминает­ ся до момента анализа указателя программой. По уста­ новленному в 1 указателю производится обмен с пуль­ том, и указатель гасится. Во втором случае (поздний запрос) отсутствие запроса вызывает останов процессора

Рис. 5.3. Синхронное обслуживание запросов. Многопрограммный процессор

139

Соседние файлы в папке книги из ГПНТБ