Лист 2. Модель взаимодействия объектов

1. Назначение
Определяет перечень связей и сигналов, определяющих протокол взаимодействия объектов в программе моделирования работы АМП.

2. Перечень блоков
Блок ET: sym - символ на выходе; Блок FL: ok - символ обработан; yes - отфильтрованный символ на выходе; Блок PD: er - ошибка в разборе строки; АМП - символ принят для разбора; ok – правильная строка символов
Примечание 1. Перечислены выходные сигналы (состояния) блоков, которые необходимы для синхронизации совместной работы блоков.
Примечание 2. В модели имеется блок отображения текущих состояний объектов ViewStates (см. структурную модель АМП), имеющий связи (на модели они не показаны) с остальными блоками, получая от них информацию об их текущих состояниях

3. Функционирование модели
Протокол обмена сигналами и информацией состоит в следующем.

  1. Блок ET начинает ввод символов. Приняв символ, он ожидает сигнала «ok», чтобы приступить к вводу очередного символа.
  2. Блок FL, приняв символ, фильтрует его. Если символ не проходит фильтр, то сразу выдается сигнал «ok» («ok» - сигнал о том, что символ обработан фильтром). Если символ проходит фильтр, то он передается на выход блока и ожидается приход сигнала «АМП» о том, что символ принят внешней средой (блоком PD). И лишь по приходу данного сигнала выдается сигнал «ok».
  3. Блок PD принимает символ и переходит сразу в состояние «АМП». После этого происходит обработка символа и если он не соответствует грамматике, то формируется код ошибки и выдается сигнал (переход в состояние) «er». При любом другом (отличном от «er») состоянии PD символ отвечает правилам грамматики.
  4. Блок VD, приняв сигнал «АМП», выдает информацию о состоянии блока PD.
  5. Блок VE, приняв сигнал «er», интерпретирует переданный ему код ошибки.
  6. Блок VS воспринимает текущие состояния объектов и отображает/сохраняет их в заданном виде.

Примечание 3. Хочется обратить внимание на асинхронный характер работы блоков. Он заключается в том, что программа реагирует (или не реагирует, но отображает их) на вводимые символы, которые не принадлежат грамматике. Т.е. некоторые символы не доходят просто до блока, реализующего магазинный автомат, но, тем не менее, они обрабатываются (или игнорируются) другими блоками программы.

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