Файл: Зайцев Н.Г. Информационное и математическое обеспечение АСУП.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.07.2024

Просмотров: 94

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

при этом команд, позволяет более эффективно организо­ вать процесс отладки и обучение ей программистов.

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

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

Машинная диспетчерская программа получает зада­ ние от системной диспетчерской программы, которая обеспечивает режим работы в соответствии с ритмом предприятия. Функции системного диспетчера может вы­ полнять оператор системы, следящий за распорядком и последовательностью выполнения задач.

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

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

резидент; блок связи с оператором;

блок управления последовательностью заказов; блок управления внешним оборудованием; блок реакций на сбои.

Резидент непрерывно находится в оперативной памя­ ти и в зависимости от ситуации вызывает в память те

V*4*

99



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

Глава IV

СОСТАВ И ХАРАКТЕРИСТИКА ПРОГРАММ ОБЩЕСИСТЕМНОГО МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ

1. ОРГАНИЗАЦИЯ И СОСТАВ ОСМО

Основными компонентами общесистемного математиче­ ского обеспечения являются системная диспетчерская программа и библиотека стандартных подпрограмм и типовых программ, предназначенных для обработки про­ изводственно-экономической информации. Инструментом программирования, естественно, является машинное математическое обеспечение, в первую очередь это отно­ сится к системе автоматизации программирования и к обслуживающим программам. Библиотека стандартных подпрограмм, имеющаяся в машинном МО, является переходной ступенью к развитию и разработке системной библиотеки, ориентированной на процессы обработки информации в АСУП.

Библиотека стандартных подпрограмм и типовых (БСП) содержит набор запрограммированных стандарт­ ных процедур и типовых схем решения задач. Подавляю­ щее большинство программ решения производственно­ экономических задач в АСУП может быть составлено из этих процедур, скомбинированных в различных сочета­ ниях. Таким образом, при наличии БСП программирова­ ние сводится практически к определению последователь­ ности процедур и к написанию обращений к ним. При необходимости выполнения специальных преобразований блоки для их выполнения пишутся программистом и размещаются между соответствующими стандартными процедурами.

Как стандартные процедуры, так и связи между ни­ ми пишутся на языке символического кодирования в соответствии с правилами, принятыми в ММО.

БСП состоит из двух частей: стандартных подпро­ грамм общего назначения; специализированных типовых

101


Рис. 9. Структура библиотеки стандартных подпрограмм и типовых программ.

программ. Стандартные подпрограммы представляют собой запрограммированные процедуры обработки еди­ ниц информации. Типовые программы являются собст­ венно задачами, ориентированными на определенное

производственно-экономическое содержание, например расчет баланса.

Единицами информации, на работу с которыми ориен­ тирована БСП, являются: массив; запись; элемент данных.

Как стандартные подпрограммы, так и типовые про­ граммы объединены в группы, содержащие программы одинакового характера. Целесообразно специализиро­ вать программистов и выполнять программирование по группам.

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

Программы общего назначения состоят из следую­ щих подпрограмм: обработки единиц информации; по­ иска и выборки единиц информации; сортировки масси­ вов; подборки информации; печати данных. Программы информационного обеспечения состоят из программ: формирования массивов; контроля и печати массивов. Программы решения задач содержат четыре группы программ: расчета количественного состава объектов; решения задач учета (расчет баланса и составление сводных документов); работы с групповой номенклату­ рой; информационно-справочного обслуживания.

2. СТРУКТУРА ПРОГРАММ

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

103

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

ся в соответствующих описаниях

массивов.

Перечень

_____

 

идентифицирующих

при­

пз,

 

знаков

и

вычисляемых

 

показателей, т. е. условия

 

 

работы,

являются также

ИТ,

 

разными для задач. Опи­

 

сание условий задается в

пз 1р

 

таблице

условий. Кроме

 

того, условия расчета мо­

 

 

гут быть одинаковыми, но

 

 

расчет ведется

примени­

пз2

 

тельно к разным объек­

 

там, например склады 1,

 

 

2, ..., п.

Это

учитывается

ит2

Типовая

в параметрах заказа.

 

Таким образом,

для

программа

пз9

 

каждой

программы

име­

 

ется

несколько

вариантов

 

 

условий,

определяющих

 

 

различное

применение

 

 

программ. Кроме того, за­

 

 

даются

еще

переменные

пз.

 

условия,

 

варьирующие

 

 

применение программы в

ИТ„

 

рамках

пакета

условий

 

(рис. 10).

Возможности

 

 

 

 

применения

типовой

про­

пз «/

 

граммы при этом сущест­

 

венно расширяются.

 

 

 

Итак, типовая програм­

Рис. 10. Схема вариации условий

ма состоит из следующих

для типовых программ.

 

частей: ядра; используе­

 

 

мых

процедур;

информа­

ционных таблиц; параметров заказа.

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

104


подпрограмм, включается в библиотеку стандартных подпрограмм, откуда и считывается диспетчерской про­ граммой для выполнения в соответствии с очередью заказов. Используемые процедуры входят в состав биб­ лиотеки стандартных подпрограмм. Использование и обращение к подпрограммам определяются правилами, принятыми для компоновки программ в ММО. Информа­ ционные таблицы (ИТ) определяют условия работы программы, применительно к конкретным ситуациям. Параметры заказа (ИЗ) являются элементами, внеш­ ними по отношению к программе, и непосредственно в ее состав не входят. Они задаются программе оператором, диспетчерской программой или предыдущей рабочей программой.

В соответствии с ИЗ программа считывает необходи­ мые ИТ и описания массивов, осуществляет доступ к нужным массивам, а затем выполняет решение задачи.

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

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

3. ОБРАБОТКА ДАННЫХ

В процессе обработки данных различают два процесса: выполнение над элементами данных вычислительных и логических операций, затрагивающих значение и смысл элементов и составляющих алгоритм решения той или иной конкретной производственно-экономической задачи; выполнение над элементами данных операций, кото­ рые представляют формальные действия с элементами

105

как таковыми, независимо и безотносительно к их смыс­ ловому значению.

В крупноразмерных массивах проблема оперирова­ ния с данными как со структурными единицами приобре­ тает большое значение. В то же самое время в большин­ стве производственно-экономических задач объем расчет­ но-логической обработки совершенно незначителен. Так, например, в задачах расчета баланса, являющихся не­ пременной составной частью большинства функциональ­ ных подсистем, расчет заключается в выполнении всего лишь двух операций: Остаток + Приход — Расход = «= Результат. Такое положение обусловливает необхо­ димость разработки и формальных процедур обработки данных, которые сводятся к трем основным типам: струк­ турные преобразования; упорядочение массивов и до­ ступ к данным.

Структурные преобразования заключаются в разме­ щении элементов данных в принятых структурах, а упорядочение массивов и доступ к данным рассмотрим подробнее.

Упорядочение массивов заключается в расположении всех записей в нем друг по отношению к другу в опре­ деленном порядке. Как правило, упорядочение произво­ дят по принципу монотонного изменения значений сово­ купности элементов при переходе от одной записи к другой. Совокупность элементов, учитываемых при упоря­ дочении, называется ключом сортировки. Обратим внима­ ние, что в ключ сортировки может входить несколько элементов, поэтому им присваивают определенное стар­ шинство (или подчиненность). Элементы с меньшим старшинством принимают в расчет лишь при равенстве элементов с большим старшинством. Как правило, в ка­ честве ключа сортировки выбирают элементы, которые используются наиболее часто или представляются наи­ более важными.

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

106