Спецификация и тестирование систем с асинхронным интерфейсом

       

Асинхронные функции


Для вычисления функций в распределенных взаимодействующих автоматах реализуется посредством использования выделенных взаимодействующих автоматов, получающих входные параметры функции и возвращающих результат.

Асинхронной функцией 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.


Содержание раздела