Previous Page  16 / 23 Next Page
Information
Show Menu
Previous Page 16 / 23 Next Page
Page Background

80

ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. «Приборостроение». 2016. № 3

секвенты, с предикатными символами, начинающимися с префикса

sequent

, и правило обязательной реакции, в левой части которого нахо-

дится целевой предикат

execute(XL11, XP111, XP221, XL12,

XP112, XP222)

с предикатным символом

execute

. Термами этого пре-

дикатного символа являются переменные, соответствующие именам се-

квентов, которые должны обязательно использоваться при взаимодей-

ствии агентов для выполнения свойства обязательной реакции. В правой

части этого правила указывается перечень всех секвентов с этими имена-

ми и соответствующими термами.

Раздел

clauses

содержит единственный предикат, каждое истинное

значение которого выдает список имен всех секвентов, участвующих в

том или ином взаимодействии агентов и не нарушающих свойство обяза-

тельной реакции. Кроме имен также выдаются соответствующие этим

взаимодействиям значения термов. В связи с ограниченным объемом ста-

тьи в конце правила с левой частью

execute(XL11, XP111, XP221,

XL12, XP112, XP222)

поставлено отсечение (!), позволяющее выда-

вать информацию только об одном макросостоянии взаимодействия

агентов, правильном с позиции свойства обязательной реакции. В соот-

ветствии с приведенной логической программой это будет следующая

информация:

sequentRlp(XL11, S1L11, rlp(receive(p1l(M1L11), p2l(M1L21)),

put(lp1(M2L11), lp2(M2L21))), S2L11)

XL11 = preparation, S1L11 = readiness, M1L11 = opened,

M1L21 = opened, M2L11 = invitation, M2L21 = invitation,

S2L11 = inviting

sequentPp1r(XP111, S1P11, pp1r(p1put(p1l1(M1L11)),

p1receive(lp11(M2L11))), S2P11)

XP111 = p1preparation, S1P11 = p1ready, M1L11 = opened, M2L11

= invitation, S2P11 = p1invited

sequentPp2r(XP221, S1P21, pp2r(p2put(p2l2(M1L21)),

p2receive(lp22(M2L21))), S2P21)

XP221 = p2preparation, S1P21 = p2ready, M1L21 = opened, M2L21

= invitation, S2P21 = p2invited

sequentPlr(XL12, S1L12, plr(put(lp1(M1L12), lp2(M1L22)),

receive(p1l(M2L12), p2l(M2L22))), S2L12)

XL12 = reaction, S1L12 = inviting, M1L12 = invitation,

M1L22 = invitation, M2L12 = invited, M2L22 = invited,

S2L12 = accepting

sequentRp1p(XP112, S1P12, rp1p(p1receive(lp11(M1L12)),

p1put(p1l1(M2L12))), S2P12)

XP112 = p1reaction, S1P12 = p1invited, M1L12 = invitation,

M2L12 = invited, S2P12 = p1accepted