<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Protoautomata as Models of Systems with Data Accumulation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Irina Mikhailova</string-name>
          <email>irina@rambler.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Boris Novikov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Grygoriy Zholtkevych</string-name>
          <email>g.zholtkevychg@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Luhansk Taras Shevchenko National University, Institute of Information Technology</institution>
          ,
          <addr-line>2, Oboronna Str., 91011, Luhansk</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>V.N. Karazin Kharkiv National University, School of Mathematics and Mechanics</institution>
          ,
          <addr-line>4, Svobody Sqr., 61022, Kharkiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>582</fpage>
      <lpage>589</lpage>
      <abstract>
        <p>In the paper formal models of software systems and their components based on the notion of an abstract machine are discussed. Necessity to model systems with data accumulation sets the problem of study of generalizations of the notion of an abstract automaton. In the paper two generalizations, namely, preautomata and protoautomata, are considered. It is shown that passing from automata via preautomata to protoautomata can be naturally realized using the language and methods of category theory.</p>
      </abstract>
      <kwd-group>
        <kwd />
        <kwd>system modelling</kwd>
        <kwd>abstract automaton</kwd>
        <kwd>category of automata</kwd>
        <kwd>preautomata</kwd>
        <kwd>category of preautomata</kwd>
        <kwd>globalization</kwd>
        <kwd>protoautomaton</kwd>
        <kwd>category of protoautomaton</kwd>
        <kwd>re ector</kwd>
        <kwd>free protoautomaton</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Theory of abstract state machines or abstract automata is widely applied in
di erent areas of Computer Science. While the early applications of automata
theory were connected with theory of compilators design (see, for example, [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]),
the more recent its applications are focused on the problems of speci cation and
veri cation of behaviour of software components [
        <xref ref-type="bibr" rid="ref11 ref3">3, 11</xref>
        ]. Such changing of the
object of the theory was marked by R. Milner in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]: \In the classical theory,
rather little attention is paid to the way in which two automata may interact, in
the sense that an action by one entails a complementary action by another. This
kind of interaction requires us to look at automata in new light; in particular, this
interdependency of automata via their actions seems to demand a new approach
to behavioural equivalence".
      </p>
      <p>But the practice of modelling system behaviour based on the automata
approach has shown that the approach is inadequate if data accumulation for the
correct response is necessary.</p>
      <p>
        Using the concept of partial action of a semigroup on a set [
        <xref ref-type="bibr" rid="ref10 ref7">7, 10</xref>
        ], we have
de ned the notion of preautomaton and studied its properties [
        <xref ref-type="bibr" rid="ref12 ref4">4, 12</xref>
        ]. The further
study has shown that preautomata can be used for modelling some aspects of
behaviour of systems with a delayed response [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ].
      </p>
      <p>
        In this paper, we consider a more general class of automaton-liked systems |
the class of protoautomata. All necessary information from the theory of
semigroups, automata theory, and category theory can be found in the monographs
[
        <xref ref-type="bibr" rid="ref5 ref6 ref8 ref9">5, 6, 8, 9</xref>
        ].
      </p>
      <p>We use the notation ' : A 99K B for the partial mapping of A to B (unlike
the complete mapping A ! B). If '(a) is not de ned for a 2 A, we write
'(a) = ?. The free monoid on the alphabet is denoted by , and its unit by
". All actions and preactions used in the paper are right, as it is common in the
automata theory.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>We will use the de nition of the automaton in the following form (the condition
of the niteness is ignored):
De nition 1. Given a set X and a free monoid over the alphabet , an
automaton is a mapping X ! X : (x; a) 7! xa such that for all x 2 X
and u; v 2</p>
      <p>x" = x;
x(uv) = (xu)v:
(1)
(2)</p>
      <p>
        More general concept is the following
De nition 2 (see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). A preautomaton is such a partial mapping of
X 99K X : (x; a) 7! xa, that
      </p>
      <sec id="sec-2-1">
        <title>a) the condition (1) is ful lled;</title>
        <p>b) if xu 6= ? and (xu)v 6= ?, then x(uv) 6= ? and equality (2) is ful lled;
c) if xu 6= ? and x(uv) 6= ?, then (xu)v 6= ? and equality (2) is ful lled.</p>
        <p>The preautomata over the monoid
phisms are such maps ' : X ! Y that
form a category PAut( ); its
mor(8 a 2
)(8 x 2 X)( xa 6= ? =) ? 6= '(x)a = '(xa)):
(3)
The category Aut( ) of the automata over is a full subcategory of PAut( ).</p>
        <p>Preautomata appear in the following situation. Let Y be an automaton and
X an arbitrary nonempty subset of Y . Then a restriction of an action on X is a
preautomaton.</p>
        <p>Conversely, let X M 99K X be a preautomaton. The construction which is
