본문 바로가기

소프트웨어공학

Finite state machine(FSM) - 개념



출처 : http://www.aistudy.co.kr/math/finite_state_machine.htm

Finite  State  Machine
 

계산이론 (Theory of Computation) 에서 finite state machine (FSM) 또는 finite state automaton (FSA) 은 단지 유한한 일정한 양의 메모리 (memory) 만을 가지는 추상 기계이다. 그 기계의 내부 상태 (state) 는 더 이상의 구조를 갖지 않는다. 이러한 종류의 모델은 계산과 언어 (computation and languages) 의 연구에 아주 광범위하게 사용된다. .... (Wikipedia : Finite state machine)

...(생략)

컴퓨터는 FSM의 완벽한 보기이다 ..... 컴퓨터가 FSM 의 좋은 예라고 하는 것이 그리 새삼스러운 것은 아니다. Alan Turing 은 작동할 때 규칙들을 읽어들일 수 있는 FSM 이 보편적인 컴퓨터임을 이미 1936년에 증명해 보였다. ......... (Stephen Prata 1994)

...(생략)



출처 : http://www.perl.com/pub/a/2004/09/23/fsms.html

...(생략)

Figure 1 shows the parts of a finite state machine. The circles represent states. A double circle indicates the start state. The arcs represent the transitions from one state to another. Each arc label is a condition. The slashes separate actions.

Finite state machine elements
Figure 1. Finite state machine elements.

I like FSMs because they are graphical. I can grab a pen and sketch the solution to a problem. The bubble diagram helps me see the combinations of states and input conditions in a logical and organized way.

Figure 2 is the initial diagram I drew for the HTML list problem. The diagram turned out to be have an omission — it does not handle blank lines. Having discovered this bug, it was easy to make sure to consider blank lines in every state.

Final finite state diagram
Figure 3. The final diagram.

Figure 3 is a formal diagram of the final FSM, complete with blank-line handling, prepared for this article. Normally, I would never be so elaborate for such a small problem. You can see that it is an excellent way to communicate a solution to others.

...(생략)

'소프트웨어공학' 카테고리의 다른 글

UML relationship 화살표방향 정리  (0) 2009.09.14
Data flow diagram(DFD) - 개념  (0) 2009.05.15
UML relationship .. dependency  (0) 2009.04.30
요구사항 명세서  (0) 2009.04.11
UML StereoType이란  (0) 2009.04.04