跳至主要内容

Eclipse uProtocol

视觉元素,附带副标题“Eclipse uProtocol”

无论涉及生物还是技术系统,沟通都包含两个重要维度:信息内容与传播媒介。或者用一个非常粗略的类比来说,即语义与语法。

信息/语义关乎传达的内容 :当两人对相同的词语和概念达成共识时,无论使用语音、文字、手语、摩斯电码等任何形式,都能进行对话。这便是信息的核心。

媒介/语义学关乎如何传递 所需信息:只要沟通双方就使用机制达成共识并能配合操作,任何符号序列("信息")皆可传递。这便是基础架构

在技术系统中,消息/语义层面的协同范围通常决定了资产的可扩展性:只要消息内容定义明确,通信方数量便可持续增长,甚至能适应随时间推移的底层架构变更。此类系统的组件由此具备可互换性,并能独立演进。如此既可实现业务逻辑的稳定性,又能拓展特定领域的可触达市场(即"生态系统")。

在软件系统中,底层管道既至关重要又出人意料地灵活:一旦失效,所有流程将陷入停滞;这类组件数量庞大,且持续经历着变化与演进。软件产品开发的大部分时间都耗费在适配与整合各类管道上,新中间件仿佛如雨后春笋般层出不穷,几乎在每个可能的时机都会出现。

虽然本文后续部分将深入探讨底层架构,但值得指出的是,现有开放社区正致力于内容标准化工作:即COVESA车辆信号规范(VSS)和车辆服务定义(uService)项目。结合Eclipse基金会SDV工作组的现有工作,这些团体正切实努力建立一个由社区驱动、共同开发的解决方案。

SDV状况

在车辆系统和软件定义车辆(SDV)架构的背景下,这一情况同样成立,不过还存在若干额外复杂因素。SDV架构的系统涉及高度异构的通信对象:一端是机电一体化领域,微控制器深度嵌入车辆,确保刹车时车辆能响应制动;另一端则是面向用户的云服务和移动应用,用于远程控制车辆功能、管理驾驶员档案等多种操作。

技术光谱的这两端,对所用管道系统提出了同样广泛的要求,且源于截然不同的工程思维领域。实时、低延迟的车载CAN通信线路与云端到应用的协议栈存在本质差异,而介于二者之间还存在诸多灰色地带——每种方案都关联着特定的开发文化,并对周边组织产生相应影响。

简而言之:在SDV(智能网联汽车)的背景下,其技术架构的复杂性远不止于技术层面。

所有相关技术领域都已发展并构建了各自的解决方案体系以满足需求。车载物理层与传输协议存在多种选择,物联网领域提供了专属的消息传递与通信基础设施,云计算在过去10-20年间也催生了大量解决方案³。然而现代车辆及其配套IT系统仍需整合这些技术,从中提炼出实用价值,并在此基础上持续创造客户价值⁴

面对需求新环境和技术参与者更迭的常见反应,是创造"新事物"来应对新挑战——或许会以标准的形式出现,这种标准会费尽心力收集并解决所有参与方可能涉及的需求⁵。在某些情境下,这种方法确实可行。然而,这种做法会不断扩大解决方案生态,非但未能解决核心问题反而加剧了矛盾:如今需要大量技术方案协同运作,才能为客户创造真正价值。

日蚀uProtocol愿景

Eclipse基金会软件定义车辆(SDV)工作组以推动SDV生态系统建设为己任,因此迄今提出的各项议题均是工作组的核心关注点。该工作组项目组合正逐步积累优质中间件解决方案——从eCal到zenoh,而近期启动的项目旨在提供一种集成方法,实现将特定基础组件系统化地整合为大规模解决方案的生态级组合。该项目名为Eclipse uProtocol,自2023年下半年由GM首次发布以来,已获得大量贡献活动。uProtocol方法旨在实现两项创新:

  • 它并非另一种中间件实现;
  • 相反,它提供了一系列概念和抽象框架,能够促进现有复杂组织(如上所述,这些组织涵盖整个技术领域)内的协作。

uProtocol作为粘合剂,能够将从机电一体化到云计算的通信领域紧密连接。它通过提供统一的桥梁方案,实现这些领域内常用中间件选项的互通。该协议提供现成的集成组件,支持快速对接常用传输协议实现方案。同时定义了一系列高级应用程序,为服务发现、数据订阅和数字孪生功能等通用需求提供跨域集成支持。

为使uProtocol的价值主张更易理解,让我们以当今高端车辆必备的一项基础功能为例——智能手机车辆伴侣应用,该功能至少涉及三个截然不同的技术领域。观察现有的应用案例,这类应用集成了实时车辆数据展示(如地理位置或当前车速)与远程指令执行(如空调控制、开启后备箱/车门或管理充电过程)的混合功能。

