본문으로 건너뛰기
고급약 40분

SOTIF — 고장이 없어도 위험한 상황을 다루기

기능안전은 "고장 났을 때 안전한가" 를 묻고, SOTIF 는 "고장이 없는데도 위험한가" 를 묻는다. 성능 부족과 오사용이 만드는 위험, 알려짐과 위험함 두 축으로 시나리오를 네 영역으로 가르는 틀, 운행 설계 영역(ODD)과 유발 조건의 관계, 그리고 QA 가 미지 영역을 줄이는 작업에서 맡는 자리를 다룬다.

  • #SOTIF
  • #ISO21448
  • #ODD
  • #유발조건
  • #성능부족
  • #오사용
  • #자율주행

개념

기능안전이 답하지 못하는 질문

모듈 35 에서 기능안전을 다뤘다. 그 체계의 질문은 "고장이 났을 때 안전한가" 다. 센서가 죽으면, 연산이 틀리면, 신호가 끊기면 — 안전한 상태로 가는가.

자율주행에서는 그 질문으로 덮이지 않는 위험이 있다. 레슨 1 의 마지막에서 본 상황이다 — 세 단계 모두 명세대로 동작했는데 결과가 위험한 경우.

예를 들면 이렇다.

  • 카메라가 사양 범위 안에서 정상 동작 했다. 그런데 역광에서 대비가 부족해 정지한 차량을 구분하지 못했다. 고장이 아니다. 성능의 한계 다
  • 차선 인식이 설계대로 동작했다. 그런데 공사 구간의 지워진 옛 차선 을 유효한 차선으로 읽었다. 고장이 아니다. 상황이 설계 전제를 벗어났다
  • 기능이 의도대로 작동했다. 그런데 운전자가 그것을 완전 자율로 오해 해 주의를 놓았다. 고장이 아니다. 예상 가능한 오사용 이다

이 세 가지가 의도된 기능의 안전(SOTIF) 이 다루는 영역이다. 공개 자료는 ISO 21448 을 기능 부족(functional insufficiency) 에서 비롯되는 안전 위험 — 센서·알고리즘·시스템 논리가 설계대로 정확히 동작하는데도 성능 한계나 불완전한 시나리오 커버리지로 인해 위험한 결과를 내는 상황 — 을 다루는 규격으로 설명한다(2022년 발행).

각 조항의 요구 문장, 용어의 정확한 정의, 요구되는 활동과 산출물은 규격 원문에서 확인한다(원문 확인). 이 레슨은 QA 가 알아야 할 구조와 작업 만 다룬다.

두 체계는 보완한다 — 대체가 아니다

자주 생기는 오해다. 정리하면 이렇다.

기능안전SOTIF
묻는 것고장이 났을 때 안전한가고장이 없는데도 위험한가
원인결함·고장성능 부족, 오사용
대응고장 검출과 안전 상태시나리오 커버리지 확대, 성능 개선, 제약 추가
증거의 성격결함률·검출률시나리오 범위와 잔여 위험

둘 다 필요하다. 고장을 완벽히 처리해도 성능 한계는 남고, 성능을 높여도 고장은 난다. 그래서 두 체계의 활동이 같은 사업 안에서 병행 되고, QA 는 어느 체계의 질문을 하고 있는지 의식해야 한다.

실무에서 이 구분이 중요한 순간이 있다. 결함 보고를 어디로 보낼지 정할 때다. 레슨 1 의 절차가 "세 단계 모두 명세대로" 로 끝나면, 그것은 기능안전 쪽 결함이 아니고 SOTIF 쪽 입력 이다. 기능 결함 추적 도구에 "의도된 동작" 으로 닫으면 그 위험은 사라진다.

네 영역 — 알려짐과 위험함

