Файл: Зайцев Н.Г. Информационное и математическое обеспечение АСУП.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.07.2024
Просмотров: 106
Скачиваний: 0
управляя машинным диспетчером. Периодически с задан ным интервалом (несколько минут) просматривается имеющееся расписание решения задач, которые и запус каются в работу, прерывая решение задач, не предъяв ляющих особых требований к времени решения. В то же время СДП принимает задания от абонентов.
При приеме заданий СДП выполняет следующие функции:
принимает сообщения с терминалов, подключенных к системе через каналы связи;
обеспечивает размещение принимаемого сообщения в выделенном участке оперативной памяти;
производит запись принятого сообщения в накопитель и занесение в таблицу очередности информации о посту пившем сообщении;
выдает сигнальную информацию на терминал абонен та о том, что сообщение принято, либо, если машина за гружена, об отказе.
Сообщения, вводимые в машину, содержат информа цию, от какого абонента поступает сообщение и по какой программе должно обрабатываться сообщение. Конец со общения указывается специальным признаком. Содержа тельная структура сообщения должна соответствовать структурам, принятым в информационном обеспечении системы.
Диспетчерская программа обеспечивает приоритетный режим выполнения рабочих программ, включенных в ка талог рабочих программ и находящихся в оперативной готовности на магнитной ленте. После окончания приема сообщения по номеру абонента и номеру программы в соответствии с таблицей приоритетов определяется при оритет поступившего сообщения. Если приоритет по ступившего сообщения выше приоритета выполняемой программы, то вся информация, находящаяся в опера тивной памяти и относящаяся к данной программе, записывается на внешний накопитель, информация о прерванной программе записывается в таблицу пре рванных программ, после чего производится вызов программы по номеру, указанному в поступившем сооб щении, и запуск ее в работу.
Библиотека стандартных подпрограмм и типовых про грамм (БСП) является существенным компонентом МО АСУП, позволяющим свести программирование задач к
83
сборке их из крупных программных блоков. С точки зрения применения и получаемых результатов программы БСП целесообразно подразделять на стандартные подпро граммы (СПП), выполняющие характерные процедуры обработки данных и ориентированные главным образом на использование в составе других программ, и типовые программы (ТП), реализующие законченные алгоритмы определенного производственно-экономического содер жания.
В первую очередь в БСП входят подпрограммы обще го применения, содержащие: подпрограммы обработки единиц информации (ПОЕИ); подпрограммы поиска и выборки данных (ПВД); подпрограммы сортировки ин формации (ПС); подпрограммы подборки (ПП); подпро граммы ввода и вывода информации (ПВВ).
Программы информационного обеспечения (ПИО) предназначены для ввода и преобразования в машинную форму документной информации, для организации ма шинных массивов и поиска и извлечения требуемых дан ных из них, для преобразования в документную форму и вывода на внешние устройства выходных данных. ПИО содержит программы двух типов: программы подготовки и организации массивов (ПМ) и программы контроля и печати массивов (КПМ). При простых формах обработки данных ПИО несет основную нагрузку при решении задач.
Программы типовых задач (ПТЗ) предусмотрены для наиболее часто встречающихся ситуаций в производствен но-экономических задачах, из которых можно назвать следующие: расчет количественного состава объектов (К.СО); выполнение группировок (ВГ); подготовка сво док по различным разрезам (ПСР); расчет балансовых задач (РБ).
/ Программы информационно-справочного обслужива ния (ИСО) входят в состав МО и реализуют информа ционно-справочные задачи, возникающие при управлении предприятием. В функции ИСО входит оперативное обес печение абонентов фактическими данными справочного характера на основе массивов справочной информации. Программы должны осуществлять поиск информации в массивах данных по поступающим запросам и выдавать результаты в виде справки или соответствующего доку мента.
В основу построения МО должен быть положен иерар
84
хический принцип, означающий, что имеется несколько уровней подчиненности программ. Это обусловлено как подчиненностью функций одних программ функциям дру гих, так и концентрацией мощности процедур за счет ком поновки нескольких одноуровневых процедур в одну, которая содержит также управление этими процедурами.
Иерархический принцип построения программ тесно связан с другим принципом построения МО — модульно стью. С ростом функциональной сложности программы ее объем растет. При этом программа становится плохо обозримой, что приводит к трудностям усовершенствова ния и обозрения. Возникает необходимость в разделении на функциональные блоки, связываемые друг с другом унифицированными связями.
Необходимо свести к минимуму программирование при подготовке к решению задач управления, поэтому особое внимание следует уделить удобной, полной и эф фективной БСП. В системе автоматизации программиро вания необходимо разрешить задачу совместимости раз личных языков и средств программирования. Должна
быть обеспечена возможность |
компоновки программы |
из частей, подготовленных на |
базе различных средств |
программирования. Необходимо широко применять прин цип умолчания, когда предусматривается стандартная си туация и указываются только отклонения от нее.
Для работы программ в условиях ограниченных объе мов памяти необходимо использовать сегментацию любой глубины. То есть каждая программа есть сегмент, кото рый в свою очередь состоит из нескольких сегментов и т. д. Таким образом, строится программа любой слож ности. Программы должны быть предусмотрены для работы в любой комплектности машины: от минимальной до-максимальной.
Программы математического обеспечения, помимо их использования в машине, разрабатываются, рассматри ваются и применяются так же и людьми — разработчи ками и пользователями систем. Следовательно, необходи мо представить эти программы не только в машинной форме, но и в понятиях и представлениях, принятых в человеческой деятельности. Должно существовать две формы представления программ: машинное и документ ное. Поэтому непременной составной частью МО долж на являться тщательно подготовленная документация,
85
содержащая описания программ и инструкции по их использованию.
Документация, входящая в состав МО, по каждой программе должна содержать следующие материалы: техническое описание программы, включающее в себя функциональное описание программы, описание структу ры программы, описание формата входных и выходных данных; блок-схему программы с комментариями; отла дочные и контрольные примеры с выдачей результатов; ведомость расхода средств, трудозатрат и машинного времени на составление программы; справочное руковод ство для пользования; рабочие инструкции для обслужи вающего персонала; программу на носителях и в форме, пригодной для непосредственного ввода в машину.
Общий объем работ по подготовке и оформлению до кументации оценивается в 20—25% от суммарных трудо вых затрат на разработку программы. Однако на эти затраты следует идти, документация должна быть тща тельно подготовлена, так как без нее использование математического обеспечения невозможно.
4. ОСНОВНЫЕ КОМПОНЕНТЫ ММО
Несмотря на сравнительное многообразие средств про граммирования, обслуживания программ и диспетчиро вания, отличающихся возможностями и деталями реали зации, можно выделить основные компоненты ММО, имеющие первостепенное значение для создания МО АСУП.
Прежде всего, это два языка программирования: мне мокод и проблемно-ориентированный язык «Кобол». Мне мокод, или язык символического кодирования, позволяет программировать МО АСУП со значительным уменьше нием затрат труда, сохраняя при этом возможность опти мизации программ, и практически равный программиро ванию в машинных кодах. Проблемно-ориентированный язык «Кобол», имеющий большие возможности для описа ния структур данных, является наиболее эффективным средством для программирования производственно-эко номических задач, отличающихся сложностью структур данных и сравнительной простотой их обработки. Особен но велики преимущества языка «Кобол» для описания алгоритмов и отработки схем решения задач. Составление
86
на нем программ регулярного применения не доста точно эффективно [8] из-за большей траты времени на их работу по сравнению с теми же программами, запро граммированными на языке символического кодиро вания.
Программы ведения программного аппарата, учи тывая большой объем программ МО АСУП, большую степень их изменяемости, широкое комбинирование про грамм из программных блоков и использование различ ных входных языков, являются насущной необходимо стью. С помощью обслуживающих программ осуществля ется оперирование с многочисленными и разнообразными элементами МО.
На любом этапе работы АСУП производится усовер шенствование и развитие функций системы, а следова тельно, и ее МО. Для выполнения работ по отладке вновь составляемых программ используют отладочные програм мы, которые, таким образом, являются существенной компонентой ММО.
Наконец, организация вычислительного процесса на машине, прохождение потока задач и управление устрой ствами машины осуществляет диспетчерская программа, которая является управляющим элементом функциони рования машины. Без нее работа в системном режиме невозможна.
Кратко охарактеризуем эти компоненты, ориентируясь на математическое обеспечение машин серии «Минск»
[14].
Язык символического кодирования представляет собой систему операторов, соответствующих понятию машинной команды, в которых используются мнемонические обозна чения кодов операций и символические названия операн дов и элементов программы. Для обозначения констант в числовой, адресной или текстовой форме предусматри ваются соответствующие операторы, являющиеся указа телем константы соответствующего типа.
Знаковыми элементами языка являются: буквы рус ского алфавита; буквы латинского алфавита; цифры; разделительные и пунктуационные знаки. Все эти знаки должны быть элементами алфавита, принятого в ма шине.
Обозначения отдельных элементов программы — это наборы знаков, представляющих наименования этих
87
элементов. Целесообразно выбирать их так, чтобы они мнемонически отображали представляемый ими элемент. Обозначения могут быть простыми и составными, представляющими собой сумму (разность) нескольких составляющих.
В качестве операндов можно указывать не только обо значения элементов, но и сами значения этих элементов, представляющие собой числа или текстовые константы. Операнд, указанный таким образом, называют лите ралом.
Программа на языке символического кодирования представляет последовательность операторов, основными типами которых являются: операторы описания элемен тов программы^ операторы распределения памяти; опе раторы, соответствующие командам системы команд ма шины; операторы управления последовательностью; опе раторы обмена с внешними устройствами; ряд операторов специального названия, в частности для выдачи указаний транслятору.
Программирование программы на языке символиче ского кодирования соответствует программированию в условных адресах в системе команд машины. Однако при этом имеются следующие преимущества: автоматическое распределение памяти и формирование адресов; выраже ние кодов операций и операндов в мнемонической форме; возможность внесения изменений в программу путем до бавления, изъятия или замены отдельных операторов без изменения других частей программы.
Программа, написанная на языке символического кодирования, вводится в машину и транслируется в машинный вид. Результатом работы транслятора является программа, представленная на внутреннем языке системы программирования машины, позволяющем объединять программы, оттранслированные с разных входных язы ков. При работе транслятор проводит синтаксический контроль для обнаружения в символической программе ошибок, которые могут возникнуть из-за неправильного использования языка символического кодирования. Транс лятор выполняет также специальные указания, имеющиеся в программе, например печать программы в том или ином виде.
Общее описание языка «Кобол». Язык «Кобол» [И ]
предназначен для описания задач обработки данных,
88
которые составляют основу АСУП, и в этой области «Кобол» пока что не имеет себе конкурентов.
Описание некоторого процесса обработки данных должно включать: название процесса; описание обору дования ЦВМ, на которой будет производиться решение задачи; описание данных, подлежащих обработке; описа ние процедур, выполняемых при переработке данных и определяющих способ обработки данных. В соответствии с этим «Кобол»-программа делится на четыре раздела: «Отождествление», «Оборудование», «Данные», «Про цедуры».
В разделе «Отождествление» указывают сведения, слу жащие паспортом задачи: ее название, фамилия програм миста, степень важности и др.
Раздел «Оборудование» содержит описание вычисли тельной системы, на которой будет решаться задача, а именно те ее особенности, которые могут меняться от задачи к задаче: объем оперативной памяти, количество магнитных лент и оборудования, которое используется в данной задаче. Для каждого массива данных указы вают, на каком внешнем носителе (магнитная лента, пер фокарты, печатающее устройство и т. п.) предполагается его хранить.
Раздел «Данные» содержит полное описание подлежа щих обработке данных и в значительной мере не зависит от машины, которая будет обрабатывать данные.
В разделе «Процедуры» описывают действия, выпол няемые в программе: ввод или вывод очередной записи (документа) из массива в массив, перемещение величин из одних документов в другие с необходимыми измене ниями или редактированием, арифметические действия над величинами и, как обычно, изменение последователь ности выполнения операций — условные и безусловные переходы, многократное выполнение группы предписаний в зависимости от некоторого параметра (то, что обычно называют циклами), обращения к процедурам и т. д.
Программа, написанная на языке «Кобол», должна быть переведена в программу, написанную на языке ма шины (в машинные команды), только после этого ее можно использовать для обработки данных. Этот перевод выполняют следующим образом.
Машину, пользующуюся языком «Кобол», снабжают транслятором. Транслятор фактически представляет
89