Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_TA.doc
Скачиваний:
26
Добавлен:
18.04.2019
Размер:
1.11 Mб
Скачать

34.Автоматы и логические схемы. Программная реализация автоматов.

ЛОГИЧЕСКИЕ СХЕ́МЫ АВТОМА́ТОВ – технич. устройства (или части технич. устройств), в к-рых зависимость между входными и выходными сигналами выражается логич. функцией. Л. с. а. делятся на два основных класса – Л. с. а. без памяти (однотактные или комбинационные схемы), в к-рых выходной сигнал в настоящий момент времени зависит только от входных сигналов в этот же момент, и Л. с. а. с памятью (многотактные или последовательностные схемы), в которых выходной сигнал зависит еще и от входных сигналов в предыдущие моменты времени. Структурные свойства Л. с. а. изучает абстрактная теория автоматов. Осн. задачами теории автоматов являются вопросы анализа и синтеза Л. с. а., т.е. выяснение того, какое преобразование информации реализует заданная Л. с. а. (анализ) и построения Л. с. а., реализующей заданное преобразование (синтез); минимизация числа элементов в Л. с. а., синтез надежных схем из элементов, обладающих нек-рой вероятностью отказа в работе, и др. При разработке этих вопросов широко используются средства логики, причем не только логики высказываний, но и нек-рые разделы логики предикатов, многозначные логики и т.п. Т.о., с одной стороны, Л. с. а. моделируют логич. операции, а с другой стороны, при исследовании Л. с. а. используется аппарат современной формальной (математической) логики.

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

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

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

Технология предполагает пять стадий разработки автоматных программ, каждая из которых состоит из ряда этапов: системное проектирование (1-7); проектирование формальной спецификации автомата или системы взаимосвязанных автоматов (8-13); логическое проектирование автоматов (14-20); программирование (21,22); проверка правильности программ (23-27), применимая для задач небольшой размерности. Перечислим этапы разработки:

  1. Системное проектирование;

  2. Проектирование формальной спецификации автомата или композиции автоматов;

  3. Логическое проектирование автоматов;

  4. Программирование;

  5. Проверка правильности программ, применимая для задач небольшой размерности.

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

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

Изоморфизм графа переходов и конструкции switch обеспечивает управляемость (изменяемость) программной реализации.

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

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