SOTIF 의 사고 틀 중 QA 에게 가장 직접적으로 쓰이는 것이다. 공개 자료가 설명하는 구도는 시나리오를 알려짐(knowledge) 과 위험함(hazard) 두 축으로 네 영역으로 분류 하는 것이다.

                    위험하지 않음          위험함
                 ┌──────────────────┬──────────────────┐
   알려진        │  영역 1          │  영역 2          │
                 │  정상 운행       │  파악된 위험     │
                 ├──────────────────┼──────────────────┤
   알려지지      │  영역 4          │  영역 3          │
   않은          │  안전하나 미기록 │  미지의 위험     │
                 └──────────────────┴──────────────────┘

공개 자료의 설명으로 각 영역은 이렇다 — 영역 1 은 알려지고 위험하지 않은 정상 운행, 영역 2 는 알려지고 위험한 시나리오(위험 거동을 유발한다고 식별된 것), 영역 3 은 알려지지 않고 위험한 시나리오(위험 거동을 유발하지만 아직 식별되지 않은 것), 영역 4 는 알려지지 않고 위험하지 않은 시나리오(안전하나 문서화되지 않은 것) 다.

작업의 방향이 이 그림에서 나온다.

  • 영역 2 → 영역 1 — 파악된 위험을 개선·제약으로 줄인다. 요구사항 기반 시험으로 확인한다
  • 영역 3 → 영역 2 — 미지의 위험을 찾아내 알려진 것으로 만든다. 이것이 QA 가 가장 크게 기여하는 방향이다
  • 영역 3·4 를 줄인다 — 미지 영역 전체를 줄이는 것이 검증의 목표다

공개 자료는 알려진 시나리오의 위험은 명시적으로 평가 되어야 하고, 미지 시나리오로부터의 위험이 충분히 낮다는 것은 통계 기반 시험으로 입증 되어야 한다고 설명한다. 그리고 알려진 위험은 요구사항 기반 시험 같은 방법으로, 알려지지 않은 위험은 시뮬레이션과 가상 시험 절차 — 시나리오 기반 시험 — 으로 식별 한다고 안내한다.

여기서 QA 의 자리가 분명해진다. 영역 2 는 요구 기반 시험이고 익숙한 작업이다. 영역 3 을 파내는 일 이 이 분야 특유의 작업이고, 레슨 3·4 가 그 방법을 다룬다.

영역 3 은 "찾아낸 만큼만" 줄어든다

이 성질을 분명히 이해해야 한다. 미지 영역의 크기는 알 수 없다. 알 수 있으면 미지가 아니다. 그래서 "영역 3 이 몇 % 남았습니다" 라고 말할 수 없다.

말할 수 있는 것은 이것이다.

  • 얼마나 찾아봤는가 — 어떤 방법으로, 어느 범위에서, 얼마나
  • 찾은 것을 어떻게 처리했는가 — 영역 2 로 옮겨 개선·제약했는가
  • 찾는 방법이 체계적인가 — 무작위인가, 근거 있는 탐색인가

그래서 증거의 성격이 다르다. 기능안전은 "결함률이 N 이하" 같은 숫자를 낼 수 있지만, SOTIF 의 증거는 "이 범위를 이 방법으로 탐색했고 발견한 것을 이렇게 처리했으며 남은 가정은 이것이다" 라는 논증 이다.

QA 보고서의 문장도 달라진다. "시나리오 1,200건 통과" 는 영역 2 의 증거이고, "이 ODD 범위에서 이 유발 조건 축으로 탐색해 위험 시나리오 N 건을 새로 식별했고, 그중 M 건을 요구사항으로 반영했다" 가 영역 3 작업의 증거다.

운행 설계 영역(ODD) — 범위를 선언하는 것이 안전 수단이다

공개 자료는 ISO 21448 의 중심 개념으로 운행 설계 영역(ODD, Operational Design Domain) 을 들고, 시스템이 안전하게 동작하도록 설계된 특정 조건 을 정의하는 것이라고 설명한다. 환경 조건(비·안개·눈 같은 날씨), 조명(주간·야간·역광), 도로 유형(고속도로·도심·교외), 지리적 제약 등을 포함한다.

