Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сольницев Р. И. Автоматизация проектирования систем автоматического управления.doc
Скачиваний:
251
Добавлен:
02.05.2014
Размер:
10.46 Mб
Скачать

§ 3.5. Программное обеспечение

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

Программное обеспечение делится на базовое (операционная система), общесистемное и прикладное.

Операционная система ОС — это часть программного обес­печения, предназначенная для управления вычислительным про­цессом ЭВМ и всех терминальных устройств, распределения ре­сурсов, сервисного обслуживания пользователей, подготовки, обра­ботки и отладки программ. Прикладное программное обеспечение является основным при разработке ПО САПР и состоит из обще­системного ПО и пакетов прикладных программ (ППП), которые реализуют алгоритмы расчета, конструирования, технологической подготовки, испытаний. Чтобы понять роль ПО в САПР, нужно обратиться к принципу действия любой ЭВМ. В основе всякой ЭВМ лежит «умение» оперировать только с одним носителем дан­ных— двоичными числами (битами): «О» и «1». Как же осуще­ствляется управление движением однородной массы из огромного числа битов, с тем чтобы в результате этого движения получи­лось решение поставленной на ЭВМ задачи? Только путем по­строения иерархической лестницы из программ на разных уровнях представления информации. Средством написания таких программ являются рассмотренные выше искусственные языки.

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

Любая ОС включает следующие составляющие:

- супервизор управляет всеми устройствами ЭВМ и контроли­рует их работу;

- управление заданиями автоматизирует переход от одного задания к другому, принимает задания, осуществляет контроль, подготовку запрашиваемых программ к выполнению, запуск их и переход к следующему заданию;

- управление задачами распределяет память ОЗУ; как толь­ко «управление заданиями» распознает шаг задания (например, транслирование, редактирование, сама программа), сразу же по­является «задача» (трансляция, ввод — вывод тела программы);

- трансляторы осуществляют перевод с универсальных языков программирования, редактирование, отладку, загрузку;

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

- библиотеки ОС включают в себя исходные модули, объект­ные модули и т. д. Напомним, что исходные модули — это про­граммы, записанные на одном из исходных алгоритмических язы­ков программирования (ФОРТРАН, ПЛ/1 и др.);

- объектные модули — это программы на языке машинных команд, полученные после трансляции исходных модулей.

Отметим некоторые черты современных ОС на примере SVM — системы «виртуальных машин» (разработчик - - фирма «IBM», США). В системе SVM виртуальная память может быть расши­рена до 2 Гбайт, причем каждому пользователю представляется адресное пространство 16 Мбайт, теоретически система допускает обслуживание 9999 пользователей одновременно. На практике эффективный диалог поддерживается с 300—400 пользователями.

SVM дает каждому пользователю возможность за «своим тер­миналом» иметь «индивидуальную ЭВМ»: виртуальную память, ввод — вывод, процессор.

Стоимость большой ОС определяется трудоемкостью более 500 чел-лет (она включает миллионы команд) и значительно превышает стоимость ЭВМ.

Системные программы прикладного программного обеспечения (ППО).

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

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

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

Можно выделить следующие основные черты инструменталь­ных систем программирования:

- наличие средств генерации программ по описаниям, не со­держащим явного алгоритма решения задачи;

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

- использование банка данных, содержащего большое количе­ство программ и данных;

- наличие средств расширения входных языков;

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

Пакеты прикладных программ — комплекс программ, пред­назначенных для решения проектной задачи, управляемых от про­граммы-монитора или системных программ ППО посредством заданий на ПОЯ.

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

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

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

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

Построение ППП может быть автоматизировано с помощью системной части ППО, основанной на упомянутой инструменталь­ной системе программирования СПИН.

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

Эти требования и принципы положены в основу структуры ППО САПР САУ, изображенной на рис. 21. Функционирование ППО происходит следующим образом. Проектировщик вводит описание задачи, фактически являющейся программой действий на ПОЯ. Управляющая программа распознает, к какому ПОЯ из имеющихся в системе должна быть отнесена данная задача, соот­ветствующим образом «настраивает» СУТ и передает ему управ­ление. СУТ анализирует синтаксис программы и формирует пос­ледовательность действий на удобном промежуточном языке. Эта последовательность представляет собой список, элементы которого включают в себя номера вызываемых модулей и адреса парамет­ров, которые в этих модулях используются. Если СУТ не обнару­жил ошибок в описании задачи, управляющая программа переда­ет управление программе ИНИЦИАТОР, которая в указанной во входных данных последовательности вызывает соответствующие ППП проектировщика (разработчика, конструктора, технолога, испытателя) и обрабатывающие ППП, передает им адреса пара­метров и следит за правильностью их выполнения. Обрабатыва­ющие ППП включают следующие программы: формирования и обработки аналитических выражений, численного интегрирования систем дифференциальных уравнений, ввода — вывода и т. д. Рас­ширение этих ППП может идти как за счет адаптации ранее полученных программ, так и посредством подключения новых оригинальных программ и пакетов.

Рис. 21. Структура прикладного программного обеспечения САПР САУ