FMS 설계 및 구현
Odin, Fleet Management System

회사가 제조하여 고객에게 납품한 차량의 정보를 데이터베이스화하고, 관리자가 차량의 상태 및 보증 기간 등을 손쉽게 확인할 수 있는 시스템을 설계하고 구현하였습니다. 고객에게 제공되는 웹 기반 운영 시스템을 통해 고객은 운용 중인 차량의 실시간 상태를 모니터링하고, 필요 시 차량을 원격으로 제어할 수 있습니다. 본 시스템은 클라우드 기반 SaaS 형태로 제공 가능하며, On-Premise, 또는 Air-gapped 환경에도 배포될 수 있도록 유연하게 설계되었습니다.
기존 시스템과의 통합을 고려하여, 전체 시스템은 데이터 레이어와 차량 제어 레이어를 명확히 분리하였습니다. 또한 이벤트 수신 여부에 관계없이, 수신된 데이터만으로도 상태 판단과 이벤트의 선후 관계를 추론할 수 있도록 메시지 구조를 설계하였습니다.
차량 제어 기능은 Operator라는 추상 단위로 구현되었으며, 각 Operator는 특정 차량 제어 프로토콜을 담당합니다. 시스템을 구성하는 모든 컴포넌트는 공통된 API 세트를 구현하도록 요구되며, 이를 통해 In-Process 모듈이든 리모트 서버든 동일한 인터페이스로 손쉽게 이식이 가능합니다. 또한 관계된 모든 엔지니어가 동일한 API 지식을 공유하게되어 자율주행 기능을 위한 Self-Driving Operator와 다수 차량을 동시에 제어하는 Multi-Agent Operator(VDA5050)는 서로 다른 엔지니어에 의해 독립적으로 구현되었음에도 시스템에 무리없이 통합될 수 있었습니다. 통합 제어 시스템 또는 개별 차량과 직접 통신되는 사용자 클라이언트는 단일 코드베이스로 구현되었습니다.
OpenTelemetry를 지원하여 시스템 내부 메트릭 및 외부 요청 흐름을 투명하게 수집·분석할 수 있도록 하였습니다.