ECA(Event-Condition-Action) model

  • ECA 모델은 시스템이나 게임, 소프트웨어에서 이벤트가 발생했을 때 특정 조건이 만족되면 행동을 수행하는 구조를 정의하는 방법이다.
  • “누가(Object)”, “언제(Event, Trigger)”, “어떤상황에서(Condition)”, “무엇을(Function, Action)”로 구분하여 기능을 명확히 기술할 수 있다.

구조

구분 의미 예시
Event (언제) 동작을 유발하는 사건 또는 트리거 버튼이 눌렸을 때, 좀비가 공격받았을 때
Condition (조건) (선택) 행동이 수행되기 위한 추가적인 논리 조건 체력이 0 이하일 때, 시간 제한 내일 때
Action (행동) 실제로 수행되는 결과 동작 폭발 이펙트 재생, 문이 열린다

예시

Object(누가) Event(언제) Condition(조건) Action(무엇을)
버튼 눌렸을 때 - 문이 열린다
좀비 총알에 맞았을 때 체력이 남아있으면 (체력 > 0) 피격 애니메이션 재생
좀비 총알에 맞았을 때 체력이 모두 소진되었으면 (체력 ≤ 0) 사망 애니메이션 재생
기차 목적지에 도착했을 때 - 멈춘다
선물 집에 도착했을 때 수신자 일치 폭죽이 터진다
택배 트럭에 실었을 때 - 다음 장면으로 전환된다

활용

ECA 모델은 다음과 같은 분야에서 사용된다:

  • 게임 디자인 문서(GDD)의 트리거 시스템 정의
  • 소프트웨어 기능 정의서(Function Specification)
  • 데이터베이스 트리거 (DB Trigger)
  • IoT 자동화 시스템 (If This Then That 구조)
  • 이벤트 기반 프로그래밍 구조(Event-Driven Programming)

요약

요소 다른 이름 설명
Event Trigger, When 언제 발생하는가
Condition Rule, Constraint 어떤 조건일 때 수행되는가
Action Function, Response, What 무엇을 수행하는가
전체 구조 명칭 ECA Rule (Event–Condition–Action) / Trigger–Action Mapping 기능 정의의 논리 단위