Cтраница 4
![]() |
Диаграмма состояний транспортного протокола класса О. [46] |
Заполненные клетки таблицы описывают переходы протокольного автомата. Выполняемый переход находится на пересечении состояния, в котором находится автомат, и типа поступившего события. [47]
Теперь настало время применить способы, обсуждавшиеся в этой главе. Используя некоторые из них, я создала страницу, которая обеспечивает пользователям обратную связь на основании двух типов событий: движений мыши и нажатия кнопок клавиатуры. [48]
Когда счетчик времени отключен, главную роль в учете времени играет оператор. Каждый раз, когда машина останавливается или начинает работать, должна быть зафиксирована следующая информация: время события, тип события, характер работы машины, заказчик и используемое оборудование. [49]
ТДС и вставляет в нее это сообщение. Заметим, что в языке отсутствует явный оператор для приема сообщений ( событий), так как протокольный монитор периодически просматривает все очереди ТДС и вызывает для каждого события нужный автомат, в котором в зависимости от типа события произойдет тот или иной переход. В этом и заключается прием сообщений. Оператор прд запрещается применять в предикатах и пост-предикатах. [50]
Динамика выполнения протокольного объекта заключена в описании автоматов, каждый из которых обладает свойством РКА. Протокольная среда ( протокольный монитор) обеспечивает при поступлении события ( таймерного или интерфейсного) через ТДС к объекту автоматический поиск нужного автомата, его запуск, определение и исполнение правила в зависимости от текущего состояния и типа входного события. Язык ОСА позволяет декомпозировать объект на подавтоматы для повышения выразительности спецификаций и упрощения реализации. Группа подавтоматов одного объекта использует общий контекст. В результате одного входного события может быть вызвано исполнение нескольких подавтоматов. В этом случае исполнение происходит строго последовательно ( всегда в данный момент исполняется только один подавтомат), поэтому конфликтных ситуаций при работе с общим контекстом не возникает. [51]
Например, пршрамма базы данных может записать в - УЮТ журнал ошибку файла. Типы записываемых событий определяются разработчиками приложений. [52]