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

книги из ГПНТБ / Лоскутов В.И. Основы современной техники управления

.pdf
Скачиваний:
7
Добавлен:
25.10.2023
Размер:
13.85 Mб
Скачать

Реализация специальных функций математического обеспечения АСУ в процессах управления

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

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

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

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

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

ной программы имеют более высокий приоритет по

сравнению

с задачами отдельных пользователей (объектов,

процессов).

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

230

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

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

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

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

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

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

231

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

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

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

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

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

12.

АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ

Алгоритмическим

языком называется совокупность

набора

основных символов

и правил для построения

алгоритмов.

С помощью алгоритмических языков осуществляется

 

формаль­

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

струкции,

называется

синтаксисом языка,

а система правил

для их

однозначного

использования — его

семантикой. Се­

мантика

как бы раскрывает смысловую сторону языка.

В качестве символов используются как буквы соответст­

вующего

алфавита, так

и другие обозначения. Конструкциями

в

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

вательности

слов (предложения), таблицы, системы таблиц

и

т. д. Такого

рода последовательности из элементарных сим­

волов имеют

смысл в том случае,

если на основе принятых

в

языке правил интерпретаций они

поддаются истолкованию.

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

Различают три класса (уровня) алгоритмических языков: проблемно-ориентированные языки, машинно-ориентирован­ ные языки и машинные языки.

Проблемно-ориентированные языки предназначены для

описания алгоритмов решения задач

без учета специфики ма­

шинных языков и независимо от конкретных

характеристик

ЭВМ, на которых этот алгоритм будет реализован.

 

Машинно-ориентированные

языки

используются для

опи­

сания процессов обработки

информации в

ориентации

на

233

соответствующую вычислительную машину. С помощью ма­

шинно-ориентированных

языков автоматизируются такие

этапы программирования,

как составление общей программы

из операторов по определенной логической схеме, присвоение истинных адресов для конкретной машины и т. д.

До сих пор указанный класс языков не потерял своего значения. Они позволяют наиболее рационально учитывать особенности конкретной ЭВМ.

Машинный

язык — язык,

правила интерпретации

которого

реализованы

в конкретной

ЭВМ. Каждый из таких

языков

основан на определенных методах кодирования информации.

Перевод из машинно-ориентированного языка программи­ рования в машинный язык производится с помощью специ­ альной программы ассамблера.

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

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

Наиболее распространенными видами алгоритмических языков являются: АЛГОЛ-60 с десятками его «диалектов», ФОРТРАН и КОБОЛ. Языки АЛГОЛ-60 и ФОРТРАН пред­ назначены в основном для реализации алгоритмов оптимиза­ ции и численного анализа. Для комерческих и экономических задач применяется алгоритмический язык КОБОЛ.

Среди работ, проводимых в этом отношении в СССР, сле­ дует отметить расширение языка АЛГОЛ в связи с разработ­ кой альфатранслятора, создание алгометрического языка АЛГЕМ для описания экономических задач, работы по созда­ нию машинно-ориентированного языка АЛМО.

Трудоемкость создания трансляторов заставила искать спо­ собы автоматизации этой работы путем разработки так назы­ ваемых метатрансляторов. Для этого разрабатывается язык для описания трансляторов и транслятора с этого языка. В не­ которой степени такие функции выполняет язык АЛМО. При­ ведем характеристику некоторых алгоритмических языков.

234

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

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

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

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

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

235

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

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

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

Программа, написанная на языке КОБОЛ, состоит из четы­ рех разделов:

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

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

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

форме.

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

Реализуемый алгоритм в языке КОБОЛ производится с по­ мощью определенной последовательности операторов, которые представляются в программе соответствующими параграфами. Параграфы объединяются в разделы (главы), также имеющие свои наименования (метки). Операторы определяют элементар­ ные процедуры обработки или передачи информации.

Программы обработки данных на языке КОБОЛ содержат большое количество команд и представляют собой сложные

236

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

мации.

 

 

 

Язык ФОРТРАН

был разработан для

решения

