10.4. Логика упорядочения событий
На этапе детального
проектирования ПО заполняется раздел
«Логика упорядочения событий» в
спецификации поведения задач. Ниже
рассказывается, каким образом задача
реагирует на входные сообщения или
события и, в частности, какая при этом
генерируется выходная информация.
Логика упорядочения событий описывается
неформально на псевдокоде или на
естественном языке и иногда дополняется
диаграммой. Например, для управляющей
задачи может быть построена диаграмма
перехода состояний.
В случае составной
задачи с несколькими вложенными объектами
входные сообщения принимает вложенный
объект-координатор, который затем
вызывает операции прочих объектов.
Следовательно, он реализует логику
упорядочения событий.
10.4.1.
Пример логики упорядочения событий для
задач отправителя и получателя. Ниже
приводится логика упорядочения событий
задачей-отправителем, которая посылает
сообщения другим задачам. Конкретный
вид операции send
(сообщение) зависит от того, предоставляет
сервис операционная система или
используется объект-разъем.
loop
Подготовить
сообщение, содержащее имя (тип)
и
необязательные параметры;
Послать
(сообщение) получателю;
endloop;
Логика
упорядочения событий задачей-получателем
такова:
loop
Принять
(сообщение) от получателя;
Извлечь
из сообщения имя и параметры;
case
сообщение
of
тип
сообщения 1:
объектА.операциях
(необязательные
параметры);
.
. .
тип
сообщения 2:
объектВ.операцияY
(необязательные
параметры);
.
. .
endcase
;
endloop;
Если применяется
разъем aConnector,
то операция отправки сообщения принимает
вид
aConnector.send
(сообщение)
а операция приема
aConnector.receive
(сообщение)
251