피드로 돌아가기
Connecting Flutter to Vehicle Signals: Building a Dart SDK for Eclipse KUKSA
Dev.toDev.to
Infrastructure

Flutter-KUKSA 연결을 위한 Dart SDK 구축 및 gRPC 타입 안전성 결함 분석

Connecting Flutter to Vehicle Signals: Building a Dart SDK for Eclipse KUKSA

aki1770-del2026년 4월 12일6advanced

Context

차량 ECU의 실시간 신호를 UI 계층으로 전달하기 위한 Eclipse KUKSA 데이터브로커 기반의 통신 구조 설계 필요성 증대. 기존 Dart 환경 내 KUKSA gRPC API 클라이언트의 부재로 인해 차량 신호(ESC, TCS 등)의 직접적인 제어 및 모니터링이 불가능한 제약 발생.

Technical Solution

  • gRPC stubs를 Dart-idiomatic API로 래핑한 kuksa_dart_sdk 0.1.0 개발을 통한 접근성 확보
  • VSS(Vehicle Signal Specification) 경로 기반의 구독 모델을 적용하여 특정 차량 신호의 효율적 수신 구조 설계
  • Tokio broadcast::Sender를 통한 데이터 팬아웃 과정에서 발생하는 Type Validation 부재 지점 식별
  • Write gate의 Entry::validate() 단계 이후 배포 단계에서 타입 검증이 누락되어 발생하는 Silent failure 메커니즘 분석
  • Datapoint accessor의 null 리턴 방식이 실제 신호 미수신 상태와 구분되지 않는 논리적 모호성 발견
  • ChangeSubscription 구조체 내 expected_type 필드 추가 및 필터 스테이지 도입을 통한 구조적 해결책 제시

- gRPC 스트림 기반 데이터 수신 시, 타입 불일치로 인한 Null 반환이 시스템의 'Silent Failure'를 유발하는지 검토 - 메시지 브로커의 Fan-out 단계에서 송신측 검증 외에 수신측 혹은 중간 필터링 단계의 타입 재검증 로직 설계 고려 - 하드웨어 신호 기반의 상태 머신 설계 시, Null 값과 '신호 없음/오류' 상태를 명확히 구분하는 에러 핸들링 체계 구축

원문 읽기