ODD 가 왜 안전 수단인가. 범위를 좁히면 그 밖은 기능이 작동하지 않게 할 수 있고, 작동하지 않으면 그 상황의 위험은 발생하지 않는다. 즉 ODD 는 제약이자 안전 설계 다.

QA 가 ODD 에 대해 할 일이 셋이다.

1) ODD 가 문서로 있고 구체적인지 확인한다. "고속도로" 는 ODD 가 아니다. 차선 수, 곡률, 노면 상태, 날씨, 조도, 속도 범위, 교통량, 지리 범위가 판정 가능한 수준으로 적혀 있어야 한다. 애매하면 경계를 시험할 수 없다.

2) ODD 경계를 시험한다. 이것이 QA 의 핵심 작업이다.

경계 시험확인할 것
ODD 안쪽 끝명세된 최악 조건에서 성능이 유지되는가
ODD 밖기능이 작동하지 않거나 적절히 축소되는가
경계를 넘는 순간전환이 안전하게 이뤄지는가
경계 판정 실패ODD 밖인데 안이라고 판정하면? 그 반대면?
모호한 경계비가 "약하게" 오는 상태

세 번째가 가장 중요하고 가장 어렵다. 고속도로를 달리다 공사 구간에 들어가는 순간, 안개가 짙어지는 순간. 그 전환에서 운전자에게 전달되고 인수되는 과정이 설계되어 있어야 하고, 전달이 늦거나 불명확하면 그 자체가 위험이다. 레슨 1 의 상태 전환, 레슨 5 의 운전자 인터페이스와 맞물린다.

네 번째도 중요하다. ODD 판정 자체가 틀릴 수 있다. ODD 밖인데 안이라고 판정하면 작동해서는 안 되는 상황에서 작동한다 — 가장 위험한 조합이다. 반대(안인데 밖으로 판정) 는 기능이 불필요하게 꺼지는 것이고, 안전하지만 사용성 문제가 된다. 두 방향의 결과가 다르므로 판정 양식에 둘을 함께 둔다 — 레슨 1 의 미검출·오검출, 모듈 41 레슨 9 의 오탐·미탐과 같은 구조다.

3) ODD 가 좁혀질 때 그 사실이 전달되는지 확인한다. 개발 중 성능 문제로 ODD 를 좁히는 결정이 나올 수 있다. 그 변경이 사용자 문서·경고·기능 제약에 반영되지 않으면, 사용자는 넓은 ODD 를 전제로 쓴다.

유발 조건 — 영역 3 을 파내는 축

미지의 위험을 무작위로 찾을 수는 없다. 어디를 봐야 하는지 알려 주는 개념이 유발 조건(triggering condition) 이다. 특정 조건이 시스템의 기능 부족을 드러내 위험 거동으로 이어지는 상황을 가리킨다. 정확한 정의와 분석 방법은 규격 원문에서 확인한다(원문 확인).

QA 가 쓸 수 있는 탐색 축 으로 정리하면 이렇다.

축유발 조건의 예
광학·조명역광, 터널 출입구, 야간 대비 부족, 반사, 젖은 노면 반사
기상비·눈·안개의 강도별, 노면 수막, 바람
대상의 외형비정형 형태, 유사 패턴, 색·무늬가 배경과 섞임, 부분 가림
기하·배치곡률, 경사, 교차·합류, 좁은 차로, 겹친 객체
표시·인프라지워진 차선, 임시 차선, 공사 표지, 비표준 표지
동적 상황급한 끼어들기, 역주행, 갑작스러운 정지, 예측 못 할 보행자 거동
다중 조합위 둘 이상이 겹침 — 야간 + 비 + 곡선 + 공사
사람오사용, 주의 분산, 잘못된 기대, 늦은 인수

일곱 번째(다중 조합) 가 영역 3 의 주 서식지 다. 단일 조건은 대개 개발 과정에서 다뤄지고, 조합 에서 성능이 급격히 떨어지는 경우가 남는다. 그래서 탐색에서 조합을 의도적으로 만드는 것 이 핵심이고, 레슨 4 에서 커버리지와 함께 다룬다.