научных

и инженерных задач.

С развитием языка

появились

возмож­

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

ФОРТРАН близок к обычному машинному языку. С его помощью можно обрабатывать большие массивы информации,

имеющие достаточно сложные

вычислительные

процедуры.

С помощью языка ФОРТРАН

описание алгоритмов ведется

в виде последовательности операторов. Структура

программы,

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

процедур, структура которых аналогична общей

программе.

Вся

информация при

этом записывается на

специальном

бланке

и сопровождается

особыми служебными пометками.

Основным оператором языка ФОРТРАН является «ариф­ метическая формула», задающая вычисления в форме, близ­ кой к обычным арифметическим формулам.

В языке используются также операторы управления, опре­

деляющие порядок выполнения операторов и организующие

циклическое

повторение вычислений и операций ввода-вывода.

С помощью операторов управления обеспечивается обмен ин­

формацией

между оперативной буферной и постоянной па­

мятью.

В языке ФОРТРАН используются также операторы-специ­ фикации, задающие сведения о качестве программы (опера­ торы «размерности», «эквивалентности» и «частоты»).

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

Язык ФОРТРАН обладает большей ориентацией на машину

ина конкретные методы трансляции.

Вязыке АЛГЭМ-2 сделана попытка воссоединить достоин­ ства языков АЛГОЛ и КОБОЛ. Он создан для описания эконо­ мических и математических задач.

237

В качестве основы при разработке указанного языка взяты подмножества языка АЛГОЛ-60 и добавлены необходимые средства из других наиболее развитых алгоритмических язы ­ ков. В частности, введены процедуры, обеспечивающие воз­ можность гибкой компоновки программ из отдельных блоков языка АЛГОЛ. Кроме этого, введен целый ряд добавлений, улучшающих лексографическую упорядоченность и редакци­ онные свойства языка (строчные выражения и целый, строч­ ный, логический и другие форматы).

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

По сравнению с языком АЛГОЛ-60 в языке АЛГЭМ-2 име­ ются сокращения. Так, в качестве меток используются только идентификаторы, не допускаются рекурсивные процедуры, отсутствуют собственные величины.

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

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

моделирующие языки для решения задач

управления

СИМУЛА и

СИМСКРИПТ.

 

Разработка

языка СИМУЛА осуществлена на

базе языка

АЛГОЛ-60. Основным понятием языка СИМУЛА является по-, нятие процесс, являющееся носителем информации и одновре­ менно выполняющее соответствующие действия.

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

Все процессы, характеризующиеся одинаковой структурой информации и одной и той же схемой поведения, принадлежат к одному классу процедур, называемых деятельностью. С по­ нятием деятельности в языке СИМУЛА связано описание мас-

238

сивов информации

и правил действия над ними. Кроме этого,

в

языке

СИМУЛА

используется понятие

набор, совмещающее

в

себе

множество

процессов различных

классов, изменяю­

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

торого

начинается выполнение новой активной

фазы.

Для

формирования изменений управляемой

системы

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

Моделирующий язык СИМСКРИПТ разработан на основе языка ФОРТРАН. Он позволяет осуществлять четкое разгра­ ничение между пассивными объектами — носителями инфор­ мации и активными, определяющими процедуры ее преобра­ зования. Состояние системы, изменяющееся в точках времени, называется событием. События делятся на внесистемные и внутрисистемные. Каждый вид события может повторяться любое число раз и в любой момент времени.

Набор операторов СИМСКРИПТ позволяет компактно за­ писывать программы различных событий и они могут быть сгруппированы в следующие классы:

1)операторы для создания и разрушения объектов, для порождения и отмены событий;

2)операторы для выполнения и контроля арифметических операций;

3)операторы для выбора альтернатив;

4)операторы, управляющие вводом и выводом данных;

5)операторы для статистической обработки результатов. Трансляция с языков СИМСКРИПТ и СИМУЛА сначала

производится на соответствующий базовый язык (ФОРТРАН или АЛГОЛ), а затем уже на язык вычислительной машины.

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