inverse to restriction is called globalization. More precisely:
De nition 3. A globalization of the preautomaton X is an automaton Z with
an injection : X ! Z such that for all a 2 , x 2 X</p>
        <p>xa 6= ? =)
(x)a 2 (X) =)
? 6= (x)a = (xa);
xa 6= ? &amp; (xa) = (x)a:
Obviously, is a morphism of PAut(M ). We also call it a globalization.
De nition 4. A globalization : X ! Z is called universal if for any
globalization 0 : X ! Z0 there is an unique morphism { : Z ! Z0 such that 0 = { .
The following construction gives an universal globalization (obviously unique up
to isomorphism) for any preautomaton X 99K X. De ne a relation ` on
the set X :
(x; ab) ` (xa; b) ()
xa 6= ?:
Let ' be an equivalence relation generated by `, and XU = (X )= '. An
equivalence class of ' containing a pair (x; a) is denoted by [x; a]. For [x; a] 2 XU
and b 2 , we set [x; a]b = [x; ab]. Thus a complete action on XU is de ned.
Theorem 1. The automaton XU with a morphism U : X ! XU : x 7! [x; "] is
the universal globalization of the preautomaton X.</p>
        <p>Proof. See [4, Theorem 2]
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Protoautomata</title>
      <p>(4)
tu
The main object of this paper is a generalization of the notion of preautomaton:
De nition 5. A protoautomaton is a partial mapping X
(x; a) 7! xa such that
99K X :</p>
      <sec id="sec-3-1">
        <title>a) the condition (1) is ful lled;</title>
        <p>b) if xu 6= ? and (xu)v 6= ?, then x(uv) 6= ? and equality (2) is ful lled.
We will also denote the protoautomaton from this de nition simply by X, if it
does not cause a confusion.</p>
        <p>Example 1. Let S be a free subsemigroup of and : X S ! X an
automaton. De ne a partial mapping X 99K X as an extension of , putting
xu = ? for u 2 n S; so we get a protoautomaton over . Note that in
general it is not a preautomaton. In addition, this example shows that the
automaton over an in nite alphabet can be represented as a protoautomaton over
a two-letter alphabet.</p>
        <p>Example 2. Let X = fx; yg be a two-element set, L a subset of
protoautomaton X 99K X putting for a 6= "
. De ne a
xa =
y; if a 2 L;
?; if a 2= L;
and ya = ?. This example shows that protoautomata recognize all languages.</p>
        <p>We denote the category of protoautomata with morphisms de ned by the
condition (3) by PtAut( ); clearly, PAut( ) is its subcategory.</p>
        <p>It follows from the theory of partial action of semigroups [6, Theorem 5.7],
that a protoautomaton which is not a preautomaton has no globalization. More
precisely, for the protoautomaton X we can construct an automaton XU as in
Sec. 2, but in this case the morphism U is not injective in general.</p>
        <p>
          In this situation, the concept of a re ector is useful. We recall its de nition
[
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]:
De nition 6. A subcategory D of a category C is called re ective if with each
object C 2 C an object RD(C) 2 D is associated (called D-re ector of the object
C) and a morphism D(C) : C ! RD(C) (re ection morphism) such that for
each D 2 D the diagram
        </p>
        <p>C D(!C) RD(C)
#</p>
        <p>D
can be extended uniquely to a commutative diagram by some morphism out
HomD(RD(C); D).</p>
        <p>It is convenient to use another description of the equivalence ':</p>
      </sec>
      <sec id="sec-3-2">
        <title>Lemma 1. De ne a relation ] on the set X :</title>
        <p>(x; a) ] (y; b) () (9 a0; b0; p 2</p>
        <p>)(a = a0p &amp; b = b0p &amp; xa0 = yb0 6= ?):
Let
be the equivalence relation generated by ]. Then
coincides with '.</p>
        <p>Proof. If (x; a) ] (y; b) then</p>
        <p>(x; a) = (x; a0p) ` (xa0; p) = (yb0; p) a (y; b0p) = (y; b);
whence '.</p>
        <p>Conversely, if (x; a) ` (y; b), then a = cb; y = xc for some c 2
` ]. Consequently, '
. Hence
tu
Remark 1. Obviously, ` is re exive and transitive, while ] is re exive and
symmetric.</p>
        <p>Lemma 2. Let X be a protoautomaton, Y be a preautomaton (both over ),