여덟 번째(사람) 가 SOTIF 의 특징적 영역 이다. 아래에서 따로 다룬다.

예상 가능한 오사용 — 사용자를 전제로 설계한다

SOTIF 가 다루는 위험의 한 축이 합리적으로 예상 가능한 오사용 이다. "사용자가 설명서를 안 읽었다" 로 닫을 수 없다는 뜻이다. 예상 가능한 오사용은 설계가 다뤄야 하는 입력 이다.

전형적 오사용 유형이다.

  • 능력 과대 평가 — 기능을 실제보다 높은 수준의 자율로 이해한다
  • 주의 이탈 — 손을 놓거나 다른 일을 한다
  • 의도적 우회 — 감시 장치를 속인다
  • 늦은 인수 — 경고를 받고도 늦게 반응한다
  • 상황 오판 — 기능이 켜져 있다고/꺼져 있다고 잘못 안다
  • 범위 오해 — ODD 밖에서도 될 것으로 기대한다

QA 가 확인할 것은 각 오사용에 대해 시스템이 무엇을 하는가 다. 감지하는가, 경고하는가, 기능을 축소하는가, 어떤 순서로 하는가. 그리고 경고가 전달되는지 는 사용적합성 영역이다 — 레슨 5(IVI 와 주행 중 조작) 와 모듈 49 로 이어진다.

"의도적 우회" 를 다루는 방식 에 주의한다. 이 레슨은 우회 기법을 설명하지 않는다. QA 가 확인할 것은 "우회를 어떻게 하는가" 가 아니라 "우회 시도를 감지하고 대응하는 설계가 있는가" 다. 구체적 우회 방법을 문서에 적으면 그 문서가 안내서가 된다.

QA 가 만들 산출물

정리하면 넷이다.

  1. ODD 명세 검토 결과 — 판정 가능한 수준인지, 애매한 항목은 질의로
  2. ODD 경계 시험 설계 — 안쪽 끝·밖·전환 순간·판정 실패·모호한 경계
  3. 유발 조건 탐색 계획 — 여덟 축에서 조합을 만드는 방법(레슨 3·4 로 이어짐)
  4. 영역 3 작업 보고 양식 — 탐색 범위·방법·발견·처리·남은 가정을 담은 논증

4번이 이 레슨의 핵심 산출물 이고, 기능안전 보고서와 성격이 다르다는 것을 이해하는 것이 중요하다. 숫자 하나로 요약되지 않고, 논증 으로 쓰인다.

실무에서 왜 필요한가

ADAS·자율주행 조직에서 QA 가 가장 자주 마주치는 막다른 길이 "의도된 동작" 으로 닫히는 결함 이다. 위험해 보이는 상황을 보고했는데, 조사 결과 모든 구성 요소가 명세대로 동작했으므로 결함이 아니라는 답이 온다.

SOTIF 를 아는 QA 는 그 지점에서 멈추지 않는다. "기능 결함은 아니지만 성능 부족에 의한 위험입니다" 로 다시 올리고, 그것이 영역 2 에 등록되게 만든다. 등록되면 요구사항 개선이나 ODD 제약으로 처리되고, 등록되지 않으면 그 위험은 출시된다. 이 한 가지 구분이 QA 의 기여 중 가장 큰 것 이다.

두 번째 기여는 ODD 를 판정 가능하게 만드는 것 이다. ODD 가 "고속도로, 맑은 날" 수준으로 적혀 있으면 경계를 시험할 수 없고, 경계 시험이 없으면 전환 순간의 위험 이 그대로 남는다. 구체화를 요구하는 것은 품질 요구가 아니라 안전 요구다.

