상태도 (오토마타 이론)

상태도(상태 다이어그램, )는 오토마타 이론() 또는 유한 상태 기계()에서 상태와 상태천이를 표현하기 위해 도식화 해서 표현하는 그림을 말한다. 상태는 유한한 상태로 설정하고 추상화해야 한다. 도식 표현시 목적하는 상태를 추상화 한 다음, 상태변화에 대한 설정을 한다. 이때 상태 변화는 입력에 의해 이루어지고 어떤 상태로 존재하는가는 출력으로 나타낼 수 있다. 상태 유지는 외부 이벤트 없이도 계속 유지 되고, 변화는 주로 외부 입력에 의해 행해진다. 내부상태가 출력이 될 수도 있지만, 상태 변화시에도 출력을 만들 수 있다.

주로 컴퓨터 공학이나 논리회로 설계에서 많이 사용한다. 설계시, 설계 표현을 통해 복잡한 문제에서 나오는 오류를 줄일 수 있다.

프로그램에서도 프로그램 실행이 진행하는 과정상, 상태를 통해 개념화 한 다음 추상화 해서 그림을 그리고 코딩을 하면 오류를 줄이는 문서로써 유효하다. 예를 들어 윈도우형 계산기를 프로그램 할 때, 숫자버튼과 연산버튼등의 입력 절차를 결정할 때 숫자의 입력 상태와 연산 입력등을 상태도로 나타낼 수 있다.

논리회로에서 순차회로의 카운터 등의 응용회로에서 각각의 상태를 구분하고 입력에 따라 상태 변화를 도식화 할 수 있다. 문서화의 한 부분으로 설계를 쉽게 하도록 도와준다. FPGA의 설계시에도 복잡한 회로 표현에 유효하다. 경우에 따라 개발도구에서 상태도를 그리거나 VHDL 코드 생성을 돕는 도구도 있다.

상태도를 그리는 도구의 대표적인 것 중의 하나가 통합 모델링 언어(UML)의 많은 기능중에 상태도(state diagram)를 이용하면 된다. UML에서 하나의 부분으로 그리는 도구를 제공한다.

설계 시작부터 시작하여 오류검증 단계를 거쳐 최종목적물의 사용설명서까지 다양한 문서화 작업을 할 수 있고 기술표현에 많은 도움을 준다.

같이 보기 
 유한 오토마타
 튜링 머신
 통합 모델링 언어(UML)

외부 링크 
 
 상태도(State Diagram)을 활용한 시스템 설계

계산 모형
다이어그램
인포그래픽
모델링 언어
그래프 그리기
그래프의 응용