: X ! Y be a morphism, x; y 2 X, a 2 . Then [x; "] = [y; a] implies
(x) = (y)a 6= ?..</p>
        <p>Proof. It follows from the condition that</p>
        <p>(x; ") ] (z1; b1) ] : : : ] (zn; bn) ] (y; a)
for some z1; : : : ; zn 2 X, b1; : : : ; bn 2
.</p>
        <p>Proof has completed
Similarly (and even easier) one can prove
Lemma 3. Let X be a protoautomaton, Y be an automaton (both over ),
: X ! Y be a morphism, x; y 2 X, a; b 2 . Then [x; a] = [y; b] implies
(x)a = (y)b.</p>
        <p>Apply induction on n. Since x = z1b1 6= ? then (x) =
that (x) = (zn)bn 6= ?. By de nition of the relation ]
(z1)b1. Suppose
bn = cp; a = dp; znc = yd 6= ?
for some c; d; p 2 . Then (zn)c 6= ? and by the induction
Since Y is a preautomaton then
(zn)(cp) 6= ?.
(x) =
(zn)(cp) =
(znc)p =
(yd)p = ( (y)d)p =
(y)a:
tu
tu</p>
      </sec>
      <sec id="sec-3-3">
        <title>Theorem 2. Let X be a protoautomaton over , then</title>
        <p>1. [X; "] is a re ector for X in the category PAut( ),</p>
        <sec id="sec-3-3-1">
          <title>2. XU is a re ector for X in Aut( ),</title>
        </sec>
        <sec id="sec-3-3-2">
          <title>3. XU is a re ector for [X; "] in Aut( ).</title>
          <p>
            Proof. 1) Let Y be some preautomaton and : X ! Y be a morphism of
protoautomata. The required morphism : [X; "] ! Y is uniquely determined
from the equality = U . Indeed, for x 2 X we have (x) = U (x) = ([x; "]).
It follows from Lemma 2 that is well-de ned.
2) Similarly, using Lemma 3.
3) Follows from 1), 2), and the following well-known fact [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]:
If A B C are categories, A is re ective in B, and B is re ective in C, then A
is re ective in C. Moreover, the re ection morphism from C to A is the product
of the corresponding re ection morphisms from C to B and from B to A
Corollary 1. Aut( ) is a re ective subcategory of PAut( ). Moreover, the
universal globalization of a preautomaton is its re ector.
          </p>
          <p>Example 3. Let X = fx; y; z; tg, p; u; v 2 n f"g. We set zu = zv = t; z(up) =
x; z(vp) = y and sw = ? for all s 2 X; w 2 n f"; p; u; vg. In such a
manner X turns into a protoautomaton. Since (x; ") ] (z; up) ] (z; vp) ] (y; ")
then [x; "] = [y; "] and the re ection morphism of X is non-injective.</p>
          <p>A large class of protoautomata is contained in the following example.
Example 4. Consider a preautomaton X 99K X as a directed weighted
multigraph with states as vertices and with edges of the form (x; u; y), where
x; y 2 X, u 2 , and y = xu. Let U be an arbitrary subset of edges of X. Build
a transitive closure U t of the set U , extending it step by step by the rule: if the
edges (x; u; y) and (y; v; z) are at some stage in the expansion, then on the next
step we include the edge (x; uv; z). Then U t is a protoautomaton.
Example 3 shows that there exists a protoautomaton such that it can not be
embedded into some preautomaton (and thus into some automaton).
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Free Protoautomata</title>
      <p>
        It is well known [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] that free automata play a signi cant role in the theory of
automata (for example, in the problem of constructing a minimal realization).
Therefore, it is advisable to consider the question about the existence of free
objects in the category of protoautomata.
      </p>
      <p>Recall the necessary de nitions:
De nition 7. Let C and D be categories, F : C D be a functor, C be an object
of C. An object D of D is called free on C with respect to the functor F ,
if there is a morphism : C ! F D such that for any object D0 2 D and any
morphism : C ! F D0 there exists the unique morphism : D ! D0 such that
F ( )
= :
(5)</p>
      <p>We consider a category Rel( ) whose objects are pairs (X; ), where X is
a set (X 2 Set), X is a binary relation such that X f"g .
A morphism : (X; ) ! (Y; ) of Rel( ) is a map : X ! Y such that
( x; u) 2 for (x; u) 2 .</p>
      <p>Next, let F be a forgetful functor F : PtAut( )
protoautomaton X 99K X to the pair (X; ) with
Rel( ) mapping each
= f(x; u) j xu 6= ?g.</p>
      <p>Theorem 3. For each object (X; ) 2 Rel( ) there is a protoautomaton that is
free on it with respect to the forgetful functor F .</p>
      <p>Proof. For (X; ) 2 Rel( ) construct a protoautomaton M = (
de ning the action by the rule
99K ),
(x; u)v =
(x; uv); if (x; uv) 2</p>
      <p>?; if (x; uv) 2= :
Then F M = ( ; ^), where ^ = f((x; u); v) j (x; u)v = (x; uv)g . De ne
the morphism : (X; ) ! ( ; ^) by the formula (x) = (x; ").</p>
      <p>Let us show that M is a free protoautomaton on (X; ).</p>
      <p>Let N = (Y 99K Y ) be some protoautomaton and F Y = (Y; ). For the
required morphism : M ! N of (5) we have:</p>
      <p>(x; ") = F ( )(x; ") = F ( ) (x) = (x):
Then for any u 2
one can obtain</p>
      <p>(x; u) = (x; ")u = (x)u;
i.e.
5
is uniquely determined</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>tu
It seems that the class of protoautomata, which has been introduced in the
paper, gives the most abstract models for systems with discrete behaviour. This
class of abstract machines includes not only machines reacting on the received
data immediately, as automata, but it also includes machines whose reactions
depend on the accumulated information.</p>
      <p>
        The machines of this class having a greedy behaviour are united into a
subclass whose instances are called preautomata. Machines of the subclass are used
for modelling behaviour systems for complex event processing as it was shown
earlier [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ]. This class of machines, in contrast to the class of automata, is
closed under structural decomposition, and hence, is more suitable for
specifying complex systems. But the condition c) in the de nition of a preautomaton
(see De nition 2) seems unnatural. This condition also impedes de nition of a
nondeterministic preautomaton.
      </p>
      <p>Therefore, by eliminating the condition c) we provide a possibility to study
nondeterministic models. In our opinion, the models derived in this way
(protoautomata) are interesting objects that can be used for speci cation and
verication of complex systems.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aho</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ullman</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          : Theory of Parsing, Translation, and Compiling. PrenticeHall, New York (
          <year>1972</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Arbib</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manes</surname>
            ,
            <given-names>E.G.</given-names>
          </string-name>
          :
          <article-title>Machines in a category: an expository introduction</article-title>
          .
          <source>SIAM Rev</source>
          .
          <volume>16</volume>
          ,
          <issue>163</issue>
          {
          <fpage>192</fpage>
          (
          <year>1974</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Borger, E., Stark, R.:
          <article-title>Abstract State Machines: A Method for High-Level System Design and Analysis</article-title>
          . Springer-Verlag, Berlin Heidelberg (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dokuchaev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novikov</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zholtkevych</surname>
          </string-name>
          , G.:
          <article-title>Partial actions and automata</article-title>
          .
          <source>Alg. and Discr</source>
          . Math. Vol.
          <volume>11</volume>
          ,
          <issue>2</issue>
          , 51{
          <fpage>63</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Eilenberg</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Automata,
          <string-name>
            <surname>Languages,</surname>
          </string-name>
          <source>and Machines</source>
          , vol. B. Academic Press, New York (
          <year>1976</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Holcombe</surname>
            ,
            <given-names>W.M.L.</given-names>
          </string-name>
          :
          <article-title>Algebraic Automata Theory</article-title>
          . Cambridge Univ. Press (
          <year>1982</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hollings</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Partial actions of monoids</article-title>
          .
          <source>Semigroup Forum</source>
          .
          <volume>75</volume>
          ,
          <issue>293</issue>
          {
          <fpage>316</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lallement</surname>
          </string-name>
          , G.:
          <article-title>Semigroups and combinatorial applications</article-title>
          . John Wiley, New York (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>MacLane</surname>
          </string-name>
          , S.:
          <article-title>Categories for the Working Mathematician</article-title>
          . Springer, Berlin (
          <year>1971</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Megrelishvili</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Schroder, L.:
          <article-title>Globalization of con uent partial actions on topological and metric spaces</article-title>
          .
          <source>Topol. and Appl</source>
          .
          <volume>145</volume>
          ,
          <issue>119</issue>
          {
          <fpage>145</fpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Milner</surname>
          </string-name>
          , R.:
          <source>Communicating and Mobile Systems: The Pi Calculus</source>
          . Cambridge University Press, Cambridge (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Novikov</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perepelytsya</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zholtkevych</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <article-title>Pre-automata as mathematical models of event ows recognisers</article-title>
          . In: V.
          <string-name>
            <surname>Ermolayev</surname>
          </string-name>
          et al.
          <source>(eds.) Proc. 7-th Int. Conf. ICTERI</source>
          <year>2011</year>
          ,
          <volume>41</volume>
          {
          <fpage>50</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Perepelytsya</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zholtkevych</surname>
          </string-name>
          , G.:
          <article-title>On some class of mathematical models for static analysis of critical-mission asynchronous systems</article-title>
          .
          <source>Syst. ozbr. ta viysk. tehn</source>
          . Vol.
          <volume>27</volume>
          ,
          <issue>3</issue>
          , 60{
          <fpage>63</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Perepelytsya</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zholtkevych</surname>
          </string-name>
          , G.:
          <article-title>Hierarchic Decomposition of Pre-machines as Models of Software System Components</article-title>
          .
          <source>Syst. upravl. navig. i zv'iazku</source>
          . Vol.
          <volume>20</volume>
          ,
          <issue>4</issue>
          , 233{
          <fpage>238</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>