세 번째는 조합 탐색 이다. 단일 조건은 개발이 다루고, 조합은 아무도 체계적으로 보지 않는 경우가 많다. 야간 + 비 + 곡선 + 공사 같은 조합을 의도적으로 만드는 작업이 영역 3 을 파내는 실제 방법이고, 레슨 3·4 가 그 수단을 준다.

채용시장에서의 위치

SOTIF 는 자율주행 검증 공고에 직접 적히는 단어 다. 완성차·부품사의 안전· 검증 조직, 자율주행 솔루션 기업, 시뮬레이션 도구 기업에서 요구한다.

면접에서 가르는 질문이 분명하다. "기능안전과 SOTIF 의 차이를 설명해 보세요." "둘 다 안전 규격입니다" 로 답하면 약하고, "고장 났을 때 vs 고장이 없는데도" 로 답하고 네 영역을 들면 즉시 구분된다. 그다음 질문은 보통 "영역 3 을 어떻게 줄입니까" 이고, 유발 조건 축과 조합 탐색을 말할 수 있으면 실무자로 읽힌다.

그리고 이 역량은 자율주행 밖에서도 쓰인다. "명세대로 동작하는데 위험하다" 는 구조는 의료 AI(모듈 66), AI 시스템 품질(모듈 36·57) 에서 같은 모양으로 나타난다. SOTIF 의 사고 틀은 AI 가 들어간 모든 안전 관련 시스템 의 공통 문법에 가깝다.

실습 과제

규격의 조항·용어 정의·요구 활동은 전부 "ISO 21448 원문 확인" 으로 표시 한다. ODD 수치와 성능 요구는 "요구사항·ODD 명세에서 확인(원문 확인)" 으로 둔다. 실습은 설계·문서 과제이며 실차·공도 주행은 없다.

과제 1 — 두 체계 가르기 (25분)

  1. 본문의 비교표를 자기 말로 다시 쓴다
  2. 가상의 위험 상황 10개 를 만든다. 절반은 고장에서 비롯되고 절반은 성능 부족·오사용에서 비롯되게 한다
  3. 각각을 기능안전 쪽인지 SOTIF 쪽인지 판정하고 근거를 적는다. 양쪽에 걸치는 것이 있으면 표시하고 왜 걸치는지 쓴다
  4. 레슨 1 의 절차가 "세 단계 모두 명세대로" 로 끝난 사례를 하나 만들고, 그것을 SOTIF 쪽으로 올리는 보고서 를 쓴다. "의도된 동작" 으로 닫히면 무엇이 남는지 한 문단 적는다
  5. 두 체계가 보완이지 대체가 아닌 이유를 한 문단으로 정리한다

과제 2 — 네 영역 분류와 작업 방향 (25분)

  1. 네 영역 그림을 그리고 각 영역을 자기 말로 정의한다
  2. 우리 시스템(또는 가상 시스템) 의 시나리오 20개 를 상상해 적고 네 영역으로 분류한다. 영역 3 에는 "아직 모르는 것" 이므로 넣을 수 없다 는 점을 확인하고, 그 사실이 뜻하는 바를 적는다
  3. 영역 2 항목에 대해 영역 1 로 옮기는 방법 을 각각 적는다 (성능 개선 / ODD 제약 / 경고 추가 / 기능 축소)
  4. "영역 3 이 몇 % 남았다" 고 말할 수 없는 이유 를 한 문단 쓴다
  5. 그 대신 말할 수 있는 세 가지(얼마나 찾아봤는가·어떻게 처리했는가·방법이 체계적인가) 를 우리 상황에 맞춰 구체화한다

과제 3 — ODD 명세 검토 (30분)

  1. 가상의 ODD 명세를 쓴다. 일부러 절반은 애매하게 쓴다 ("고속도로", "맑은 날", "적절한 속도" 같은 표현을 섞는다)
  2. 애매한 항목을 찾아내고, 각각을 판정 가능한 형태 로 고친다. 수치가 필요한 자리는 원문 확인 으로 표시하고 누가 정할지 적는다
  3. 구체화된 ODD 항목을 최소 12개 로 정리한다(차선 수, 곡률, 노면, 날씨, 조도, 속도, 교통량, 지리, 시간대, 공사 유무, 표지 상태, 다른 참여자 유형)
  4. "ODD 가 애매하면 경계를 시험할 수 없다" 를 구체적 예로 설명한다
  5. 개발 중 ODD 가 좁혀질 때 함께 바뀌어야 하는 것들을 목록으로 만든다 (사용자 문서, 경고, 기능 제약, 시험 범위, 판정 기준)

