Java Applet on Multiplicative Decomposition

Start the applet

INTRODUCTION

Applet is devoted to general method of decomposition of FSM and enables synthesis of the network of interacting sub-FSMs corresponding to a complete set of partitions on the set of states of source FSM. We call this method of decomposition as multiplicative decomposition, because the graph of the prototype FSM is embedded into a product of smaller graphs. The brief list of other features provided by applet includes: partitions search by specified criteria, random generation of set of partitions, import and export of FSM/Network (various formats are supported), built-in libraries of FSMs, steady-state probabilities computation. The applet could be considered not only as educational system but also as a research tool that we are able to use to carry out experiments guided to further development of decomposition synthesis.

SHORT THEORETICAL BASICS

It is not an overstatement to tell that the decomposition task is one of the most intricate and actual problems at complex discrete devices synthesis. Commonly, the FSM decomposition task is representing of prototype FSM as its network realization. It means that, we construct such network of interconnecting and interacting component automata that it must realizes the work of source FSM.

Let pi be the state partition inducting state decomposition on machine A. For each pi, there is an associated FSM, Ai=<Si, Xi, Yi, di, li> where di and li is the partitioned next state and output functions consequently.  The primary inputs are shared by the Ai’s and the communication among Ai’ is through state variables. The set (Ai | iÎI=(1, …, n)) of all the sub-FSM’s Ai’s represents the decomposed network of FSM’s obtained from the original machine A when its set of states is decomposed according of pi.

As mentioned above, on the set of states S of the source original FSM A we choose a set of state partitions pi. Next we define some information partitions which are induced on A by a network that defines A. These “associated” partitions on A may be thought of as a global characterization (on A) of the information used and computed in a component machine of network. It is natural correspondence between local and global properties that allows us to approach the structure of machines with partition pair algebra.

The main condition of general FSM’s decomposition is equality to zero of product of all selected partitions on the set of the states of the FSM. These partitions are called complete set of partitions. From informational point of view, while a partition on the set of states of source FSM is some measure of information about corresponding component sub-FSM, the zero partition on the set of states of decomposed FSM contains complete information about it.

The procedure of decomposition described in this section is based on the general form of decomposition without the restriction on their interconnection. Each sub-machine corresponds to a partition on the set of state. The procedure is illustrated on example of decomposition of the machine described by Table 1. Next we illustrate general description of main steps of the procedure.

 Present state (sp­) Input condition αpq Next state sq Output signal βpq 1 x1^x2 1 y1y2 ^x1^x2 3 y2 ^x1x2 5 y5 x1x2 6 y1 2 x2 2 y2y6 ^x2 7 y5 3 x4 1 y3 ^x4^x5 4 y3y4 ^x4x5 7 y4 4 x3 3 y2y5y6 ^x3 5 y5 5 x6 5 y7 ^x6 9 y7 6 x1x3 7 y5y6 ^x1x3 8 y5 ^x3 9 y6 7 x2 8 y2 ^x2 9 y1y6 8 x5 3 y3y4 ^x5 8 y4 9 x6 1 y7 ^x6 7 y3y4y7

Table 1.State Transition Table of example FSM

### Choosing a system of partitions on the set of states of FS

On this step of the decomposition procedure we select a complete set of partitions on the set of states. In our example the set of partitions will be the following:

Let us label the blocks of partition p1 by a1, a2, a3 and the blocks of partition p2 by b1, b2, b3, b4 correspondingly.

### Coding of the network

The coding of the network (global states of the net) gives us a set of internal binary variables of the network Z. Consider a set of states S and an encoding function e: S{0, 1}c, for a given c (encoding length), that to each symbol sS a code, i.e., a binary vector of length c. A necessary requirement is that different symbols are mapped to different binary vectors. Given a set of symbols S, a face constraint is a block BS in the partition specifying that the symbols in B are to be assigned to one face (or sub-cube) of a binary c-dimensional cube, without any other symbol sharing the same face. So, face constraints are generated by step of partition search, c is the number of internal binary variables of the net, |Z|. Every variable zZ corresponds to some two-block partition on S. Let the binary internal state variable zij be produced by the sub-machine Ai. Then zij is a state variable of sub-machine Ai and corresponds to the two-block partition hij. One of the blocks of hij is coded by 0, the other one by 1. In this step we decide an combinatorial problem called face hypercube embedding [3], to find the minimum c and related e: S{0, 1}c such that face constraints are satisfied i.e., hijpi.

The internal binary variables for FSM’s network are:

;   h11 ~ z1

;   h12 ~ z2

;   h21 ~ z3

;   h22 ~ z4

We suppose that the first block of two-block partition corresponds to the value of internal binary variable equal to 1 and the second block corresponds to 0. For instance, if z1=1, than it means that global state sp the network contains in the first block of partition h11, i.e., spÎ{1,3,5,6}. In this example two-blocks hij partitions were constructing by trivial combining of blocks of corresponded pi partitions, since the optimal algorithm of search for optimal solution of coding problem is beyond of the bounds of this work.

Determining of the structure of the network

To determine the structure of the network the M(pi) partitions should be found for each of pi partitions. In our example:

So M(p1) h11×h21×h22. It means that z1 is the state variables and z3, z4 are the input variables of the first sub-FSM

 Bp apq(Bp, Bq) Bq βpq a1 z3 z4 a1 - ^z3 z4 x4 a1 y3 ^z3 z4 ^x4 ^x5 a3 y3 y4 ^z3 z4 ^x4 x5 a2 y4 a2 ^z3 ^z4 x6 a1 y7 ^z3 ^z4 ^x6 a2 y7 a3 z3 ^z4 a2 - z3 a2 - ^z3 z4 x5 a1 y3 y4 a4 ^z3 z4 ^x5 a2 y4 ^z3 ^z4 x6 a1 y7 ^z3 ^z4 ^x6 a2 y3 y4 y7 1 a1 -

Table 2. State Transition Table of constructed component FSM A

The second component sub-FSM can be constructed in the similar way.

### Defining of the basis of the network

This step characterizes the basis of realization of the network. The set of states of component FSM Ai is equal to the set of blocks of partition pi. The internal inputs of component machines are defined at the previous step of procedure. The schematic representation of the constructed network is presented in Figure 1.

Figure 1. Schematic representation of the constructed network

LIST OF PUBLICATIONS:

WARNING: This page contains links to PDF files of articles that may be covered by copyright. You may browse the articles at your convenience. (in the same spirit as you may read a journal or a proceeding article in a public library). Retrieving, copying, or distributing these files, however, may violate the copyright protection law. We recommend that the user abides international law in accessing this directory.

Last update: 3 August, 2004