OWL (Web Ontology Language) — 온톨로지를 웹 환경에서 표현하기 위한 W3C 표준 언어. RDF(Resource Description Framework) 위에서 동작하며, 설명 논리(Description Logic, DL)를 기반으로 컴퓨터가 개념 간의 의미적 관계를 이해하고 추론(reasoning) 할 수 있도록 설계된 지식 표현 언어(Knowledge Representation Language, KRL). 자동차 도메인에서는 ISO 26262 기능안전의 ‘Safety Function Ontology’ 구성에 활용되어 HARA의 의미적 자동 검증·중복 탐지·ASIL 할당 누락 식별 등을 가능케 한다.
정의
- 온톨로지 (Ontology) — 도메인에 대한 공식적이고 명시적인 개념화(formal, explicit specification of a domain). 영역에 존재하는 개체(entities)·관계(relationships)·제약(constraints) 을 명시적으로 기술
- 톰 그루버(Tom Gruber, 1993) — “온톨로지는 특정 도메인에 대한 명시적이고 형식적인 개념화”
- 시맨틱 웹(Semantic Web) — 팀 버너스 리(Tim Berners Lee)가 제시한 비전. 단순 문서 연결이 아니라 의미의 연결을 통해 웹이 스스로 지식을 해석하도록
OWL의 세 가지 철학
| 원칙 | 의미 |
|---|---|
| 개방 세계 가정 (Open World Assumption) | 기술되지 않은 것은 알 수 없는 것으로 간주. 현실의 불완전한 지식을 반영. 예: “피자는 토핑을 가진다”라고만 정의돼 있다고 “어떤 피자는 토핑이 없다”는 결론을 자동으로 내리지 않음 |
| 단조성 (Monotonicity) | 새로운 지식을 추가해도 기존 결론은 무효화되지 않음 — 분산 협업 환경에서 일관성 유지 용이 |
| 형식성과 설명 논리(DL) | 단순 분류 체계가 아닌 수학적 논리 기반 — Reasoner가 일관성 검사·자동 분류·암묵적 지식 도출 수행 |
4대 구성 요소
| 요소 | 역할 | 자동차 예시 |
|---|---|---|
| Class (클래스) | 개념의 틀 — 개념의 집합 정의 | Hazard, SafetyGoal, ASIL, Malfunction, OperatingSituation |
| Individual (개체) | 실제 세계의 예시 — 클래스의 인스턴스. 논리적 검증 단위 | Bus·HeavyTruck·PassengerCar(Car의 인스턴스), BrakeFailureHazard(Hazard의 인스턴스) |
| Property (속성) | 관계의 연결 — Object Property(개체↔개체) + Data Property(개체↔데이터값) | hasASIL(SafetyGoal → ASIL), mitigates(Hazard → SafetyGoal), occursIn(Hazard → OperatingSituation) |
| Axiom (공리) | 논리적 규칙 — “무엇이 참(True)인가” 정의. Reasoner의 진리 법칙 | HighRiskHazard ≡ Hazard and (hasSeverity some HighSeverity) |
Ontology vs Taxonomy vs Database
| 구분 | Taxonomy | Database Schema | Ontology |
|---|---|---|---|
| 목적 | 분류 체계 | 데이터 구조화 | 의미적 지식 표현 |
| 관계 | 단순 계층 구조 | 외래키 기반 관계 | 논리적 제약과 추론 가능 관계 |
| 표현 | “is-a” | 행·열 | “is-a”, “part-of”, “has-property” 등 풍부한 의미 관계 |
| 자동 추론 | 불가 | 제한적 | 가능 (Reasoner 이용) |
Reasoner — 자동 추론 엔진
설명 논리(DL)를 해석해 사람이 정의한 클래스·속성·공리·개체로부터 논리적으로 도출 가능한 모든 사실을 찾아내는 자동 추론기. 데이터베이스가 ‘저장된 정보 조회’라면 Reasoner는 그 정보들 사이의 논리적 일관성과 암묵적 관계를 분석.
5대 기능
- Consistency Checking (일관성 검사) — 모순 없는지 확인. 예: 한 SafetyGoal이 동시에 ASIL D와 ASIL A로 정의되면 모순으로 감지
- Satisfiability Checking (충족 가능성 검사) — 클래스 정의가 실제 충족 가능한지 검사. 예: hasTopping only CheeseTopping AND only MeatTopping은 충족 불가
- Classification (자동 분류) — 클래스 간 포함 관계 자동 재정렬. 예: ASIL_B_Function ⊑ SafetyFunction 자동 도출
- Realization (개체의 구체적 분류) — 개체가 어떤 가장 구체적 클래스에 속하는지 판단. 예: HighSeverity·LowControllability·HighExposure 조건 → ASIL D Hazard
- Inference of Implicit Facts (암묵적 지식 도출) — 명시되지 않은 관계를 추론. 온톨로지가 지식 그래프(Knowledge Graph)로 진화
동작 원리·대표 Reasoner
OWL DL Reasoner는 보통 Tableau 알고리즘 사용 — 각 개체·클래스의 속성을 가능한 모델로 확장해가며 모순(contradiction) 탐색.
| Reasoner | 특징 |
|---|---|
| HermiT | OWL 2 공식 Reasoner, 고성능·정확성 |
| Pellet | 규칙 기반, OWL 2 RL 호환 |
| FaCT++ | 고속 추론용, OWL DL 중심 |
| ELK | OWL EL 프로파일용, 대규모 온톨로지 특화 |
자동차 기능안전 사례 — Safety Function Ontology
ISO 26262의 기능·위험요소·인터페이스·안전목표 연결을 OWL로 구조화하면 Reasoner가 다음을 자동 수행:
- redundancy detection — 동일 위험을 서로 다른 ECU가 중복 관리하는지 탐지
- ASIL 할당 누락 자동 검출
- 특정 기능이 특정 상황에서 부적절한 SafetyGoal을 갖는지 자동 검증
- 논리적으로 충돌하는 제약(동일 상황에 상충 목표) 확인
- Hazard → Function → ECU 간 추론을 통한 상호의존 위험 탐지
→ 단순 HARA 스프레드시트 연결을 넘어 ‘차량 전체가 하나의 지식 그래프’ System-of-Systems(SoS) 안전 분석 가능.
OWL 세 버전 — 표현력과 계산가능성의 균형
W3C는 OWL을 세 가지 버전으로 구분 — 표현력(expressivity)과 추론 가능성(decidability) 사이의 절충.
| 버전 | 기반 논리 | 표현력 | 추론 가능성 |
|---|---|---|---|
| OWL Lite | RDFS 위 | 제한적 (cardinality 0/1만 허용, 복잡한 논리 연산 제한) | 빠르고 가벼움 — 일관성 검사 용이 |
| OWL DL | SHOIN(D) / OWL 2 SROIQ(D) | 교집합·합집합·부정·보편/존재 한정자, 동치·상속·불일치, 대칭성·추이성·역관계 | Decidability 보장 — Reasoner가 “언젠가 결과를 낸다”는 것이 보장 |
| OWL Full | RDF 완전 호환 + 메타모델링 | 가장 강력 — 클래스를 다른 클래스의 개체로 사용 가능 | Undecidability — 영원히 끝나지 않는 질의 가능 |
- OWL Lite — “지식 표현의 첫걸음”. 단순 분류·제약 정의 중심. RDFS보다 조금 더 강력한 계층 표현
- OWL DL — 의료·자동차·제조·안전 분석의 사실상 표준. ‘계산 가능한 의미론의 한계까지 확장’
- OWL Full — 대규모 링크드 데이터·지식 그래프에 강력한 유연성. 산업안전·법적 추론처럼 일관성이 필수적인 영역에는 부적합
의미
- 데이터베이스가 ‘저장된 정보 조회’라면 Ontology는 ‘논리 체계’로서의 지식 표현
- 단순 분류 체계가 아니라 ‘차량 전체가 하나의 지식 그래프’ 로 연결되는 SoS 분석 가능
- 인간은 표현(Representation), Reasoner는 해석(Interpretation)을 담당하는 보완적 동반자