SWIM은 왜 쓰는 걸까? — 항공 시스템이 ‘연결’되는 진짜 이유
SWIM(SYSTEM WIDE INFORMATION MANAGEMENT)이 왜 필요한지, EUROCONTROL과 ICAO 기준으로 실제 항공 시스템에서 어떻게 쓰이는지 쉽게 풀어봅니다.
이 글은 항공·UATM·SWIM 프로젝트에 처음 투입된 SI 개발자 / 설계자 / 시스템 엔지니어를 위한 입문 가이드다.
“왜 이렇게 복잡한가?”에 대한 답을 개념 → 구조 → 시스템 역할 순서로 정리한다.
항공을 처음 접하면 가장 먼저 드는 생각은 보통 이거다.
“비행 정보 하나 관리하는데 왜 시스템도 많고 규칙도 이렇게 많지?”
이유는 단순하다.
항공은 다음 주체들이 동시에 같은 하늘을 사용한다.
각 주체는 책임 범위도, 시스템도, 목적도 다르다.


👉 항공 시스템의 본질은 **“하나의 정답을 공유해야 하는 분산 시스템”**이다.
👉 UAVTM, UATM 프로젝트도 결국 ATM 구조를 확장한 것이다.
그래서 등장한 것이 비행계획(Flight Plan, FPL) 이다.
기존 항공 시스템은 메시지 중심이었다.
![]()
👉 이 한계가 FF-ICE의 출발점이다.
ICAO가 정의한 미래 항공 정보 관리 개념이다.
“비행을 메시지가 아니라 하나의 디지털 객체로 관리할 수 없을까?”
| 개념 | 설명 |
|---|---|
| Single Flight Object | 하나의 비행 = 하나의 데이터 |
| Lifecycle 관리 | 생성 → 변경 → 종료 |
| Revision | 변경 이력 관리 |
| Trajectory | 4차원 비행 경로 |


항공 SI 신입이 가장 많이 헷갈리는 부분이다.
| 용어 | 한 줄 설명 |
|---|---|
| eFPL | 항공사가 전자적으로 제출한 비행계획 |
| FPL2012 | ICAO가 정의한 메시지 포맷 |
| SFPL | 시스템이 내부적으로 관리하는 비행계획 객체 |
👉 메시지는 수단, 👉 SFPL이 실체(State)
여기서 두 번째 큰 오해를 바로잡자.
👉 항공 정보 공유를 위한 아키텍처·표준·원칙
EUROCONTROL이 실제 구현 규격을 주도


이제 SI 관점에서 역할이 보인다.
| 모듈 | 역할 |
|---|---|
| FDP | SFPL 생성·관리 |
| ESI / CIS | 내부 ↔ SWIM 연계 |
| Validation | 문법·업무 규칙 검증 |
| Transformation | 메시지 ↔ 내부 모델 |
| Monitoring | 연계 상태 감시 |
👉 그래서 요구사항에 항상 등장하는 키워드가 **“유효성, Revision, FF-ICE 규칙, SWIM 준수”**다.
SWIM(SYSTEM WIDE INFORMATION MANAGEMENT)이 왜 필요한지, EUROCONTROL과 ICAO 기준으로 실제 항공 시스템에서 어떻게 쓰이는지 쉽게 풀어봅니다.
가상 버튼을 기본으로, 기울기 조향은 선택으로. Apex Seoul의 모바일 입력과 권한 처리, 화면 회전 시 일시정지, 설치형 PWA까지 앞으로 구현할 방향을 정리했다.
세 차량의 코너링 설정을 프로파일로 분리했다. 터보 차량의 변속과 RPM 컷을 수정하고, Retry 뒤 나무가 사라지던 Scene 수명주기 버그를 정리했다.
코너 충돌 뒤 가속해도 움직이지 못하는 상황에 자동 복귀를 붙였다. 정상 정차와 고착을 구분하는 조건, 도로 중앙 배치와 차량 상태 초기화, 깜박임 연출, 타임어택 기록을 지키는 처리까지 정리했다.
최고 시간 하나만 저장하던 레이싱 게임에 차량별 PB와 최근 완주 이력을 붙였다. localStorage 저장부터 내부 배열 기반 기본값, 리셋 후 기록이 되살아나지 않게 하는 처리까지 정리했다.
아날로그 RPM, 디지털 속도계, 차량별 부스트 계기를 구현했다. 트윈터보의 과급 상태를 두 단계로 분리하고, 계기판을 오른쪽 하단에 배치했다.