Cтраница 2
Пусть множество всех состояний, в которых может находиться протокольный автомат ( модуль), будет S. Переход может быть вызван событием или быть спонтанным. [16]
Глобальное состояние всей системы состоит из множества состояний каждого протокольного автомата и всех каналов, соединяющих автоматы. Состояния каналов, если они непусты, характеризуются списками событий, находящихся в данный момент в этих каналах. [17]
На этапе трансляции с языка ОСА осуществляется построение графа переходов протокольного автомата в виде определенной структуры и выполняется предварительный анализ описания с выдачей диагностики в случае обнаружения некорректностей. Диагностика выдается с указанием номера строки исходной спецификации и местоположения обнаруженной ошибки в строке. При обнаружении ошибки препроцессор не останавливает свою работу, а пытается по возможности выполнить трансляцию дальше для того, чтобы пользователь получил как можно больше сведений об ошибках. Все диагностические сообщения этапа трансляции разбиты на три группы: предупреждающие - сообщения, которые никак не влияют на процесс трансляции, а служат лишь для оповещения пользователя, синтаксические - ошибки, не прекращающие процесс трансляции, и аварийные - ошибки, прекращающие процесс трансляции. Дополнительно протокольный препроцессор формирует на внешнем файле образ протокола. Формирование такого образа позволяет выполнять верификацию и отладку протокола в понятиях языка ОСА. [18]
Список или идентификатор множества состояний в приставке from удобно применять в тех случаях, когда для множества состояний протокольного автомата необходимо выполнить одну и ту же реакцию. SN), Нам необходимо определить для каждого состояния реакцию на поступление протокольного элемента ОШИБКА, которая заключается в том, что выполняется процедура ЭПД. Обычным способом нам необходимо задать N переходов. [19]
Подавтоматы протокольного объекта. [20] |
При поступлении входного события выполняется его анализ в соответствии с описанной структурой, производится поиск текущего контекста и запуск протокольного автомата. В процессе выполнения перехода автоматы могут вырабатывать выходные события в доступные им ТДС, а при формировании выходных событий могут быть использованы результаты анализа входного события. [21]
Преамбула может содержать текст на базовом языке, содержащий процедуры, функции и дополнительные переменные, которые можно использовать в настройке, расстройке или действиях протокольных автоматов. На ав-токод текст не накладывается никаких ограничений, кроме ограничений базового языка. [22]
И, наконец, рассмотрим модуль, выполняющий основпую логику протокола АВР. Работа протокольного автомата изображена на рис. 2.11, а табл. 2.3 содержит описание переходов этого автомата. [23]
Как уже было указало, действия модуля определяются протокольным автоматом. Описание протокольного автомата в виде простой модели конечного автомата приводит к очень сложным и нечитаемым спецификациям, поэтому модель конечного автомата расширяется дополнением переменных и действиями над ними. [24]
Протокольное взаимодействие объектов одного уров-пя может быть формально специфицировано с помощью автомата. Такая спецификация носит название протокольного автомата. Язык ESTELLE позволяет описывать протокольные объекты в виде модулей, действия в которых определяются переходами протокольного автомата. В общем случае объект может поддерживать одновременно несколько соединений с другими объектами, поэтому модуль может содержать несколько экземпляров одного и того же протокольного автомата. [25]
Тип перехода позволяет отличать переходы в протокольном автомате, а экземпляр перехода - одинаковые переходы в разных экземплярах протокольного автомата, Ддя каждого типа перехода проектировщик специфицирует состояние, из которого переход данного типа может произойти, и следующее состояние, в которое перейдет протокольный автомат после выполнения перехода. Переход может включать в себя взаимодействия модуля со своим окружением. [26]
К дополнительным операторам языка относятся операторы передачи и таймера. Эти операторы можно применять либо в действиях правил переходов протокольных автоматов, либо в тех местах, где синтаксис допускает использование автокод. [27]
Следует отметить, что при реализации протокола по формальному описанию стандарта разработчик должен тщательно проанализировать все случаи недетерминизма и в зависимости от конкретных условий оставить его или устранить. Естественно, что в тех случаях, когда недетерминизм нежелателен, рассмотренная модель позволяет спе-цифировать строго детерминированные протокольные автоматы. [28]
Тип перехода позволяет отличать переходы в протокольном автомате, а экземпляр перехода - одинаковые переходы в разных экземплярах протокольного автомата, Ддя каждого типа перехода проектировщик специфицирует состояние, из которого переход данного типа может произойти, и следующее состояние, в которое перейдет протокольный автомат после выполнения перехода. Переход может включать в себя взаимодействия модуля со своим окружением. [29]
Тип перехода позволяет отличать переходы в протокольном автомате, а экземпляр перехода - одинаковые переходы в разных экземплярах протокольного автомата, Ддя каждого типа перехода проектировщик специфицирует состояние, из которого переход данного типа может произойти, и следующее состояние, в которое перейдет протокольный автомат после выполнения перехода. Переход может включать в себя взаимодействия модуля со своим окружением. [30]