这两项功能都需要数据和指令从车辆的嵌入式域出发,经由车载高性能计算设备、车载信息娱乐/互联系统、云服务后端,最终传输至智能手机应用程序,反之亦然。每个环节都可能涉及至少一种独立的传输协议,以及多个数据管理、处理和存储实体。这些组件各自拥有独立的API和编程模型,且都在持续演进。

相比之下,业务(领域)应用程序开发者的需求截然不同:他们必须与链条末端的系统交互,而这些系统往往运行在与自身截然不同的技术环境中。这些遥远终端的产品生命周期、运维组织和工程流程都与自身存在巨大差异。更常见的是,这些群体使用的术语和概念含义往往存在显著差异,从而形成沟通障碍(可参见本文开篇提及的消息/语义主题)。
uProtocol旨在通过提供统一的方式来定义、定位和访问整个生态系统中的服务与数据源,从而填补这一空白。uProtocol适配器和网关引入了服务全局寻址机制、API端点的统一数据源,以及实现跨领域数据与命令流所需的关键组件。虽然uProtocol承接并整合了已确立的概念实现(如发布/订阅网络订阅管理或数字孪生式数据缓存),但其设计宗旨在于将业务API定义与特定领域的具体技术解耦,同时集成特定解决方案场景中采用的任何协议。

归根结底,uProtocol使开发者能够以相同的方式与数据源和API端点交互,无论这些端点位于技术地图的何处。在uProtocol服务网格内,从车载服务到车载服务、从车辆到云端、从云端到车辆、从应用到车辆等场景中,调用与数据访问机制完全一致。这些共享概念和API定义(即"编程模型")为不同领域的开发团队提供了协作基础,uProtocol致力于打破技术与组织边界。

Uprotocol图层图形

uProtocol项目状态

uProtocol项目已在Eclipse SDV工作组中吸引了增长最快的开发者社区之一。短短数月内,各类多元化的贡献已开始涌现,并已初具雏形地塑造和扩展了潜在的uProtocol生态系统基础。该项目正展现出其作为整合力量的潜力,有望成为众多开源SDV组件的凝聚核心。

值得注意的是,核心规范和API定义正在不断演进和完善,多款新的编程语言库(SDK)正在开发中(目前uProtocol已支持Java、C++、Rust、Python和Kotlin),首批协议适配器也正在推进中,将连接Android Binder、Eclipse Zenoh和MQTT代理。若进展持续保持此速度,2024年我们将见证uProtocol服务框架引入Eclipse SDV蓝图项目之一,作为公开可见的验证成果与展示平台。

展望

当前,uProtocol作为通用汽车Ultifi平台的核心使能器,为整个项目提供了可信度和驱动力。然而,开源项目的真正价值在于其能够为多个采用者创造附加价值,并可能成为共享技术领域中多样化开放与商业解决方案的基础。因此,未来几年内推动uProtocol在实际产品与运营基础设施中的广泛应用,将成为衡量项目成功的关键指标。

为实现这一目标,需要开发更多uProtocol适配器及连接特定汽车技术的桥梁。对于开源社区而言,这很快便成为一项挑战——传统汽车协议栈通常具有专有性,且/或受某种限制性知识产权法规保护。例如,uProtocol愿景若能与AUTOSAR®通信基础设施(如SOME/IP)深度集成,将获得巨大收益。该基础设施代表了嵌入式汽车领域面向服务的通信社区的重要组成部分。这些规范附带的知识产权政策使得开源实现的发布成为一项艰巨且耗时的任务。Eclipse SommR项目正致力于此类尝试,我们将在下期博客中对此项目进行详细报道。

Uprotocol 层级图 2
跨越边界的协作是摆脱常规零和企业博弈的最佳出路。

丹尼尔·克里普纳技术战略师在开源软件团队中的职能:社区参与、技术/机遇发掘、开发者

1: 当然这两种维度确实相互影响:媒介的限制会影响信息如何表述和使用,而信息的需求则决定了哪种媒介会更有效。
2: 软件工程师们深谙麦克卢汉"媒介即讯息"的观点,该理论主张"[...] 沟通媒介本身,而非其承载的信息,才应成为研究的核心焦点。"
3: 尽管当时我们或许尚未将其称为"云"。
4: 关键在于"持续性"。开发者或许能打造出某个特定时刻的完美产品——但这般成就需在十条产品线中同步复制,并在两年后新一代产品上市时再度重现。更要维持所有产品线十年以上的运营周期,期间可能售出数百万台设备...
5: 正因如此我们才需要众多标准
6: 基于上述范围,不难看出uProtocol并非试图解决所有专业场景——某些需求(例如车辆子域内的实时关键通信)更适合采用现有、专业化且本地化的解决方案。

人们手持智能手机、电子邮件图标和笔记本电脑的插图

联系我们

您有任何问题吗?请随时给我们留言。我们将非常乐意提供帮助。

现在就联系我们!