книги из ГПНТБ / Лоскутов В.И. Основы современной техники управления
.pdfРеализация специальных функций математического обеспечения АСУ в процессах управления
Характерной особенностью созданной АСУ является боль шое разнообразие форм управления как для ее отдельных звеньев и подсистем, так и для всего управляемого комплекса в целом. Особо сложные ситуации могут возникать из-за противоречивости общесистемных и частных целей.
Единовременное обслуживание многих абонентов стало воз можным в условиях работы вычислительной системы в ре жиме разделения времени. Это обеспечивает возможность од новременного обмена информацией между вычислителем и рядом отдельных объектов системы. Общее количество обслу живаемых объектов в системе, как правило, значительно пре вышает возможность одновременного обращения их к вычис лителю, и поэтому в условиях сложных АСУ устанавлива ются различные уровни управления с помощью стратегии приоритетов.
Уровень управления определяется функциональной важ ностью решаемых задач, в соответствии с чем распределя ются вычислительные ресурсы и устанавливаются приори теты.
Внешней причиной прерывания является сигнал поступле ния от внешнего абонента. В этом случае программа-диспет чер после уточнения принимаемых данных должна обеспе чить ввод и буферизацию информации абонента в системе ЭВМ. Внутренние прерывания возникают от устройств хране ния информации, процессора и монитора. К числу такого рода причин могут относиться, например, заявка на считывание данных с внешнего устройства в оперативную память, необ ходимость прерывания ввиду невозможности дальнейшей ра боты процессора из-за отсутствия информации и, наконец, требования прерывания, исходящие от монитора при появле нии более приоритетного абонента.
Осуществление определенной последовательности в реше нии задач при переходе от объекта к объекту производится с помощью центральной управляющей программы и в зави симости от присвоенных для них приоритетов. Задачи указан
ной программы имеют более высокий приоритет по |
сравнению |
с задачами отдельных пользователей (объектов, |
процессов). |
С помощью заранее присвоенных приоритетов достигается наиболее эффективная организация прохождения потока задач и максимальное использование имеющихся вычислительных ресурсов.
230
Потоки задач планируются в зависимости от времени ввода-вывода, длительности вычислительного процесса и глав ное от потребного объема памяти.
Как правило, работа вычислителя в режиме разделения времени сопряжена с режимом разделения памяти. Последний характеризуется наличием в общей центральной памяти ряда независимых и одновременно реализуемых программ. В этом случае размещение в оперативной памяти вычислителя про грамм абонентов требует тщательной балансировки. Обыкно венно ОЗУ делится на две части. В одной из них хранится информация, подвергаемая переброске, а в другой — информация,не подвергаемая переброске.
Значительный объем второй части отводится под хранение комплекса программ («Резидент»), которые фиксируют воз никающие в процессе управления противоречивые ситуации и находят решение по их устранению. «Резидент» имеет жест кую адресацию и постоянно присутствует в оперативной па мяти. Существенной проблемой «Резидента» является степень его универсализации для различных условий противоречи вости при минимальном объеме для своего размещения. В пер вой части ОЗУ каждой задаче отводится определенный ресурс, который и защищается от других задач.
Диспетчер распределяет время работы вычислителя между задачами, поступившими от локальных объектов. При отсут ствии указанных задач вычислитель переходит к решению фоновых задач в пакетном режиме, для которых нет времен ного ограничения. Единственная для данного времени задача решается без прерывания. При наличии нескольких задач с помощью специального алгоритма определяется порядок их решения в соответствии с установленными приоритетами.
Характерным для организации прохождения задач является режим пакетной обработки. Под пакетированием понимается определенным образом сформулированная последовательность задач, проходящих через вычислитель. Пакетирование осу ществляется на основании запросов от отдельных объектов и с учетом очередности их поступления. Для решения каж дой задачи используются ресурсы всей машины, причем за дачи решаются последовательно в порядке поступления.
Функции подготовки пакета задач возлагаются на опера тора. Возможны некоторые модификации пакетной обработки задач. Наиболее простой модификацией является режим мно гопрограммной работы с фиксированным числом задач, т. е. в ОЗУ основного вычислителя не может находиться больше задач, чем это заранее определено.
231
В настоящее время главным образом используется метод пакетной обработки с переменным числом задач, решаемых в режиме мультипрограммирования. Число одновременно ре шаемых задач в этом случае не фиксируется, а определяется наличием распределяемых диспетчерских ресурсов, и в пер вую очередь состоянием свободных объемов ОЗУ.
С помощью приоритетов значительно увеличивается про пускная способность системы по управлению. Одновременное решение нескольких задач осуществляется путем распределе ния между ними квантов времени.
При наличии в управляемом комплексе технологических объектов существенное значение имеют режимы реального масштаба времени. Работа системы в реальном масштабе вре мени требует решения задач или обработки информации в ре жиме, несколько опережающем темпы течения управляемого процесса. Реакция такого режима измеряется временем интер вала между прибытием сигнала прерывания и исполнением полезной команды в ответ на этот сигнал. Возможность ис пользования работы управляющей системы в реальном мас штабе времени определяется быстродействием ее вычисли тельных средств.
Особое значение для сложных систем управления с боль шим числом локальных объектов имеет режим многократного доступа. Вычислительная система с многократным доступом позволяет каждому из отдельных объектов иметь самостоя тельный доступ к ЭВМ, обеспечивая этим использование об щих системных возможностей.
Принцип приоритетного обслуживания контролируемых объектов и организация внутри системы пакетной обработки фоновых задач позволяют наиболее рациональным образом использовать потенциальные возможности как вычислитель ных устройств, так и всей управляющей системы. Наиболее ответственные, с точки зрения временных ограничений и тре бований, задачи в этом случае имеют преимущественный до ступ к вычислителю. Наличие закрепленной приоритетности за каждой из них устанавливает четкий порядок в последо вательности их доступа к вычислителю. Свободные проме жутки времени в работе вычислительной системы заполня ются фоновыми задачами.
12.
АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ
Алгоритмическим |
языком называется совокупность |
набора |
|
основных символов |
и правил для построения |
алгоритмов. |
|
С помощью алгоритмических языков осуществляется |
|
формаль |
ное описание различных задач при наличии ограниченного ко личества терминов и процедур. Та часть правил, которая поз воляет строить из основных символов алгоритмические кон
струкции, |
называется |
синтаксисом языка, |
а система правил |
для их |
однозначного |
использования — его |
семантикой. Се |
мантика |
как бы раскрывает смысловую сторону языка. |
||
В качестве символов используются как буквы соответст |
|||
вующего |
алфавита, так |
и другие обозначения. Конструкциями |
в |
алгоритмических языках могут быть числа, слова, последо |
||
вательности |
слов (предложения), таблицы, системы таблиц |
||
и |
т. д. Такого |
рода последовательности из элементарных сим |
|
волов имеют |
смысл в том случае, |
если на основе принятых |
|
в |
языке правил интерпретаций они |
поддаются истолкованию. |
Минимальная конструкция, имеющая смысл, называется морфемой. С помощью принятых в языке правил из морфем создаются более сложные конструкции. С помощью алгоритми ческого языка может быть описано некоторое семейство диск ретных процессов.
Различают три класса (уровня) алгоритмических языков: проблемно-ориентированные языки, машинно-ориентирован ные языки и машинные языки.
Проблемно-ориентированные языки предназначены для
описания алгоритмов решения задач |
без учета специфики ма |
|||
шинных языков и независимо от конкретных |
характеристик |
|||
ЭВМ, на которых этот алгоритм будет реализован. |
|
|||
Машинно-ориентированные |
языки |
используются для |
опи |
|
сания процессов обработки |
информации в |
ориентации |
на |
233
соответствующую вычислительную машину. С помощью ма
шинно-ориентированных |
языков автоматизируются такие |
этапы программирования, |
как составление общей программы |
из операторов по определенной логической схеме, присвоение истинных адресов для конкретной машины и т. д.
До сих пор указанный класс языков не потерял своего значения. Они позволяют наиболее рационально учитывать особенности конкретной ЭВМ.
Машинный |
язык — язык, |
правила интерпретации |
которого |
реализованы |
в конкретной |
ЭВМ. Каждый из таких |
языков |
основан на определенных методах кодирования информации.
Перевод из машинно-ориентированного языка программи рования в машинный язык производится с помощью специ альной программы ассамблера.
При разработке проблемно-ориентированных алгоритмиче ских языков стремятся к тому, чтобы они удовлетворяли тре бованиям легкости их понимания и применения, позволяли получать описание процессов в компактной форме и охва тывали значительную область процессов, т. е. являлись бы универсальными, с точки зрения широты их применения.
Каждый из этих языков требует создания добавочных средств для автоматического перевода записанного на таком формальном языке алгоритма в соответствующую программу на языке конкретной электронно-вычислительной машины. Осуществляется это с помощью трансляторов (специальных программ), строящихся по соответственно разработанным для этого алгоритмам перевода.
Наиболее распространенными видами алгоритмических языков являются: АЛГОЛ-60 с десятками его «диалектов», ФОРТРАН и КОБОЛ. Языки АЛГОЛ-60 и ФОРТРАН пред назначены в основном для реализации алгоритмов оптимиза ции и численного анализа. Для комерческих и экономических задач применяется алгоритмический язык КОБОЛ.
Среди работ, проводимых в этом отношении в СССР, сле дует отметить расширение языка АЛГОЛ в связи с разработ кой альфатранслятора, создание алгометрического языка АЛГЕМ для описания экономических задач, работы по созда нию машинно-ориентированного языка АЛМО.
Трудоемкость создания трансляторов заставила искать спо собы автоматизации этой работы путем разработки так назы ваемых метатрансляторов. Для этого разрабатывается язык для описания трансляторов и транслятора с этого языка. В не которой степени такие функции выполняет язык АЛМО. При ведем характеристику некоторых алгоритмических языков.
234
АЛГОЛ является проблемно-ориентировочным языком вы сокого уровня, для описания главным образом вычислитель ных алгоритмов. В основе самого языка различают три уровня: эталонный, язык публикаций и язык конкретных представле ний. При этом определяющим языком является эталонный язык, служащий образцом для конкретных представлений и используемый для перевода с языка публикаций на любое конкретное представление. С помощью языка публикаций осуществляется изменение эталонного языка, связанное с удоб ством печати.
Каждое конкретное представление является сокращением эталонного языка с учетом имеющихся ограничений количе ства символов и использования в качестве входного языка формирующей программы для соответствующей конкретной машины. Алфавит языка состоит из базисных символов, яв ляющихся основой для построения более сложных понятий и обозначений (массивы, метки, переключатели, процедуры).
В языке АЛГОЛ широко используются понятия арифмети ческих, логических и именующих выражений, включающих в себя символы функций и условия для соответствующих вы числений.
Основные символы АЛГОЛА: прописные и строчные буквы латинского алфавита; арабские цифры; знаки арифметиче ских операций; символы операций соотношений; знаки логи ческих (булевских) функций, разделители; скобки и набор служебных слов (на английском языке). Служебные слова вы деляются жирным шрифтом или подчеркиваются. В качестве основных операторов в языке АЛГОЛ используются опера торы присваивания, перехода процедуры и пустой оператор. Последний не определяет никакого действия и может служить лишь для помещения метки. Существенное значение в языке АЛГОЛ имеет оператор цикла, с помощью которого осуще ствляется многократное выполнение следующего за заголов ком оператора при различных начальных данных для вы числений. В языке широко используются так называемые безусловные операторы. К их числу относятся составные опе раторы и блоки. Составной оператор представляет собой неко торую последовательность операторов, заключенную в опера торные скобки.
Блоки отличаются от составного оператора наличием между открывающей скобкой и первым оператором последователь ности так называемых описаний. Имеющиеся метки локали зуются всегда в соответствующем блоке. Вхождение в блок означает переход к новому уровню обозначений.
235
Кроме безусловных операторов, в языке допускается дей ствие условных операторов, с помощью которых осуществ ляется реализация действий, связанных с выполнением неко торых логических условий.
Все это вместе взятое позволяет оператору сравнительно легко разобраться в чтении формального языка и упрощает процесс обучения обслуживающего персонала.
КОБОЛ — проблемно-ориентированный алгоритмический язык, специально приспособленный для обработки учетно-эко- номической и служебной информации. С его помощью обеспе чивается наглядная и достаточно компактная запись алгорит мом для переработки данных, связанных с функционированием организационных систем. КОБОЛ обладает также близостью к языку, используемому в служебных документах.
Программа, написанная на языке КОБОЛ, состоит из четы рех разделов:
раздел идентификации, определяющий наименование про граммы, указывающий абонента, дату выдачи и прочую вспо могательную информацию;
раздел устройств, описывающий машину, на которой будет производиться счет, и ее внешние устройства, используемые данной программой. В нем также даются указания компиля тору об использовании главной печати;
раздел данных, служащий для описания всех необходимых данных массивов, констант и рабочих полей. В этом же раз деле описываются все величины, участвующие в вычислениях; раздел процедур, содержащий последовательность предпи саний, которые необходимы для ввода информации, ее обра ботки, выполнения всех вычислений и вывода в требуемой
форме.
Одним из ценных качеств языка КОБОЛ является возмож ность организации сортировки массивов путем использования для этого специального предписания. Особенность указанного языка состоит в том, что одно и то же наименование (иденти фикатор) в различных местах программы может обозначать разные величины за счет соответствующего индексирования.
Реализуемый алгоритм в языке КОБОЛ производится с по мощью определенной последовательности операторов, которые представляются в программе соответствующими параграфами. Параграфы объединяются в разделы (главы), также имеющие свои наименования (метки). Операторы определяют элементар ные процедуры обработки или передачи информации.
Программы обработки данных на языке КОБОЛ содержат большое количество команд и представляют собой сложные
236
комплексы типовых подпрограмм, обеспечивающих решение планово-экономических задач и обработку служебной инфор
мации. |
|
|
|
Язык ФОРТРАН |
был разработан для |
решения |
научных |
и инженерных задач. |
С развитием языка |
появились |
возмож |
ности и для других его приложений, в частности, он стал использоваться, как эффективное средство упрощения и авто матизации программирования.
ФОРТРАН близок к обычному машинному языку. С его помощью можно обрабатывать большие массивы информации,
имеющие достаточно сложные |
вычислительные |
процедуры. |
С помощью языка ФОРТРАН |
описание алгоритмов ведется |
|
в виде последовательности операторов. Структура |
программы, |
написанная на этом языке, строится по следующей схеме: вначале посредством декларативного предписания определя ются как отдельные величины, так и массивы для ввода (вы вода) в машину, затем даются характеристики типов величин. После этого следует предписание программы для выполнения отдельных действий. Одинаковые типы вычислений, исполь зуемые в различных частях программы, оформляются в виде
процедур, структура которых аналогична общей |
программе. |
||
Вся |
информация при |
этом записывается на |
специальном |
бланке |
и сопровождается |
особыми служебными пометками. |
Основным оператором языка ФОРТРАН является «ариф метическая формула», задающая вычисления в форме, близ кой к обычным арифметическим формулам.
В языке используются также операторы управления, опре |
|
деляющие порядок выполнения операторов и организующие |
|
циклическое |
повторение вычислений и операций ввода-вывода. |
С помощью операторов управления обеспечивается обмен ин |
|
формацией |
между оперативной буферной и постоянной па |
мятью.
В языке ФОРТРАН используются также операторы-специ фикации, задающие сведения о качестве программы (опера торы «размерности», «эквивалентности» и «частоты»).
С их помощью осуществляется информация о величине используемых массивов, сообщается возможность совмещения величин в памяти машины и определяется частота условных передач управления при выполнении программы.
Язык ФОРТРАН обладает большей ориентацией на машину
ина конкретные методы трансляции.
Вязыке АЛГЭМ-2 сделана попытка воссоединить достоин ства языков АЛГОЛ и КОБОЛ. Он создан для описания эконо мических и математических задач.
237
В качестве основы при разработке указанного языка взяты подмножества языка АЛГОЛ-60 и добавлены необходимые средства из других наиболее развитых алгоритмических язы ков. В частности, введены процедуры, обеспечивающие воз можность гибкой компоновки программ из отдельных блоков языка АЛГОЛ. Кроме этого, введен целый ряд добавлений, улучшающих лексографическую упорядоченность и редакци онные свойства языка (строчные выражения и целый, строч ный, логический и другие форматы).
Наличие в языке описаний составных величин (составных переменных и составных массивов) дает возможность задавать структуры различных документов и обрабатывать их. Такие операторы, как «открыть» и «закрыть», позволяют осуще ствлять обмен информацией между внутренними и внешними массивами в любом режиме. Объем переданной информации в массиве определяется операторами «выбрать», «послать», «печать». С помощью этих же операторов достигается соот ветствующее расположение символов на странице, а также и общий размер текста.
По сравнению с языком АЛГОЛ-60 в языке АЛГЭМ-2 име ются сокращения. Так, в качестве меток используются только идентификаторы, не допускаются рекурсивные процедуры, отсутствуют собственные величины.
Проблема разработки общих метаязыков является наиболее актуальной с точки зрения интерпретации и трансляции ин формации, записанной на разных языках.
Составление программ моделирования при изучении пове дения объекта часто производится с помощью так называемых моделирующих языков. Применение их упрощает процесс про граммирования и сокращает время на составление и отладку программ. Наиболее применимыми в этой области являются
моделирующие языки для решения задач |
управления |
|
СИМУЛА и |
СИМСКРИПТ. |
|
Разработка |
языка СИМУЛА осуществлена на |
базе языка |
АЛГОЛ-60. Основным понятием языка СИМУЛА является по-, нятие процесс, являющееся носителем информации и одновре менно выполняющее соответствующие действия.
Особенно эффективно применение этого языка в условиях, когда функционирование системы можно рассматривать как некоторую последовательность мгновенных событий.
Все процессы, характеризующиеся одинаковой структурой информации и одной и той же схемой поведения, принадлежат к одному классу процедур, называемых деятельностью. С по нятием деятельности в языке СИМУЛА связано описание мас-
238
сивов информации |
и правил действия над ними. Кроме этого, |
|||
в |
языке |
СИМУЛА |
используется понятие |
набор, совмещающее |
в |
себе |
множество |
процессов различных |
классов, изменяю |
щихся в ходе работы системы. Последовательность событий определяется управляющим списком, формируемым в про цессе моделирования. Событие определяется временным со стоянием системы, а также активно возникающим при этом процессом. Каждый процесс имеет свой указатель возврата, изменяющийся каждый раз после выполнения активной фазы. Таким образом, указатель возврата определяет действие, с ко
торого |
начинается выполнение новой активной |
фазы. |
Для |
формирования изменений управляемой |
системы |
в языке имеются специальные управляющие и планирующие операторы. Они позволяют включать или исключать уведом ление, задерживать их выполнение, задавать приоритеты для одновременно происходящих событий. Для организации взаи модействия процессов в языке имеются специальные присо единяющие операторы.
Моделирующий язык СИМСКРИПТ разработан на основе языка ФОРТРАН. Он позволяет осуществлять четкое разгра ничение между пассивными объектами — носителями инфор мации и активными, определяющими процедуры ее преобра зования. Состояние системы, изменяющееся в точках времени, называется событием. События делятся на внесистемные и внутрисистемные. Каждый вид события может повторяться любое число раз и в любой момент времени.
Набор операторов СИМСКРИПТ позволяет компактно за писывать программы различных событий и они могут быть сгруппированы в следующие классы:
1)операторы для создания и разрушения объектов, для порождения и отмены событий;
2)операторы для выполнения и контроля арифметических операций;
3)операторы для выбора альтернатив;
4)операторы, управляющие вводом и выводом данных;
5)операторы для статистической обработки результатов. Трансляция с языков СИМСКРИПТ и СИМУЛА сначала
производится на соответствующий базовый язык (ФОРТРАН или АЛГОЛ), а затем уже на язык вычислительной машины.
Внедрение алгоритмических языков уменьшает затраты времени и средств на программирование, сокращает потреб ность в программистах, существенно ускоряет подготовку за дач для решения на ЭВМ и облегчает обмен готовыми про граммами.