본문 바로가기
Tech/Coding

오토마타(Automata)와 UML(Unified Modeling Language)

by redcubes 2025. 5. 9.

"오토마타(Automata)"와 "UML(Unified Modeling Language)"은 모두 시스템을 모델링하거나 표현할 때 사용되는 도구이지만, 사용하는 분야와 목적이 다릅니다. 아래에 두 개념을 상세히 설명하고, 각각의 용도 및 차이점도 함께 소개드릴게요.


1. 오토마타 (Automata)

● 개념

오토마타는 형식 언어 이론(Formal Language Theory)의 일부로, 수학적으로 추상화된 계산 모델입니다. 어떤 입력에 대해 상태 전이(State Transition)를 하며 작동하는 기계 모델을 의미합니다. 대표적인 오토마타로는 다음이 있습니다.

  • DFA (Deterministic Finite Automaton): 결정적 유한 오토마타
  • NFA (Non-deterministic Finite Automaton): 비결정적 유한 오토마타
  • PDA (Pushdown Automaton): 스택을 사용하는 오토마타 (문맥자유언어 처리 가능)
  • Turing Machine: 가장 강력한 오토마타로 계산 가능한 모든 문제 처리 가능

● 활용 분야

  • 컴파일러 설계 (문법 검사, 어휘 분석기)
  • 정규 표현식과 패턴 인식
  • 이론 컴퓨터 과학에서 언어의 복잡도 분석

2. UML (Unified Modeling Language)

● 개념

UML은 객체지향 소프트웨어 설계 및 문서화를 위한 표준화된 그래픽 언어입니다. 시스템의 구조와 동작을 시각적으로 표현하여 소프트웨어 개발자 간의 의사소통을 도와줍니다.

● 주요 다이어그램

UML은 다양한 다이어그램으로 시스템을 표현합니다.

  • 클래스 다이어그램(Class Diagram): 클래스 간의 관계 및 속성/메서드 표현
  • 시퀀스 다이어그램(Sequence Diagram): 객체 간 메시지 흐름 시간 순 표현
  • 상태 다이어그램(State Diagram): 객체의 상태 변화 표현 → 여기서 오토마타와 유사
  • 활동 다이어그램(Activity Diagram): 업무 프로세스 흐름 표현
  • 유스케이스 다이어그램(Use Case Diagram): 사용자와 시스템 간 상호작용

● 활용 분야

  • 소프트웨어 설계 및 개발
  • 시스템 아키텍처 설계 문서화
  • 요구사항 분석 및 구현 계획

3. 오토마타와 UML의 공통점과 차이점

항목 오토마타 UML

분야 이론 컴퓨터 과학 소프트웨어 공학
표현 방식 수학적 모델 (상태 전이) 시각적 모델 (다이어그램)
중점 언어/논리 분석 시스템 구조/행동 표현
대표 형태 상태 전이도, DFA, NFA 등 클래스 다이어그램, 상태 다이어그램 등
접점 UML 상태 다이어그램은 오토마타 개념 기반으로 구성  

특히 UML의 상태 다이어그램(State Diagram)은 오토마타 이론을 기반으로 하여 객체의 상태 변화를 표현하므로, 두 개념의 접점이 되는 부분입니다.


4. 결론

  • 오토마타는 이론적인 개념으로서, 시스템이 입력을 받아 어떤 상태로 전이되는지를 모델링합니다.
  • UML은 소프트웨어 개발에서 실제 시스템을 설계하고 문서화하는 데 사용되는 실용적인 도구입니다.
  • UML의 일부 다이어그램, 특히 상태 다이어그램은 오토마타와 매우 유사한 구조를 가집니다.

https://ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EB%AA%A8%EB%8D%B8%EB%A7%81_%EC%96%B8%EC%96%B4

 

통합 모델링 언어 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. UML 다이어그램 통합 모델링 언어(UML, 영어: Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어이다.[1] 이 표준은 UML을 고안한 객

ko.wikipedia.org

 

'Tech > Coding' 카테고리의 다른 글

2399번-거리의 합  (0) 2025.05.15
스파이럴 수열  (0) 2025.05.14
Suffix Automaton과 KMP 비교 이해  (0) 2025.05.06
FSM과 DFA, NFA의 개념과 차이  (0) 2025.05.05
KMP 알고리즘을 DFA(오토마타) 관점에서 이해하기  (0) 2025.05.05