print · source · login   

Interface Automaton

An interface automaton describes an system with inputs, outputs and internal actions. An interface automaton models a reactive system that can interact with its environment. The output actions are assumed to be under control of the system whereas the input actions are under control of the environment.

Formal definition

Source: [AH01]

Definition 1. An interface automaton is a 4-tuple (Q, I, O, H, T, q0) where

  • Q is a countable, non-empty set of states;
  • I,O,H are mutually disjoint countable sets of input,output, and internal actions. We denote by A = I ∪ O ∪ H the countable set of all actions.
  • T ⊆Q◊A◊Q, is the transition relation;
  • q0 ∈ Q is the initial state.

The input labels in I and the output labels in O represent the observable actions of a system; they model the systemís interactions with its environment. Internal actions are denoted by the labels in H.

Model definitions

An Interface Automaton (IA) is a structure consisting of states with transitions, labelled with actions, between them. The states model the system states; the labelled transitions model the actions that a system can perform. An action can be a label either from the set of inputs I or the set of outputs or can be an internal action. Thus a transition can be labeled either by an input, output or an internal action. [AH01]
Within ioco theory [Tre08] an Interface Automaton(IA) is just called an Labelled Transition System with inputs and outputs.
A Simplified Interface Automaton (SIA) is an Interface Automaton(IA) without internal actions. Thus a transition can be labeled either by an input or an output. [AW10]
An Input-Output Automaton, ( or I/O Automaton or IOA) is an input enabled Interface Automaton. [LT87]
Within ioco theory [Tre08] an Input-Output Automaton is called an Input Output Transition System (IOTS) which is defined within ioco theory as an input enabled Labelled Transition System with inputs and outputs.

When we define a Simplified Interface Automaton (SIA) both input and output deterministic then it is deterministic in the state in which the system is. And if we define it also output determined then the system is also behavior deterministic. However if we allow internal transitions, as in an Interface Automaton (IA), then we loose both state determinism and behavior determinism.