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

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

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

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

Добавлен: 15.07.2024

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

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

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

управляя машинным диспетчером. Периодически с задан­ ным интервалом (несколько минут) просматривается имеющееся расписание решения задач, которые и запус­ каются в работу, прерывая решение задач, не предъяв­ ляющих особых требований к времени решения. В то же время СДП принимает задания от абонентов.

При приеме заданий СДП выполняет следующие функции:

принимает сообщения с терминалов, подключенных к системе через каналы связи;

обеспечивает размещение принимаемого сообщения в выделенном участке оперативной памяти;

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

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

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

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

Библиотека стандартных подпрограмм и типовых про­ грамм (БСП) является существенным компонентом МО АСУП, позволяющим свести программирование задач к

83

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

В первую очередь в БСП входят подпрограммы обще­ го применения, содержащие: подпрограммы обработки единиц информации (ПОЕИ); подпрограммы поиска и выборки данных (ПВД); подпрограммы сортировки ин­ формации (ПС); подпрограммы подборки (ПП); подпро­ граммы ввода и вывода информации (ПВВ).

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

Программы типовых задач (ПТЗ) предусмотрены для наиболее часто встречающихся ситуаций в производствен­ но-экономических задачах, из которых можно назвать следующие: расчет количественного состава объектов (К.СО); выполнение группировок (ВГ); подготовка сво­ док по различным разрезам (ПСР); расчет балансовых задач (РБ).

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

В основу построения МО должен быть положен иерар­

84


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

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

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

быть обеспечена возможность

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

из частей, подготовленных на

базе различных средств

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

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

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

85


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

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

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

4. ОСНОВНЫЕ КОМПОНЕНТЫ ММО

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

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

86

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

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

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

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

Кратко охарактеризуем эти компоненты, ориентируясь на математическое обеспечение машин серии «Минск»

[14].

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

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

Обозначения отдельных элементов программы — это наборы знаков, представляющих наименования этих

87


элементов. Целесообразно выбирать их так, чтобы они мнемонически отображали представляемый ими элемент. Обозначения могут быть простыми и составными, представляющими собой сумму (разность) нескольких составляющих.

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

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

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

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

Общее описание языка «Кобол». Язык «Кобол» [И ]

предназначен для описания задач обработки данных,

88

которые составляют основу АСУП, и в этой области «Кобол» пока что не имеет себе конкурентов.

Описание некоторого процесса обработки данных должно включать: название процесса; описание обору­ дования ЦВМ, на которой будет производиться решение задачи; описание данных, подлежащих обработке; описа­ ние процедур, выполняемых при переработке данных и определяющих способ обработки данных. В соответствии с этим «Кобол»-программа делится на четыре раздела: «Отождествление», «Оборудование», «Данные», «Про­ цедуры».

В разделе «Отождествление» указывают сведения, слу­ жащие паспортом задачи: ее название, фамилия програм­ миста, степень важности и др.

Раздел «Оборудование» содержит описание вычисли­ тельной системы, на которой будет решаться задача, а именно те ее особенности, которые могут меняться от задачи к задаче: объем оперативной памяти, количество магнитных лент и оборудования, которое используется в данной задаче. Для каждого массива данных указы­ вают, на каком внешнем носителе (магнитная лента, пер­ фокарты, печатающее устройство и т. п.) предполагается его хранить.

Раздел «Данные» содержит полное описание подлежа­ щих обработке данных и в значительной мере не зависит от машины, которая будет обрабатывать данные.

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

Программа, написанная на языке «Кобол», должна быть переведена в программу, написанную на языке ма­ шины (в машинные команды), только после этого ее можно использовать для обработки данных. Этот перевод выполняют следующим образом.

Машину, пользующуюся языком «Кобол», снабжают транслятором. Транслятор фактически представляет

89