02.01.2013 Views

Internet Protocol - Research by Kirils Solovjovs

Internet Protocol - Research by Kirils Solovjovs

Internet Protocol - Research by Kirils Solovjovs

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Finite-state machine 114<br />

Optimization<br />

Optimizing an FSM means finding the machine with the minimum number of states that performs the same function.<br />

The fastest known algorithm doing this is the Hopcroft minimization algorithm. [11][12] Other techniques include<br />

using an implication table, or the Moore reduction procedure. Additionally, acyclic FSAs can be minimized in linear<br />

time Revuz (1992). [13]<br />

Implementation<br />

Hardware applications<br />

In a digital circuit, an FSM may be built using a<br />

programmable logic device, a programmable logic<br />

controller, logic gates and flip flops or relays. More<br />

specifically, a hardware implementation requires a<br />

register to store state variables, a block of<br />

combinational logic which determines the state<br />

transition, and a second block of combinational logic<br />

that determines the output of an FSM. One of the<br />

classic hardware implementations is the Richards<br />

controller.<br />

Mealy and Moore machines produce logic with<br />

Fig. 9 The circuit diagram for a 4-bit TTL counter, a type of state<br />

machine<br />

asynchronous output, because there is a propagation delay between the flip-flop and output. This causes slower<br />

operating frequencies in FSM. A Mealy or Moore machine can be convertible to a FSM which output is directly<br />

from a flip-flop, which makes the FSM run at higher frequencies. This kind of FSM is sometimes called Medvedev<br />

FSM. [14] A counter is the simplest form of this kind of FSM.<br />

Software applications<br />

The following concepts are commonly used to build software applications with finite state machines:<br />

• Automata-based programming<br />

• Event driven FSM<br />

• Virtual FSM (VFSM)<br />

References<br />

[1] Belzer, Jack; Albert George Holzman, Allen Kent (1975). Encyclopedia of Computer Science and Technology, Vol. 25 (http:/ / books. google.<br />

com/ books?id=W2YLBIdeLIEC& printsec=frontcover& dq="finite+ state+ machine"& source=bl& ots=7lcYvqsRvY&<br />

sig=19Ez1HGwvAm2HDaWYmbKDvod3Ec& hl=en& sa=X& ei=auwAUIWOFoezqQGglNGxDA& ved=0CFsQ6AEwBg#v=onepage&<br />

q="finite state machine"& f=false). USA: CRC Press. pp. 73. ISBN 0824722752. .<br />

[2] Koshy, Thomas (2004). Discrete Mathematics With Applications (http:/ / books. google. com/ books?id=90KApidK5NwC& pg=PA762&<br />

dq=state+ machine+ turnstile& hl=en& sa=X& ei=4s70T_HtKIj1qAGr1cjbAw& ved=0CFgQ6AEwBA#v=onepage& q=state machine<br />

turnstile& f=false). Academic Press. pp. 762. ISBN 0124211801. .<br />

[3] Wright, David R. (2005). "Finite State Machines" (http:/ / www4. ncsu. edu/ ~drwrigh3/ docs/ courses/ csc216/ fsm-notes. pdf). CSC215<br />

Class Notes. Prof. David R. Wright website, N. Carolina State Univ.. . Retrieved July 14, 2012.<br />

[4] http:/ / www. stateworks. com/ technology/ TN10-Moore-Or-Mealy-Model/<br />

[5] Tiwari, A. (2002). Formal Semantics and Analysis Methods for Simulink Stateflow Models. (http:/ / www. csl. sri. com/ users/ tiwari/ papers/<br />

stateflow. pdf)<br />

[6] Hamon, G. (2005). "A Denotational Semantics for Stateflow". International Conference on Embedded Software. Jersey City, NJ: ACM.<br />

pp. 164–172. CiteSeerX: 10.1.1.89.8817 (http:/ / citeseerx. ist. psu. edu/ viewdoc/ summary?doi=10. 1. 1. 89. 8817).<br />

[7] Harel, D. (1987). A Visual Formalism for Complex Systems. Science of Computer Programming , 231–274. (http:/ / www. fceia. unr. edu. ar/<br />

asist/ harel01. pdf)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!