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

15. Конечный автомат как модель «реагирующей системы».

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

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

Простым и достаточно эффективным расширением модели классического конечного автомата является введение понятия «внешнее событие», наступление которого можно считать условием перехода автомата в новое состояние. Такими событиями можно считать получение сигнала на вход автомата, прерывание и срабатывание таймера. Со срабатыванием таймера естественно связывается понятие времени в автомате. Действительно, введением понятия времени в конечном автомате можно связать с ограничением пребывания автомата в заранее заданном, конкретном состоянии. Такое ограничение, если оно необходимо, лучше всего задавать таймером математической модели конечного автомата, срабатывание таймера должно вызывать переход автомата в другое состояние. Рассмотрим в качестве примера спецификацию процесса, определяющего одинарный или двойной щелчок мыши. Напомним, что двойным щелчком считается последовательность из 2-х нажатий клавиши, разделяемая промежутком времени t=250мс. Представим граф переходов конечного автомата, решающего эту задачу.

П о первому щелчку мыши (клик) автомат переходит из состояния S0 в состояние S1, и если до истечения следующих t=250мс на вход поступает еще один сигнал (событие клик), то на выход будет выдан сигнал click\double в противном случае t\click. В любом из этих вариантов автомат возвращается в положение S0 и работа автомата повторяется.

16. Конечный автомат как модель протокола передачи сообщений в сетях.

Протокол PAR передачи сообщений в сетях

В качестве более сложного примера с использованием конечного автомата рассмотрим спецификацию протокола передачи информации в компьютерных сетях. Термин «протокол» в информатике введен для обозначения взаимодействия отдельных элементов в компьютерных сетях. Этот термин ведет свое происхождение от аналогичного термина, принятого в дипломатии.

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

В качестве примера рассмотрим классический протокол передачи сообщений «точка-точка» с подтверждением, имеющем название PAR – Positive Acknowledge with Retrains mission .

Рис 2.7 Передатчик

Рассмотрим протокол работы передатчика, изображенного на рисунке. Предположим, что автомат-передатчик находится в начальном состоянии S0 и ждет от пользователя порцию данных D, получив которую он переходит в новое состояние S1. В этом состоянии передатчик передает данные в канал связи нумеруя это сообщение D01, и включает таймер t. В состоянии S2, если до срабатывания таймера придет подтверждение правильной передачи Ack, то передатчик перейдет в состояние S3, в противном случае, в состоянии S2 при исчерпании времени работы таймера, он возвращается в состояние S1, и повторно передает сообщение с данными D0. Если он получил подтверждение и находится в состоянии S3, то передатчик снова ожидает событие ввода данных от пользователя, и, получив их, переходит в состояние S4, в котором передает сообщение с номером D1. Если передача завершилась успешно, то в состоянии S5 передатчик ожидает подтверждение от приемника, о получении этого сообщения. Если подтверждение получено, то из положения S5 автомат переходит в положение S0 и цикл передачи повторяется из состояния S0. Если, до срабатывания таймера t, установленного при входе автомата в состояние S5, передатчик не получит подтверждение о приемы предыдущего сообщения, то это сообщение посылается вновь. Аналогично работает приемник.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]