This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Standard Automata Theory and Process Algebra

Victor Yodaiken ©Victor Yodaiken 2021. Austin TX.
Abstract

Process algebra [11, 2] proposes to ameliorate or fix a number of limitations in automata theory that are much less real than they might appear. This note examines the foundational works in process algebra as a critique of automata theory and discusses how this critique can be addressed within the bounds of classical state machines[8, 15, 7, 13, 1]

Keywords automata, state, recursion, Moore machines, specification

Chapter 4, of "Communication and Concurrency"[11] starts with:

We begin … by showing the need for a notion of equality stronger than that found standard automata theory […] in standard automata theory an automaton is interpreted as a language."([11] p. 85).

Baeten[2] puts it this way

On automata, the basic notion of equivalence is language equivalence: a behaviour is characterized by the set of executions from the initial state to a final state.

A great deal of the automata theory literature, however, concerns differences between state machines that accept the same language. Rabin and Scott[9], in a 1959 paper discuss minimization via the Myhill congruence and also the distinction between deterministic and non-deterministic automata that accept the same language. Minimization involves reducing the state set of distinct state machines that "do the same thing" or recognize the same language. These machines are equivalent in one sense and not in another but are certainly not considered the same. Further, state machines are not confined to language acceptors (recognizers). Every digital circuit design text (e.g. [17]) discusses minimization of transducers, such as Mealy and Moore machines[8]. Acceptors are simply Moore type state machines with a binary output. Ginzburg’s 1968 text [4] explains ideas from the literature about state machine "coverings" and machine homomorphisms to characterize state machines, in general, ones with output, that have the same behavior but are structurally different. Hartmanis and Stearns work on factoring state machines [5, 6] and extensive work on Krohn-Rhodes [7], much of which pre-dates Milner’s work by a decade or more, are about distinguishing between state machines that do the same thing by their product structure or the algebraic structures of their underlying monoids [15, 1]. Hartmanis, in 1962, specifically discusses connecting concurrent Moore machines in a product form (see also Gecseg’s monograph [3] and my own use of concurrent products in [18]).

To illustrate his point about equivalence, Milner provides two state diagrams

[Uncaptioned image]

and explains

if we take A2A_{2} and B2B_{2} to be the accepting states of our two automata, we can argue … that A and B denote the same language. …
But we now argue in favour of another interpretation in which A and B are different.

Milner used the same example in a previous book [10] where he asks "But are they equivalent in all senses?"

In "standard automata theory" A and B are definitely not equivalent in all senses. One is an NFA and the other is a DFA, after all. What Milner may have meant is that recognizers like A and B do not directly provide the semantics of Process Algebra "communicating processes".

According to our earlier treatment of examples, A and B are agents with may interact with their environment though the ports aa, bb, cc, and dd. We imagine an experimenter trying to interact with the agent A or with B through its ports; think of each port as a button which is unlocked if the agent can perform the associated action and can be depressed to make it do the action, otherwise the button is locked and cannot be depressed. "

… after the aa-button is depressed [ in the initial state] a difference emerges between A and B. For A — which is deterministic — bb and cc will be unlocked, while for B — which is non-deterministic — sometimes only cc will be unlocked. — from Communication and Concurrency.

But, under this interpretation, A and B are not being employed as recognizers at all: they somehow have outputs which indicate what "buttons can be pressed" or accept additional inputs which model the event of an attempted button push. All of this is straightforward with a Moore machine - the kind of thing one learns in an introductory digital design class. On the other hand, if one assumes that state machines are limited to language acceptors which output only a binary accept/reject, and then treats these acceptors as if their internal state was also visible output, things won’t make much sense.

All of this is even more perplexing because in an 1971 paper[12], Milner references and uses the automata theoretic concepts of "covering" and "machine homorphism" explained in Ginzburg’s 1968 text on automata theory[4]. Park[14], who is generally credited with the concept of "bisimulation" in process algebra also references Ginzburg’s definition of covering.

Milner wrote in 1971[12]:

