Теория операции: прохождение конечного автомата


Теория операции: прохождение конечных автоматов .

Когда прикладной класс принимает событие , он вызывает активный экземпляр .совершить событие.

В этом вызове прикладной класс передаёт входными параметрами номер полученного события и ссылки (дескрипторы) как КМС ,которые необходимо пройти ,так и экземпляра, который получил событие.

Затем операция совершить событие использует текущее состояние активного экземпляра и вызывает операцию КМС .пройти.

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

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

Если операция КМС.пройти исчерпает список переходов без получения успешного ответа из модуля переход.соответствовать, то мы столкнулись с ячейкой не может произойти из таблицы переходов в состояние .Это указывает на то что произошла ошибка либо в анализе либо в реализации.

Теория операции:инициализация.

Инициализация механизма конечного автомата полностью заключена в создании соответствующего экземпляра КМС и перехода .Это выполняется прикладными классами . Для этого существует три операции:

1.КМС.создать

2.КМС.добавить переход

3.переход.соответсвовать

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

После того как прикладной класс вызвал КМС.создать он вызывает переход.создать один раз для каждой ячейки своей таблицы переходов в состояние.Переход.создать создаёт переход и вызывает КМС.добавить переход для компоновки перехода в структуру данных КМС.Затем переход.создать возвращает управление прикладному классу .

Загрузка...