SWIM은 왜 쓰는 걸까? — 항공 시스템이 ‘연결’되는 진짜 이유
SWIM은 왜 쓰는 걸까?
이전 글에서 나는 항공 SI 프로젝트에 처음 들어오면서
“SWIM이라는 걸 계속 듣는데 정확히 뭔지 모르겠다”는 상태였다.
👉 (이전 글 참고) 항공 SI 온보딩 이야기 1편
문제는 ‘연결’이었다
항공 시스템은 생각보다 단순하지 않다.
- 관제 시스템 (ATC)
- 비행계획 시스템 (FDP)
- 공항 시스템 (AODB)
- 항공사 시스템
- 기상 시스템
👉 이 모든 시스템이 각자 따로 존재한다
문제는 여기서 발생한다.
❗ 서로 데이터 형식도 다르고
❗ 통신 방식도 다르고
❗ 연결 방식도 제각각이다
SWIM 없이 연결하면 어떻게 될까?

예전 방식은 단순했다.
- 시스템 A → 시스템 B 직접 연결
- 시스템 B → 시스템 C 또 직접 연결
결과는?
👉 지옥의 인터페이스 구조
- N:N 연결 구조
- 유지보수 난이도 폭발
- 장애 발생 시 원인 추적 어려움
그래서 등장한 게 SWIM이다

SWIM(System Wide Information Management)은
한마디로 정리하면 이거다.
“항공 시스템 간 데이터를 표준 방식으로 공유하는 플랫폼”
조금 더 쉽게 말하면:
👉 항공판 API + 메시지 플랫폼
SWIM의 핵심 개념 3가지
1. 표준화 (Standardization)
- 데이터 형식 통일 (XML / JSON)
- 인터페이스 정의 (Service)
👉 “이 데이터는 이렇게 생겼다”를 모두가 공유
2. 서비스화 (Service-Oriented)
기존:
- 시스템 간 직접 연결
SWIM:
- 서비스 등록 → 필요한 시스템이 호출
👉 REST API / MQ 기반 구조
3. 느슨한 결합 (Loose Coupling)
이게 핵심이다.
- 시스템 A는 B를 몰라도 된다
- 그냥 “서비스”만 알면 된다
👉 변경 영향 최소화
EUROCONTROL 기준으로 보면
유럽 SWIM 구조는 더 명확하다.
- REG (Registry) → 서비스 등록/조회
- IE (Information Exchange) → 데이터 전달
- ESI → 외부 시스템 연결
👉 즉,
- REG = API 문서 + 서비스 카탈로그
- IE = 메시지 브로커 (RabbitMQ 느낌)
그럼 결국 뭐가 좋아지는가?
정리하면 이거다.
✔ 개발자 입장
- 인터페이스 명확
- 재사용 가능
- 유지보수 쉬움
✔ 운영 입장
- 장애 추적 가능
- 모니터링 용이
- 확장성 확보
✔ 조직 입장
- 표준 기반 협업 가능
- 외부 기관 연동 쉬움
그런데 여기서 중요한 포인트
SWIM은 단순 기술이 아니다.
👉 “조직 간 데이터 공유 방식” 자체를 바꾸는 개념이다
그래서 도입이 어려운 거다.
관련 태그 글
코너에서 핸들을 놓았는데 차가 도로를 따라갔다 - 자동 추종을 걷어낸 기록
Apex Seoul의 무입력 차량이 코너를 따라가던 원인을 road-relative 좌표와 passive yaw에서 찾고, world heading 기반 횡이동, 조향 sprite 분리, 가드레일 contact lifecycle과 코너 출구 회전 제한으로 조향이 필요한 코너를 다시 만들었습니다.
225km/h인데도 코너가 느려 보였다 - grip sprite와 도로 진행 배율을 다시 나누기
최고속과 가드레일을 맞춘 뒤에도 코너는 느리고 차체는 과하게 꺾여 보였습니다. grip과 drift의 sprite 역할을 분리하고, 코너 리듬과 near-field 표식을 고친 뒤, 다른 pseudo 3D 레이싱 게임과 화면 흐름을 비교해 physical speed와 world progression 사이에 longitudinal scale을 도입한 과정을 정리합니다.
225km/h가 있는데 140km/h에서 멈췄다 - 최고속과 가드레일을 다시 고친 시행착오
최고속을 고치자 가드레일 충돌이 드러나고, 충돌을 고치자 차량이 화면 밖으로 밀렸습니다. Apex Seoul의 자동 주행 QA에서 이어진 실패와 수정 과정을 정리합니다.
Phaser 4 Pseudo 3D 레이싱 게임 - 헤드라이트를 사다리꼴 하나에서 두 개의 광원으로 바꾸기
Apex Seoul의 야간 헤드라이트가 조향과 고저차에서 어색해진 이유를 좌표계·차량 sprite 방향·빛 합성으로 나눠 추적했습니다. camera 기준 cone, 단일 회전 사다리꼴, 과도한 중심 수렴, 잘못된 lift를 버리고 실제 램프 위치에서 시작하는 두 광원 구조와 terrain별 위치 검증으로 정리한 기록입니다.
Phaser 4 Pseudo 3D 레이싱 게임 - 숲, 어둠, 두 개의 헤드라이트를 다시 맞추기
Apex Seoul의 밤 다운힐을 실제 주행 기준으로 다시 보며, 수평선에 잘리던 숲을 SVG 군집으로 교체하고, road와 roadside를 같은 어둠으로 수렴시키고, 차량 전방의 두 타원 헤드라이트와 FT86형 파워밴드를 시행착오 끝에 정리한 기록입니다.