이클립스 uProtocol
의사소통은 생명체 간이든 기술 시스템 간이든 상관없이 두 가지 중요한 차원을 지닌다: 메시지와 매체. 또는 아주 느슨한 비유로, 의미론과 구문론이다.
메시지/의미론은 전달되는 내용에 관한 것이다: 두 사람이 동일한 단어와 개념에 동의한다면, 음성, 텍스트, 수화, 모스 부호 등을 사용하든 상관없이 대화를 나눌 수 있다. 이것이 바로 내용이다.
매체/의미론은 원하는 정보를 전달하는 방법에 관한 것이다: 의사소통 당사자들 사이에 어떤 기호열('메시지')이든, 그들이 사용할 메커니즘에 합의하고 이를 활용할 수 있는 한 전달될 수 있다. 이것이 배관이다 1.
기술 시스템의 맥락에서 메시지/의미론적 정렬의 범위는 일반적으로 자산의 확장성을 결정한다: 메시지 내용이 명확히 정의되어 있는 한, 통신 당사자의 수는 증가할 수 있으며 시간이 지남에 따라 배관 구조의 변화까지 수용할 수 있다. 이러한 시스템의 구성 요소는 상호 교환 가능해지고 독립적으로 진화할 수 있다. 이를 통해 비즈니스 로직의 안정성을 달성할 수 있으며, 도메인 특화 서비스의 시장 규모가 성장한다(일명 "생태계").
소프트웨어 시스템에서 특정 배관 구조는 매우 중요하면서도 놀라울 정도로 유연합니다: 제대로 작동하지 않으면 아무것도 흐르지 않으며, 그 양이 방대하고 지속적으로 변화하며 진화합니다. 소프트웨어 제품 개발 시간의 상당 부분은 서로 다른 배관 구조를 조정하고 통합하는 데 소요되며, 마치 새로운 미들웨어가 좌우로, 거의 모든 기회마다 솟아나는 듯한 느낌을 줍니다 .
본문의 나머지 부분에서는 기술적 측면을 심층적으로 다루겠지만, 콘텐츠 표준화를 위한 기존 오픈 커뮤니티 노력을 언급할 가치가 있습니다: COVESA 차량 신호 사양(VSS) 및 차량 서비스 정의(uService) 프로젝트가 그것입니다. 이클립스 재단 SDV 작업 그룹에서 진행 중인 작업과 결합하여, 이들 그룹은 이 분야에서 공동 개발되고 커뮤니티 주도적인 솔루션을 구축하기 위한 진지한 시도를 하고 있습니다.
SDV 상황
차량 시스템 및 소프트웨어 정의 차량(SDV) 아키텍처의 맥락에서도 마찬가지지만, 몇 가지 추가적인 복잡성이 존재합니다. SDV 방식 시스템은 매우 이질적인 주체들 간의 통신으로 구성됩니다: 한쪽 끝에는 차량에 깊이 내장된 마이크로컨트롤러를 갖춘 메카트로닉스 영역이 있어, 브레이크를 밟으면 차량이 제동되도록 보장합니다. 다른 쪽 끝에는 차량 기능을 원격 제어하고 운전자 프로필을 관리하는 등 다양한 용도로 사용되는 사용자 대상 클라우드 서비스와 모바일 애플리케이션이 있습니다.
기술 스펙트럼의 양극단은 사용되는 배관 시스템에 대해 동등하게 광범위한 요구사항을 수반하며, 극히 다양한 공학적 사고 방식에서 비롯됩니다. 실시간, 최소 지연 차량 내 CAN 통신 라인은 클라우드-앱 프로토콜 스택과는 매우 다르며, 이 둘 사이에는 다양한 중간 단계가 존재합니다. 각각은 특정한 개발 문화와 연관되어 주변 조직에 미치는 영향이 다릅니다.
간단히 말해: SDV(자율주행차)의 맥락에서 배관 시스템은 기술적 수준을 넘어 복잡하다.
관련된 모든 기술 분야는 진화하여 각자의 요구사항을 충족시키기 위한 독자적인 솔루션 세트를 구축해 왔습니다. 차량 내 물리적 및 전송 프로토콜 옵션이 다양하게 존재하며, IoT 영역은 메시징 및 통신 인프라를 제공하며, 클라우드는 지난 10~20년간 수많은 옵션을 발전시켜 왔습니다. 3. 그러나 현대 차량과 이를 지원하는 IT 시스템은 이 모든 것에서 유용한 의미를 도출해 내고 그 위에 지속 가능한 고객 가치를 구축해야 할 것으로 기대됩니다. 4.
새로운 요구사항과 변화하는 기술 주체들에 대한 일반적인 반응은 이 새로운 과제를 해결하는 '새로운 것'을 발명하는 것이다. 심지어 모든 참여자들의 잠재적으로 관련될 수 있는 요구사항을 꼼꼼히 수집하고 해결하는 표준 형태로도 나타날 수 있다. 5. 이는 타당한 접근법이 될 수 있는 시나리오도 존재한다. 그러나 이는 솔루션 환경을 확대시킬 뿐 핵심 문제를 해결하지 못하고 오히려 악화시킨다는 점을 고려해야 합니다: 고객에게 가치 있는 것을 구축하기 위해 함께 작동해야 하는 기술 옵션이 엄청나게 많습니다.
이클립스 uProtocol 비전
이클립스 재단 SDV 작업 그룹은 SDV 생태계에 기여할 관련 구성 요소를 제공하는 것을 사명으로 삼고 있으며, 이에 따라 지금까지 제기된 문제들은 작업 그룹의 핵심 관심사입니다. 작업 그룹 포트폴리오가 eCal부터zenoh에 이르기까지 우수한 미들웨어 솔루션을 확보해 가는 가운데, 최근 한 프로젝트는 특정 기반 인프라를 대규모 솔루션으로 체계적이고 생태계 차원에서 통합할 수 있는 통합적 접근 방식을 제시하고자 합니다. 이 프로젝트는 Eclipse uProtocol이라 불리며, 2023년 하반기 GM에 의해 최초 공개된 이후 상당한 기여 활동을 이끌어내고 있습니다. uProtocol 접근법은 두 가지 측면에서 차별화된 목표를 추구합니다:
- 또 다른 미들웨어 구현이 아닙니다;
- 오히려, 이는 기존 복잡한 조직(위에서 설명한 바와 같이 전체 기술 스펙트럼에 걸쳐 있는) 내에서 협업을 촉진할 수 있는 개념과 추상화를 제공합니다.
uProtocol은 메카트로닉스부터 클라우드에 이르는 통신 영역들을 하나로 묶어주는 접착제 역할을 합니다. 이는 해당 영역 내에서 일반적으로 사용되는 다양한 미들웨어 옵션 간 연결을 위한 공통 접근 방식을 제공함으로써 가능합니다. uProtocol은 널리 사용되는 전송 프로토콜 구현 간의 신속한 연동을 가능하게 하는 즉시 사용 가능한 통합 구성 요소를 제공합니다. 또한 서비스 검색, 데이터 구독, 디지털 트윈 기능과 같은 공통 관심사에 대한 크로스 도메인 통합을 제공하는 상위 수준의 애플리케이션 집합을 정의합니다.
uProtocol의 가치 제안을 보다 명확히 이해하기 위해, 오늘날 프리미엄 차량에 기대되는 핵심 기능을 살펴보겠습니다. 이는 최소 세 가지 서로 다른 기술 영역을 아우르는 스마트폰 차량 동반자 앱입니다. 현대적 사례를 보면, 이러한 앱들은 실시간에 가까운 차량 데이터 표시(지리적 위치나 현재 주행 속도 등)와 원격 명령 실행(실내 온도 조절, 트렁크/도어 개폐, 충전 과정 관리 등)을 혼합하여 제공합니다.
이 두 기능 모두 차량 내 임베디드 영역에서 시작된 데이터와 명령이 차량 내 고성능 컴퓨팅 장치, 차량 인포테인먼트/커넥티비티 시스템, 클라우드 서비스 백엔드를 거쳐 스마트폰 앱으로 전달되고, 반대로도 전달되어야 합니다. 이러한 각 단계에는 최소한 하나의 별도 전송 프로토콜과 더불어 다수의 데이터 관리, 처리 및 저장 엔터티가 관여할 가능성이 높습니다. 이들 각각은 자체 API와 프로그래밍 모델을 갖추고 있으며, 이 모든 것들은 지속적으로 진화하고 있습니다.
이에 반해 비즈니스("도메인") 애플리케이션 개발자의 요구는 다르다: 그들은 이 체인의 먼 끝에 위치한 서비스와 상호작용해야 하는데, 해당 서비스는 자신들의 기술적 맥락과 크게 동떨어진 환경에 존재할 가능성이 높다. 이 먼 엔드포인트의 제품 수명 주기, 운영 조직 및 엔지니어링 프로세스는 자신들의 것과 매우 다르다. 대부분의 경우, 이들 그룹이 사용하는 용어와 개념의 의미조차도 충분히 달라 장벽을 만들 정도입니다(본문 초반에 다룬 메시지/의미론 주제를 참고하십시오).
uProtocol은 이 환경 전반에 걸쳐 서비스와 데이터 소스를 정의하고, 위치 파악하며, 접근하는 통합된 방식을 제공함으로써 해결하고자 하는 영역입니다. uProtocol 어댑터와 게이트웨이는 서비스에 대한 글로벌 주소 지정 메커니즘, API 엔드포인트를 위한 공통의 신뢰할 수 있는 정보원, 그리고 도메인 경계를 넘어 데이터와 명령 흐름을 가능하게 하는 데 필요한 접착제 역할을 하는 구성 요소들을 도입합니다. uProtocol은 퍼블리시/서브스크립션(pub/sub) 네트워크 구독 관리나 디지털 트윈 스타일 데이터 캐시 같은 기존 개념의 구현을 채택하고 활용하지만, 특정 도메인에서 사용되는 특정 기술로부터 비즈니스 API 정의를 분리하고, 특정 솔루션 시나리오에서 사용되는 어떤 프로토콜이든 통합할 수 있도록 설계되었습니다.
결론적으로 uProtocol은 개발자가 기술 지도의 어느 위치에서 운영하든 데이터 소스와 API 엔드포인트를 동일한 방식으로 상호작용할 수 있게 합니다. uProtocol 서비스 메시 내에서 호출 및 데이터 접근은 차량 내 서비스 간, 차량과 클라우드 간, 클라우드와 차량 간, 앱과 차량 간 등 모든 경로에서 동일하게 작동합니다. 이러한 공유 개념과 API 정의(일명 '프로그래밍 모델')는 다양한 분야의 개발자 팀 간 협업을 위한 공통 기반을 제공합니다. uProtocol은 기술적·조직적 경계를 연결하는 가교 역할을 목표로 합니다.
uProtocol 프로젝트 현황
uProtocol 프로젝트는 Eclipse SDV 워킹 그룹 내에서 가장 빠르게 성장하는 개발자 커뮤니티 중 하나를 형성했습니다. 불과 몇 달 만에 비교적 다양한 기여가 쏟아지기 시작했으며, 이는 이미 uProtocol 기반 생태계의 잠재적 토대를 가시적으로 형성하고 확장하는 데 기여하고 있습니다. uProtocol은 이미 수많은 오픈소스 SDV 구성 요소를 통합하고 결집시키는 핵심 역량으로서의 잠재력을 입증하고 있습니다.
특히 핵심 사양과 API 정의가 지속적으로 발전 및 개선되고 있으며, 다수의 새로운 프로그래밍 언어 라이브러리(SDK)가 구축 중입니다(현재 Java, C++, Rust, Python, Kotlin용 uProtocol 지원이 존재함). 또한 Android Binder, Eclipse Zenoh 및 MQTT 브로커를 연결하는 프로토콜 어댑터의 첫 번째 버전이 개발 중입니다. 이러한 속도가 유지된다면, 2024년에는 uProtocol 서비스 패브릭이 Eclipse SDV Blueprint 프로젝트 중 하나 이상에 공개적으로 확인 가능한 검증 사례 및 쇼케이스로 도입될 것입니다.
전망
현재 시점에서 uProtocol은 GM의 Ultifi 플랫폼을 위한 핵심 기반 기술로, 프로젝트 전체에 신뢰성과 추진력을 동시에 제공합니다. 그러나 오픈소스 프로젝트의 진정한 가치는 단일 채택자에게만 가치를 부여하는 데 그치지 않고, 공유 기술 공간에서 성장하는 다양한 오픈 및 상용 서비스의 기반이 될 수 있는 능력에 있습니다. 따라서 향후 몇 년간 uProtocol이 실제 제품과 운영 인프라에서 추가로 채택되는 것은 핵심 성공 지표가 될 것입니다.
이러한 목표를 달성하기 위해서는 특정 자동차 기술에 대한 더 많은 uProtocol 어댑터와 브릿지가 필요합니다. 오픈소스 커뮤니티에게는 이는 곧바로 도전 과제가 됩니다. 기존 자동차 프로토콜 스택은 대개 독점적이며, 또는 어떤 형태로든 금지적인 지적 재산권 규정으로 보호받기 때문입니다. 예를 들어, uProtocol 비전은 임베디드 자동차 세계에서 서비스 지향 통신 커뮤니티의 중요한 부분을 차지하는 SOME/IP와 같은 AUTOSAR® 통신 인프라와의 긴밀한 통합을 통해 막대한 혜택을 얻을 수 있습니다. 이러한 사양에 적용된 IP 정책으로 인해 오픈소스 구현체 공개는 어렵고 시간이 많이 소요되는 작업입니다. 현재 Eclipse SommR 프로젝트가 이러한 시도를 진행 중입니다. 다음 블로그 게시물에서 이 프로젝트에 대해 더 자세히 소개하겠습니다.
경계를 넘어선 협력이 기존의 제로섬 기업 경쟁에서 벗어나는 최선의 방법이다.
1: 물론 이 두 차원은 서로 영향을 미칩니다: 매체의 제약은 메시지가 어떻게 표현되고 사용되는지를 알려주며, 메시지의 요구사항은 어떤 매체가 유용할지를 결정합니다.
2: 소프트웨어 엔지니어들은 매체 자체가 메시지라는 맥루한의 관점을 진정으로 받아들입니다. 이는 "[...] 전달되는 메시지가 아닌, 커뮤니케이션 매체 그 자체가 연구의 주요 초점이 되어야 한다"는 것을 시사합니다.
3: 비록 당시에는 '클라우드'라고 부르지 않았을지라도.
4: 여기서 핵심 단어는 '지속적'입니다. 특정 순간에 완벽한 제품을 만들려는 목표는 가능하지만, 그 성과는 10개의 다른 제품 라인에서 동시에 재현되어야 하며, 차세대 제품 출시 시점이 다가오는 2년 후에도 반복되어야 합니다. 그리고 이 모든 다양성은 10년 이상의 운영 기간 동안 유지되어야 하며, 수백만 대가 판매될 가능성도 있습니다...
5: 그래서 표준이 이렇게 많은 것입니다
6: 이러한 범위에서 uProtocol이 모든 특수 사용 사례에 대한 해답을 제공하려는 것이 아님을 분명히 해야 합니다. 특정 사항(예: 차량의 한 하위 영역 내 실시간 중요 통신)은 기존에 존재하는 특수화되고 지역화된 접근 방식으로 해결하는 것이 더 낫습니다.
문의하기
궁금하신 사항은 언제든지 문의해 주시기 바랍니다.