An automaton decomposition method for program structure simplification

We propose a method of decomposing an automaton which represents the flow of a program into simpler automata. More specifically, we: (1) introduce a new automata model called paired synchronized automata; (2) present a polynomial time algorithm for decomposing an automaton into paired synchronized automata; (3) show the correctness proof of the algorithm; and (A) give an experimental result on the effect of the decomposition algorithm for a certain application. In the proposed model of paired synchronized automata, each automaton contains a synchronization symbol to describe the action of sending a signal to and receiving it from another automaton, and for any external input, multiple transitions are prohibited. The paired synchronized automata produced by the proposed decomposition method are much simpler than the automata produced by the previous method, and they are easy to be translated in a program.