Асинхронные функции
Для вычисления функций в распределенных взаимодействующих автоматах реализуется посредством использования выделенных взаимодействующих автоматов, получающих входные параметры функции и возвращающих результат.
Асинхронной функцией AF из множества входных значений IS во множество выходных значений OS называется взаимодействующий автомат SA = ( S, s0, X, Y, E, Q ), в котором
- PY = { callAF,is | is IS } Y - множество входных значений параметризует выделенное подмножество реакций автомата,
- RX = { resultAF,os | os OS } X - множество выходных значений параметризует выделенное подмножество стимулов автомата,
- RX PY = Ø,
- ( s, m, s' ) E (s = s0) m PY,
- ( s, m, s' ) E m PY m' PY s'' S: ( s, m', s'' ) E,
- ( s, m, s' ) E (m RX) ( s', m', s'' ) E m' PY,
- пути ( e1, e2, …, en ) в SA (n > 1)
e1 = ( s1, py1, s'1 ) en = ( sn, pyn, s'n ) j { 2, ..., n-1 } ej = ( sj, rx, s'j ), - q Q ( s, m, s' ) E (s' = q) m RX.
Данные ограничения определяют ту специфическую роль, которую играют сообщения из PY и RX в работе автомата SA. Эта роль заключается в том, что функционирование автомата SA состоит из последовательных циклов, каждый из которых начинается получением параметризующей реакции callAF,ip и завершается посылкой результирующего стимула resultAF,op. Внутри этого цикла автомат SA произвольным образом взаимодействует со своим окружением, но только посредством сообщений, не входящих в PY
RX.Множество всех асинхронных функций, у которых множество входных значений равно IS, а множество выходных значений равно OS, мы будем обозначать как Ã(IS,OS).
Чтобы работа распределенного взаимодействующего автомата завершилась, необходимо, чтобы все составляющие его автоматы перешли в заключительное состояние. Для этого вместо асинхронных функций обычно используют их замыкания по выделенному множеству терминирующих реакций.
Замыканием взаимодействующего автомата ( S, s0, X, Y, E, Q ) по множеству реакций R мы будем называть взаимодействующий автомат ( S', s'0, X', Y', E', Q' ), в котором
- S' = S {final},
- s'0 = s0,
- X' = X,
- Y' = Y R,
- E' = E { ( s, r, final ) | s S, r R },
- Q' = Q {final}.
Замыкание взаимодействующего автомата дополняет исходный автомат специальным завершающим состоянием и множеством переходов, ведущих в это состояние изо всех остальных состояний по получению реакции из множества R.