Cтраница 1
Протокольный автомат ( рис. 5.25, а) получен из спецификации ( приложение 1) без учета работы с таймером, который не влияет на анализ, так как не рассматриваем потери передаваемых данных. [1]
Пример системы помеченных переходов. [2] |
Для протокольных автоматов важным свойством является свойство живости. [3]
Допустим, протокольный автомат находится в состоянии А. [4]
Для описания протокольного автомата язык ESTELLE содержит раздел описания переходов ( см. разд. [5]
Обычно взаимодействие каждого протокольного автомата начинается с начального состояния. В то же время, в результате рестарта отдельных программно-аппаратных устройств, каждый из этих автоматов в любой момент может быть принудительно возвращен в исходное состояние. Нарушение самосинхронизуемости заключается в том, что при возврате одного или нескольких взаимодействующих автоматов в исходное состояпие, нарушается и больше не восстанавливается правильное функционирование всей системы. Нарушение самосинхронизуемости является ошибкой, но ее обнаружение требует от разработчика определения всех возможных нарушений, принудительно изменяющих состояния взаимодействующих автоматов, и условий возврата в режим правильного функционирования. [6]
Рассматривается система N взаимодействующих протокольных автоматов. Каждый из автоматов имеет N - 1 выходных каналов к остальным автоматам и N - 1 вход-пых каналов от остальных автоматов. Взаимодействие может осуществляться только передачей по каналам событий. С каждым каналом связана величина, ограничивающая число одновременно находящихся в нем событий. [7]
Согласно концепции РКА состояния протокольного автомата специфицируются множеством переменных. Конкретное состояние определяется значениями каждой из этих переменных. Выделяется особая переменная с о-стояние, играющая роль состояния конечного автомата ( основное состояние), на котором основан данный протокольный автомат. Существует зависимость между диапазоном значений переменной состояние и количеством остальных переменных. [8]
Диаграмма состояний транспортного протокола класса О. [9] |
Заполненные клетки таблицы описывают переходы протокольного автомата. Выполняемый переход находится на пересечении состояния, в котором находится автомат, и типа поступившего события. [10]
Такая декомпозиция позволяет, во-первых, выделить чисто протокольный автомат, а во-вторых, обеспечить независимость протокола от сервиса нижнего уровня и интерфейса пользователя от конкретной реализации протокола. Так при изменении интерфейса с нижним уровнем перепроектирование затрагивает только автомат ИНТЕРФЕЙС, который должен независимо от сервиса нижнего уровня сохранить ( эмулировать) соглашения между автоматами ИНТЕРФЕЙС и ПРОТОКОЛ. Еще более важным является сохранение неизменным сервиса предоставляемого пользователю, при изменениях реализаций протокола так, чтобы сохранить без изменений работу прикладных систем. Это достигается перепроектированием автомата СЕРВИС. [11]
Описанпый подход позволяет не только автоматизировать реализацию протокольных автоматов, но и рассматривать при реализации лишь логические аспекты взаимодействия протокольных объектов без знания их конкретных механизмов. [12]
После выполнения описанного апализа процессор строит граф переходов протокольных автоматов, проверяя при этом связанность графа, отсутствие переходов из терминальных ( конечных) состояний и наличие циклов. В противном случае выдается предупреждающее сообщение. Хотя цикл сам по себе в последнем случае не является ошибкой, он может привести к ошибочному глобальному циклу в распределенной системе. Особенно тщательно необходимо проанализировать циклы, состоящие только из интерфейсных и таймерных событий. [13]
Как уже было указало, действия модуля определяются протокольным автоматом. Описание протокольного автомата в виде простой модели конечного автомата приводит к очень сложным и нечитаемым спецификациям, поэтому модель конечного автомата расширяется дополнением переменных и действиями над ними. [14]
Примеры недетерминизма. [15] |