Condition (ii) simply states that R is a weak homomorphism between the algebraic structures (D,F (D’,F’). This concept is used in automata theory to define the notion of covering - see for example Ginzburg (7, p. 98.)

Here’s how Ginzburg explains it:

The meaning of [B covers A] is that to every state sAs^{A} in SAS^{A} there corresponds at least one state sBSBs^{B}\in S^{B}, such that when started in sBs^{B}, BB performs all the translations done by AA. [..]
If for some A and B, B covers A and A covers B, these automata are said to be equivalent. (p 97) — [4].

According to this definition B does not cover A (there is no B state to map A1A_{1} to) but A does cover B. So the state machines are still not equivalent.

Sangiorgi[16] has a much more detailed discussion of the automata theoretic origins of "bisimulation" from a process algebra point of view. What differences there are between covering and bisimulation is not something I address here, however, it is interesting that much of Ginzburg’s text is concerned with the direct and cascade product of concurrent state machines but that process algebra is very much based on the idea that automata cannot be connected into systems of communicating components within "standard automata theory". The cascade product connects factors in series and the text by Ginzburg references and draws from a 1962 paper by Hartmanis [5] called the "Loop-free structure of sequential machines" which specifically describes a more general automata product of Moore machines where there is arbitrary interaction between components as well as the loop-free products. Hartmanis writes:

We shall say this set of interconnected machines is concurrently operating if the next state […] of each machine MiM_{i} depends on the present state of MiM_{i}, the present outputs (which depend only on the present states) of the machines to which it is connected, and the present external input. (page 117)

I show how to use the general product in [19] which treats state machines as maps from finite sequences to output values and uses a form of recursive composition to construct concurrent products.

And yet Baeten[2] in his 2005 "History of Process Algebra" writes

Basically, what is missing [in automata theory] is the notion of interaction: during the execution from initial state to final state, a system may interact with another system. This is needed in order to describe parallel or distributed systems, or so-called reactive systems.

which essentially dismisses not only the entire field of automata products but Moore and Mealy machines.

This summary is somewhat understandable because by the 1970s the computer science work on automata products had become marginal and automata theory in all respects was not at all well known, particularly within the formal methods and process algebra research communities. However, while many computer scientists worked on alternatives to automata theory, Moore machines continued to be widely employed by computer architects and electrical engineers in circuit design.

References

  • [1] Michael A Arbib “Theories of Abstract Automata (Prentice-Hall Series in Automatic Computation)” USA: Prentice-Hall, Inc., 1969
  • [2] Jos CM Baeten “A brief history of process algebra” In Theoretical Computer Science 335.2-3 Elsevier, 2005, pp. 131–146
  • [3] Ferenc Gécseg “Products of Automata” 7, EATCS Monographs on Theoretical Computer Science Springer, 1986 DOI: 10.1007/978-3-642-61611-2
  • [4] A. Ginzburg “Algebraic theory of automata” Academic Press, 1968
  • [5] J. Hartmanis “Loop-free structure of sequential machines” In Sequential Machines: Selected Papers Reading MA: Addison-Welsey, 1964, pp. 115–156
  • [6] J. Hartmanis and R.. Stearns “Algebraic Structure Theory of Sequential Machines” Prentice-Hall, 1966
  • [7] W.M.L. Holcombe “Algebraic Automata Theory” Cambridge University Press, 1983
  • [8] John E. Hopcroft and Jeffrey D. Ullman “Introduction to Automata Theory, Languages, and Computation” Reading MA: Addison-Welsey, 1979
  • [9] Rabin M.O. and Dana Scott “Finite automata and their decision problems” In IBM Journal of Research and Development, 1959
  • [10] R. Milner “A Calculus of Communicating Systems” 92, Lecture Notes in Computer Science Springer Verlag, 1979
  • [11] R. Milner “Communication and Concurrency” USA: Prentice-Hall, Inc., 1989
  • [12] Robin Milner “An Algebraic Definition of Simulation between Programs” In Proceedings of the 2nd International Joint Conference on Artificial Intelligence, IJCAI’71 London, England: Morgan Kaufmann Publishers Inc., 1971, pp. 481–489
  • [13] “Sequential Machines: Selected Papers” Reading MA: Addison-Welsey, 1964
  • [14] David Michael Ritchie Park “Concurrency and Automata on Infinite Sequences” In Theoretical Computer Science, 1981
  • [15] J.E. Pin “Varieties of Formal Languages” New York: Plenum Press, 1986
  • [16] Davide Sangiorgi “On the Origins of Bisimulation and Coinduction” In ACM Trans. Program. Lang. Syst. 31.4 New York, NY, USA: Association for Computing Machinery, 2009 DOI: 10.1145/1516507.1516510
  • [17] John F. Wakerly “Digital Design: Principles and Practices (5th Edition)” Pearson, 2017
  • [18] Victor Yodaiken “State Machines for Large Scale Computer Software and Systems” In Form. Asp. Comput. 36.2 New York, NY, USA: Association for Computing Machinery, 2024 DOI: 10.1145/3633786
  • [19] Victor Yodaiken “State machines for large scale computer software and systems” arXiv, 2016-2022 DOI: 10.48550/ARXIV.1608.01712