시스템 장애에 대한 복구와 예방을 위한 방법을 정리한다.

하네다 JAL 516편 충돌 사고의 불편한 진실

하네다 JAL 516편 충돌사고는 2024년 1월 2일 17시 47분경에 발생한, 여객기인 516편과 해상보안청의 항공기 MA722편이 활주로에서 지상 충돌한 사고이다.

유튜브 Plane Sense 채널의 하네다 JAL 516편 충돌 사고의 불편한 진실 영상을 보고 정리한다. 인상 깊은 점이 많았는데, 특히 실패 피드백에 대한 부분이다. 채널은 이 사건의 원인을 Human Error라고 말한다.

항공기의 역사가 1903년 라이트 형제의 첫 비행에서 시작되었다고 말한다면, 이제 겨우 120년 정도 지났다. 반면에 컴퓨터 과학의 역사는 1946년 ENIAC의 출시로 보면 겨우 75년 정도 지났다. 역사가 더 길기도하고, 항공기는 안전에 대한 직접적인 영향이 있기 때문인지 실패에 대해 더 체계적으로 다루는 것 같다.


이 사건의 액터는 총 셋이다. 여객기 JAL 516편, 해상보안청 항공기 MA722편, 그리고 하네다 공항의 관제사이다.

사건의 무대인 도쿄 하네다 공항은 초저녁이 되면 트래픽이 몰려 착륙 활주로가 자주 변경되어 악명이 높다.

사건의 경위는 다음과 같다:

  1. 516편은 도쿄 상공에 도착하여 관제사로부터 "Highway Visual Rwy(runway)34R 접근을 허가한다"는 메시지를 받았다.
  2. MA722편은 같은 활주로에서 이륙할 예정이었다.
  3. 17:44:56 JAL 516편은 관제사로부터 "Rwy34R Cleared to land" 메시지를 받았다.
  4. 이착륙할 트래픽이 많은 경우, 관제사는 착륙 항공기가 Rwy threshold 통과하면 이륙 대기중인 항공기에 "Line up & wait" 메시지를 보내 활주로에 진입하여 이륙 대기를 전달하여 시간을 절약한다.
  5. 17:45:19 MA722편은 관제사로부터 "Line up & wait", "Taxi to holding point C5"(C5 포인트에서 대기) 명령을 받고 복창했다. 하지만 정지하지 않고, 활주로에 진입했다.
  6. 이륙 지점에서 정지한 40초 후에 516편은 착륙을 시작했다.
  7. 516편은 정면으로 MA722편과 충돌했다.

3:13
사건 발생 후 많은 기사에서는 대기 지시를 이륙 허가로 착각한 것이 원인이라고 추측했다. 하지만 항공안전 메뉴얼에서는 "착각"과 "혼동"과 같은 관념적 표현을 사용하지 않는다.

문제 정의 1, 해상보안청 MA722편은 C5 포인트에 대기라고 정확히 복창하고도 활주로에 무단 진입했다. 관제 지시를 "착각", "혼동" 이란 말로 무단 진입을 진단하면 안된다. 정확히 알아듣고, 복창했음에도 왜 활주로에 진입했는가를 설명할 수 있어야 한다.

사실은 Runway Incursion(활주로 침범)은 미국에서만 16,000건 이상 발생할 정도로 흔하고, 그 중 62%가 조종사의 무단 진입으로 인한 것이다. 이렇게 많은 조종사가 복창했음에도 무단 진입한다.

4:33
문제 정의 2, 관제사는 MA722편이 복창한 것을 확인한 후 516편에 "Cleared to land"을 전달했다. 그 후 MA722편이 holding line을 넘어 활주로에 침범한 시점부터 활주로에 들어가 이륙 허가를 기달린 시간은 1분이 넘는다. 관제사는 active runway에 무단 침입한 항공기가 1분 이상 있었다는 것을 모르고 있었다. 관제사는 활주로 상황을 모니터해야 하는 책임이 있다.

5:25
문제 정의 3, JAL 516편은 관제사로부터 lading clearance를 받고, Rwy34R에 착륙했다. 하지만 clearance(허가)와 instruction(지시)은 다르다. instruction을 readback한 조종사는 반드시 지시를 수행할 책임이 있다. 만약 따르지 못하는 상황이라면 readback 대신 "unable"라고 거부 의사를 통보해야 한다. JAL 516편은 착륙 허가(landing clearance)를 받았고, 관제사가 clearance를 전달하더라도 안전한 착륙에 대한 책임이 있다. 야간에 다른 비행기의 식별은 외부 등화로 한다. 해안보안청의 항공기도 외부 등화를 모두 켜고 있었다. 하지만 516편은 충돌 직전까지 활주로에 있는 비행기를 보지 못했다고 진술했다.

6:56
이번 사고는 명백한 Human Error이다.

Human Error

휴먼에러의 1단계 분류는 계획된 행동(계획 오류, Planning Failures)과 계획되지 않은 행동(수행 오류, Execution Failures)으로 나뉜다.
해상보안청의 MA722편의 조종사는 활주로로 들어가는 것을 계획하였다. 이는 계획의 오류인 "Mistake"라고 표현한다.