과제 4 — ODD 경계 시험 설계 (35분)

  1. 과제 3 의 ODD 항목 중 5개를 골라 본문의 다섯 경계 시험을 각각 설계한다
  2. 경계를 넘는 순간 을 가장 공들여 쓴다. 전환 시나리오 5개를 만들고 (공사 구간 진입, 안개 심화, 고속도로 이탈, 차선 소실, 급격한 교통량 증가) 각각에서 전달과 인수 가 어떻게 이뤄져야 하는지 적는다. 전달이 늦거나 불명확한 경우를 결함으로 판정하는 근거를 쓴다
  3. ODD 판정 실패 를 양방향으로 설계한다 — 밖인데 안으로 판정 / 안인데 밖으로 판정. 각각의 결과를 적고 판정 양식에 두 칸을 함께 둔다. 어느 쪽이 더 위험한지와 그 이유를 쓴다
  4. 모호한 경계(약한 비 등) 를 다루는 방법을 적는다. 이력이나 단계적 축소가 필요한지 검토한다
  5. 경계 시험 결과를 보고하는 문장 틀 을 만든다

과제 5 — 유발 조건 탐색 계획 (35분)

  1. 본문의 여덟 축 각각에 유발 조건 6개 를 적는다. 총 48개. 우리 시스템의 센서 구성과 알고리즘 특성을 고려해 고른다
  2. 각 조건에 대해 왜 이것이 기능 부족을 드러낼 수 있는가 를 한 줄 적는다. 근거 없이 나열하지 않는다
  3. 다중 조합 축을 특히 공들여 쓴다. 다른 축에서 조건을 골라 조합 10개 를 만들고, 각 조합이 왜 단일 조건보다 위험한지 적는다
  4. 조합이 폭발하는 문제를 적고, 줄이는 방법을 레슨 4 로 넘긴다고 명시한다
  5. 각 조건을 어느 환경에서 만들 수 있는지 표시한다(기록 데이터 선별 / 시뮬레이션 / 실차 — 레슨 3 과 연결)

과제 6 — 예상 가능한 오사용 (25분)

  1. 본문의 여섯 오사용 유형 각각에 구체적 시나리오 3개 를 만든다
  2. 각 시나리오에 대해 시스템이 해야 하는 것 을 순서로 적는다 (감지 → 경고 → 축소 → 해제 중 무엇을 어떤 순서로)
  3. "설명서를 안 읽었다" 로 닫을 수 없는 이유 를 한 문단 쓴다
  4. 의도적 우회 항목은 감지·대응 설계가 있는가 만 확인하는 형태로 쓴다. 구체적 우회 기법을 적지 않는 이유를 한 줄 적는다
  5. 경고 전달 여부는 사용적합성 영역임을 표시하고, 레슨 5·모듈 49 로 넘긴다

과제 7 — 영역 3 작업 보고 양식 (25분)

  1. 본문의 네 요소(탐색 범위·방법·발견·처리) 와 남은 가정 을 담은 보고 양식을 만든다
  2. "시나리오 1,200건 통과" 와 영역 3 작업 보고의 차이 를 한 문단으로 설명한다
  3. 가상의 결과로 양식을 채운다. 발견한 위험 시나리오 5건을 만들고 각각의 처리를 적는다
  4. 남은 가정 칸을 공들여 쓴다. 탐색하지 않은 범위, 전제한 조건, 확인하지 못한 것을 정직하게 적는 형태로
  5. 이 보고가 숫자 하나로 요약되지 않고 논증으로 쓰이는 이유 를 정리한다

