Attributed automata (AA) were introduced by M.Meriste and J.Penjam as a formalism for executable specifications using regular syntax with attributes representing contextual relations as well as semantic properties of underlying concepts. Due to applications in medical signal analysis AA is accepted as a software engineering tool.
This year, a functional specification method for attributed automata was developed, which has good compositional properties.
The functioning of the transformational automaton is analoguous to the
case of finite attributed automata: it starts from the initial state
with the initial attribute value
. A
transition from one state two another is possible only if the
corresponding enabling predicate is true. The transition is
accompanied by avaluation of the attribute of the next state using the
associated transformation function. The automaton stops if there is no
transitions enabled. If this happens in the final state
, then
the automaton finished successfully and the current value of the
attribute
is treated as the output of automaton.
This situation is denoted by
. If automaton stops in
some other state or doesn't stop at all, then the automaton fails and
this is denoted by
. This explains why such
automata are called transformational -- their only effect is the
transformation of inputs into outputs.
Example. AA can accept some context-sensitive languages. In Fig.1, the an automaton for the language . To model input string, the specialcomponent of attributes is used.
Figure: Recognizer of the language