Правило 2.
Система субъектов S должна быть сильно упорядо-
ченной. Более того, все сигнальные переменные должны иметь поря-
док
0
.
Для любой сигнальной переменной системы должен существовать
субъект, содержащий хотя бы один оператор отправки (широковеща-
ния или установки) для данной переменной. Кроме того, он не должен
содержать операторов ожидания для других сигнальных переменных,
а также операторов захвата исключающих семафоров L
i
, для которых
выполнено
τ
(
S
m
,
L
i
)
J
L
τ
(
S
k
,
L
s
)
J
L
τ
(
S
k
,
W
j
)
.
Данное свойство является самым сильным из требований упорядо-
ченности, но в то же время его проще всего проверить. Фактически,
данное свойство гарантирует отсутствие ситуаций блокировки в си-
стеме, в которой нет ситуаций блокировки на одних исключающих
семафоров.
Правило 3.
Логика использования в системе операторов отправки,
широковещания и установки не должна зависеть от выбора конкрет-
ной ветви при проходе точек ветвления.
С точки зрения наличия в системе потенциальных ситуаций вза-
имной блокировки стоит рассматривать всевозможные варианты пове-
дения системы, даже если выбор той или иной ветви представляется
маловероятным. Поясним сказанное на примере системы субъектов,
изображенной на рис. 3.
Пусть регулярному выполнению системы соответствует выбор
верхней ветви в точке ветвления T1 субъекта S
2
. В этом случае оба
субъекта беспрепятственно выполняются и в системе нет блокировок.
Предположим, что система стала вести себя нерегулярно и после пер-
вого прохождения в точке T1 по нижней ветви все время проходит
по ней. На данной ветви нет оператора отправки для первой сигналь-
ной переменной без памяти, следовательно, субъект S
1
при данной
динамике после взаимодействия с оператором ожидания первой сиг-
нальной переменной оказывается в ситуации блокировки.
Рис. 3. Пример системы, выполнение которой зависит от выбора конкретной
ветви
104
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
1,2,3,4,5,6,7,8,9 11,12,13,14,15,16,17