계획 오류의 다음 분류는 "Rule-based Mistake"와 "Knowledge-based Mistake"를 구분한다.
해상보안청 조종사가 "No1, Taxi to holding point C5"라는 명령을 "활주로에 진입해도 좋다"로 인지했다면 이는 "Knowledge-based Mistake"이다. ATC(Air Traffic Control) 지식이 없어서 발생한 문제가 되기 때문이다.
하지만 해상보안청 조종사는 "Taxi to holding point C5 JA772A No1"라고 정확히 복창했다. 따라서 기초적인 ATC 지식을 잘못 이해했을 가능성은 없다. 따라서 이는 "Rule-based Mistake"이다. 다음 분류는 "Misapplication of a good rule(옳은 규칙을 잘못 적용함)"과 "Applicaiton of a bad rule(잘못된 규칙을 적용)"이다. "Application of a bad rule"은 원칙을 무시하고 자신만의 규칙을 만들어 적용하는 것이 있다.

9:45
조종사가 활주로에 진입하는 유일한 원칙은 관제사의 진입 허가를 받는 것이다. 활주로의 진입 허가는 "Line up & wait"와 "Cleared for takeoff" 두 가지만 있다.

하지만 이런 ATC를 받는더라도 잊어버리는 경우가 있다. 이 경우 관제사에 ATC를 다시 Confirm 할 수 있다. 하지만 관제사가 바빠서 Confirm 하지 못하는 경우가 있다. 이 경우 조종사는 어딘가에 적어 두거나, 자신만의 표시를 하는 경우도 있다. 특정 외부 등화를 on/off 포지션으로 표시하거나 레버에 종이컵을 씌워두는 등 자신만의 규칙을 만드는 것이다. 하지만 이것은 원칙이 아니다.

11:28
해상보안청 기장은 녹음을 듣고도 조사관에게 활주로 진입 허가를 받았다고 항변했다. 아마도 이 배경에는 진입허가를 대체하는 자신만의 규칙을 적용했기 때문일 가능성이 있다.

12:15
JAL 516편는 기장, 부기장, 관숙부기장 총 3명의 조종사가 탑승했다. 3명 모두 조사관에게 활주로에 있는 항공기를 보지 못했다고 진술했다. 당시 활주로는 야간이지만 볼(See) 수 있는 환경이었다. 조종사들은 육안으로 활주로를 확인(Look & Watch)해야 한다. 조사관의 문답은 See 차원에서 이루어졌다. 그냥 보면(See) 보이지 않지만, 대상을 특정하고 Look & Watch 하면 비행기의 움직임을 볼 수 있는 환경이었다.

14:39
관제사에서 1분동안 활주로에 있는 해상보안청 항공기의 진입 사실을 모르고 있었단 원인을 찾아야 한다. 관제사가 소화할 수 있는 교통량을 초과했는지 확인할 수 있다. 그 한계가 넘었다면 항공사의 문제이다.

이번 사건은 3단계 방벽이 모두 무너져서 발생했다. 해상보안청의 비행기가 활주로에 무단 진입했고, 타워 관제사는 활주로에 진입한 비행기를 1분 넘게 방치했고, JAL 516편 조종사는 충돌하기 전까지 주시가 소홀했다.

많은 기사는 이 사건을 516편 탑승자가 전원 탈출한 성공 사례로만 보도했다. 하지만 해상보안청 승무원 5명이 희생되었고, 두 비행기가 전소되었다. 미담으로 덮으면 재발을 방지할 수 없다. 책임자를 규명하는 것보다 문제를 정의하고 해결하는 것이 더 중요하다. 그러기 위해서 사고 조사는 "착각", "혼동"과 같은 관념적 해석을 하지 말고, practical 해야 한다.

16:20
이번 사건의 JAL 516편의 탑승객 모두가 탈출한 것에서 교훈은 있다. "안전한 비상구만 개방한 것"이 핵심이다. 화염과 연기가 솟구치는 상황에서 안전한 비상구만 열 수 있었던 것은 객실의 모든 창문이 열려 있었기 때문이다. 이착륙 시 객실 창문 덮개를 열어두는 것의 중요성하다. 하지만 우리나라 항공사는 승객 불편이 많다며 창문 덮개를 닫아두는 경우가 많다. 창문 덮개가 닫혀 있었다면 안전한 비상구를 찾을 수 없었을 것이고, 안전하게 탈출할 수 없었을 것이다.


인적 오류(Human Error)에 대해서 정의하는 것은 항공 운항 분야에 국한된 것은 아닌 듯 하다. https://ulsansafety.tistory.com/1204 글을 보면 인적 오류에 대한 더 자세한 설명이 나온다. 소프트웨어 개발에서도 인적 오류는 자주 발생한다. 하지만 시스템 장애에 대한 내용을 전문적으로 다루지는 않는다.

영상을 보고 인상 깊었다. 작은 문제들은 평소에도 많이 발생하지만, 항상 문제 정의를 하지 않고 넘어갔기 때문이다. 그래서 항공 운항 분야에서는 전문적으로 다루는지 궁금해서 질문했다:

시스템 장애를 체계적으로 분류하고 분석하는 점이 인상 깊었어요. 항공 역사가 그렇게 길지는 않지만, 생명과 직접적인 관계가 있다보니 체계가 잘 잡혀있는 거겠죠? 더 역사가 짧은 소프트웨어 개발도 시스템 장애에 민감하지만, 이렇게 분석하면서 배운적은 없었어요. 휴먼 에러 분류를 보면서 궁금해졌는데, 항공 운항 쪽에서는 이런 오류에 대한 내용들이 교육 과정에 포함되나요?

답변을 주셨고, 그렇다고 한다.

항공사에서 Human Factor를 지상학 과정에서 교육합니다. 저는 별도로 회사 직무상 ICAO의 관련 과정을 이수하고, 다양한 사고(이벤트) 분석에 참여한 경력이 있어 좀 더 설명드릴 수 있는 정도입니다.