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 | 기능 정의의 논리 단위 |
