We can find most of the concepts in Nancy Lynch's Distributed Algorithms.
I/O automata
-
$sig(A)$ , a signature$S$ is a triple consisting of three disjoint sets of actions: the input actions,$in(S)$ , the output actions,$out(S)$ and the internal actions,$int(S)$
Action Type | Description of Action Type |
---|---|
Input | Represent a node receiving an input message, from a network endpoint or a terminal, for example |
Output | Represent a node sending an output message, to a network endpoint or a terminal, for example |
Internal | Represent an internal event in a node |
-
$state(A)$ , a set of states -
$start(A)$ , initial states, a nonempty subset of$state(A)$ -
$trans(A)$ , a state transition relation; for every state$s \in state(A)$ and every action$\pi$ ,
there is state$s' \in state(A)$ , and a transition$(s, \pi, s') \in trans(A)$ -
$task(A)$ , a task partition
A trace of
in which, there are
The state transition graph of an I/O automata produces a collection of trace sets, which are used to generate a set of test cases.