자가 체크리스트

  • 기능안전과 SOTIF 가 묻는 질문의 차이를 한 문장으로 말할 수 있다
  • 성능 한계·설계 전제 이탈·예상 가능한 오사용 세 가지가 SOTIF 영역임을 안다
  • 두 체계가 보완이며 대체가 아니라는 것을 설명할 수 있다
  • 레슨 1 의 절차가 "세 단계 모두 명세대로" 로 끝나면 SOTIF 입력임을 안다
  • "의도된 동작" 으로 닫으면 위험이 남는다는 것을 설명할 수 있다
  • 네 영역(알려짐 × 위험함) 을 그리고 각각을 정의할 수 있다
  • 작업 방향 세 가지(2→1, 3→2, 3·4 축소) 를 들 수 있다
  • 알려진 위험은 요구 기반 시험, 미지 위험은 시나리오 기반 시험으로 다룬다는 구도를 안다
  • 영역 3 의 크기를 알 수 없고 "몇 % 남았다" 고 말할 수 없는 이유를 안다
  • 그 대신 말할 수 있는 세 가지를 들 수 있다
  • SOTIF 증거가 숫자가 아니라 논증의 성격이라는 것을 설명할 수 있다
  • ODD 가 제약이자 안전 설계인 이유를 안다
  • ODD 가 판정 가능한 수준으로 적혀야 경계를 시험할 수 있음을 안다
  • ODD 경계 시험 다섯 가지를 들 수 있다
  • 경계를 넘는 순간의 전달·인수가 가장 중요하고 어려운 이유를 안다
  • ODD 판정 실패를 양방향으로 보고, 밖인데 안으로 판정하는 쪽이 더 위험한 이유를 안다
  • ODD 가 좁혀질 때 함께 바뀌어야 하는 것들을 들 수 있다
  • 유발 조건이 영역 3 탐색의 축을 준다는 것을 안다
  • 탐색 축 여덟 가지를 들 수 있다
  • 다중 조합이 영역 3 의 주 서식지인 이유를 설명할 수 있다
  • 예상 가능한 오사용이 설계가 다뤄야 하는 입력임을 안다
  • 오사용 여섯 유형을 들 수 있다
  • 의도적 우회를 "감지·대응 설계가 있는가" 로만 다루고 기법을 적지 않는 이유를 안다
  • SOTIF 의 사고 틀이 의료 AI·AI 품질에서도 같은 모양으로 쓰인다는 것을 안다

흔한 실수

기능안전과 SOTIF 를 같은 것으로 본다. 묻는 질문이 다르고 증거의 성격이 다르다. 한쪽만 하면 다른 쪽 위험이 남는다.

"모든 구성 요소가 명세대로였다" 를 결론으로 쓴다. 그것은 기능안전 쪽 결론이고, SOTIF 쪽으로는 시작 이다. 다른 경로로 올린다.

영역 3 을 숫자로 보고한다. 미지의 크기는 알 수 없다. 탐색 범위·방법·발견· 처리로 말한다.

"시나리오 N 건 통과" 를 SOTIF 증거로 쓴다. 그것은 영역 2 의 증거다. 영역 3 작업의 증거는 새로 식별한 것과 그 처리다.

ODD 를 "고속도로, 맑은 날" 수준으로 둔다. 경계를 시험할 수 없고, 전환 순간의 위험이 그대로 남는다. 구체화는 안전 요구다.

ODD 안쪽만 시험한다. 밖에서 작동하지 않는지, 경계를 넘는 순간이 안전한지가 핵심이다.

ODD 판정 실패를 한 방향만 본다. 밖인데 안으로 판정하면 작동해서는 안 되는 상황에서 작동한다. 가장 위험한 조합이다.

ODD 를 좁히고 문서를 안 바꾼다. 사용자는 넓은 ODD 를 전제로 쓰고, 그 간극이 오사용이 된다.

단일 조건만 탐색한다. 단일 조건은 개발이 다루고, 조합에서 성능이 급격히 떨어지는 경우가 남는다. 조합을 의도적으로 만든다.

유발 조건을 근거 없이 나열한다. 센서 구성과 알고리즘 특성에서 유도해야 탐색이 효율적이다. 목록이 길다고 좋은 것이 아니다.

오사용을 "사용자 잘못" 으로 닫는다. 예상 가능한 오사용은 설계가 다뤄야 하는 입력이다. 설명서는 방어가 되지 않는다.

우회 기법을 문서에 적는다. 그 문서가 안내서가 된다. 확인할 것은 "감지·대응 설계가 있는가" 다.

경고가 나간다는 것으로 충분하다고 본다. 전달되는지는 별개 문제이고 사용적합성 영역이다.

SOTIF 보고서를 기능안전 보고서 형식으로 쓴다. 숫자 하나로 요약되지 않는다. 논증으로 쓰고, 남은 가정을 정직하게 적는다.

참고 자료

  • ISO 21448(SOTIF) 원문 — 용어 정의, 네 영역의 정확한 기술, 유발 조건 분석, 요구되는 활동과 산출물, 검증·타당성 확인 방법. 이 레슨은 구조만 다뤘으므로 요구 내용은 원문에서 확인한다(조항·정의·요구 활동 — 원문 확인)
  • ISO 26262 원문 — 기능안전 쪽 요구. 두 체계를 병행할 때의 관계 (원문 확인)
  • 우리 시스템의 ODD 명세 — 경계 시험의 기준. 판정 가능한 수준인지가 QA 검토 대상이다
  • 센서 사양서 — 유발 조건을 센서 특성에서 유도할 때의 근거(원문 확인)
  • 자율주행 관련 국내외 규정 — 기능 수준 분류, 공도 시험 요건, 운전자 책임. 적용 범위는 현행 규정에서 확인한다(원문 확인)
  • 모듈 65 레슨 1 — 인지·판단·제어 분리: "세 단계 모두 명세대로" 를 가려내는 절차
  • 모듈 65 레슨 3 — 시나리오 기반 시험: 영역 3 을 탐색하는 수단
  • 모듈 65 레슨 4 — 코너 케이스와 커버리지: 조합을 줄이고 탐색을 판정하는 방법
  • 모듈 65 레슨 5 — IVI 와 주행 중 조작: 경고 전달과 오사용 대응
  • 모듈 35 — 기능안전 소프트웨어 시험: 병행되는 다른 체계
  • 모듈 36·57 — AI 시스템 품질: "명세대로인데 위험하다" 의 같은 구조
  • 모듈 66 — 디지털 헬스: 의료 AI 에서 나타나는 같은 문제

낯선 말 풀이

이 레슨에 나온 약어입니다. 본문에서도 처음 나올 때 점선으로 표시해 두었습니다 (제목과 링크 글자는 그대로 둡니다).

SOTIF — 의도된 기능의 안전
부품이 고장나지 않았는데도 위험해지는 경우를 다루는 분야. 센서가 상황을 잘못 알아보는 식이다.
ISO — 국제표준화기구
여러 나라가 모여 "이건 이렇게 하자"를 문서로 정하는 단체. 그 문서 자체를 번호로 부른다.
QA — 품질보증
만든 것이 쓸 만한지 확인하고, 애초에 덜 망가지게 만드는 방법을 정하는 일. "테스트"는 그 일의 일부다.
ODD — 운행 설계 영역
이 기능이 제대로 동작한다고 보장하는 조건의 범위 — 날씨, 도로 종류, 속도 같은 것.
IVI — 차량 인포테인먼트
자동차 안의 화면 — 길 안내, 음악, 전화 연결을 담당하는 부분.
AI — 인공지능
사람이 규칙을 일일이 적지 않아도 데이터에서 규칙을 찾아 판단하는 소프트웨어.

용어집 전체 보기