0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分层架构更快地提供更可靠的汽车应用

星星科技指导员 来源:嵌入式计算设计 作者:Roland Krause 2022-06-17 15:48 次阅读

今天的消费者已经习惯了快速的创新步伐。移动和网络应用程序可以快速开发和更新,因此总有一些新东西可以吸引消费者——这一现实提高了他们的期望。不幸的是,对于汽车制造商而言,开发车载信息娱乐 (IVI) 系统的传统方法通常具有开发时间长的特点。IVI 更新可能需要数月甚至数年。结果?汽车音响主机的开发成本高昂且耗时,在它们首次进入市场时已经有些过时了。

不为所动,消费者经常拒绝这些系统,使原始设备制造商处于不稳定的境地。那么汽车原始设备制造商如何才能获得市场认可呢?他们和他们的一级供应商如何在不依赖不符合汽车安全和安保要求的移动技术的情况下快速构建有吸引力、有竞争力和安全的信息娱乐系统?一个有效的解决方案是依赖分层的软件架构。

通过分层软件架构,开发人员可以创建独立的组件来解决整个系统功能的特定部分。这些组件通过定义明确且稳定的接口进行通信,从而实现高性能实现。这种方法不仅需要了解需求,还需要完全了解用户体验 (UX)。最成功的软件项目通过允许 UX 设计指导和规定实施过程的所有步骤来引领 UX。

用户体验优先

现代应用程序的一个重要要求是它们看起来直观漂亮,带有有意义的动画和简单、易于识别的图形和图标。这使得应用程序易于使用、易于识别并吸引消费者。这对于在全球销售的产品尤其重要,因为用户界面必须易于翻译成不同的语言并适应不同的文化。

他们通常需要在具有各种屏幕尺寸和方向的不同设备上运行。现代 UI 工具包有能力应对这些挑战。带有 CSS、iOS Swift 或 Qt 工具包的 HTML5 是非常流行的选择,用于干净地构建解决应用程序外观和感觉的软件层。

无论使用哪种工具包,使用 UX 设计领导一个汽车项目都可以使这一切成为可能——而且比使用更传统的方法更容易。现代 UX 设计支持直观、实用的工作流程,允许用户快速完成他们需要做的事情,而无需通过学习说明手册来实际“了解”应用程序的工作原理。这通常是通过用简单的层次结构组织应用程序、将专家级功能隐藏在访问级别后面以及从流行的移动电话应用程序的流动方式中吸取教训来实现的。

此工作流的实施需要一个软件架构,该架构为最顶层的“外观”提供编程主干。为了使复杂的外观和感觉变得简单,必须选择一种系统化的方法,以允许用户在应用程序中的页面或项目组之间切换、导航、到达“设置”、被打断,然后轻松找到返回的路径重点。使用状态机架构可以提供所需的灵活性,同时保持所需的稳健性和可测试性。

遵循用户体验优先的分层方法

遵循 UX 优先的分层架构方法是简化汽车 IVI 开发的一种方法,该汽车 IVI 在美学上吸引消费者,同时提供广受欢迎的功能。这种类型的方法包括可视化、表示、业务逻辑和通信层,依赖于组件来简化流程。

例如,可视化和表示层为用户提供了一种与应用程序交互的方式。但仍有实际功能的实现,例如,当用户界面想要在通讯录中显示联系人列表时,应用程序必须从存储中检索此数据,无论是在数据库中,还是在连接的手机上,来自一个简单的文件,一个网络连接或其他地方。

所有应用程序都必须实现某个逻辑块,即“业务逻辑”层。例如,这就是农业行业供应商的算法确定是否以及在何处可以优化喷洒在田间的产品水平的地方。组织此逻辑并将其与表示层和可视化层解耦对于应用程序开发过程的有效性至关重要。对于旨在提供出色用户体验的公司而言,这一层是他们最具差异化潜力的地方。

在开发过程中,必须“模拟”某些需要专门硬件或长时间运行过程的组件——用模拟功能代替。可以部署基于接口和插件的系统来实现这一目标,其中应用程序的表示层通过一组明确的接口访问业务逻辑,从而与这些层中的更改或正在进行的开发过程隔离开来。然后可以在模拟数据和模拟的帮助下测试应用程序的可用性。这一过程已被证明可以带来更具成本效益、更实用、更完整和更好的应用程序。

这就是通信层的用武之地。为了实现上述目标,几乎所有现代应用程序都以某种方式进行通信。汽车 IVI 通常使用 CANBus 层来确定各种车辆子系统的状态,而医疗设备已经验证和验证了通信库,例如,可以使机器人手臂在手术期间执行高度精确的运动。

此外,几乎所有应用程序都需要可更新,能够提供有关其用途的信息以用于聚合和营销目的,或者只需要在线数据库访问才能充分发挥作用。因此,将应用程序逻辑的这一部分分组到通信层是一个合乎逻辑的选择,并带来了许多优势。

无需重写应用程序即可交换通信渠道。安全和安保可以集中在少数几个地方实施,从而最大限度地减少攻击面。分层实现允许进行优化,使应用程序“活着”,而重要的进程在后台发生。当架构建立在通信层上时,非阻塞通信模式更容易实现。

4 层架构示例

以下是集成计算机解决方案版本的分层方法的概述,显示了明确的功能分离,特别适用于必须遵守安全法规的所有项目。以这种方式进行工程可以强制执行非常适合集成和单元测试的干净且可维护的软件。

pYYBAGKsMhaAPSqUAAOT0njrLY0564.png

该架构的四个独立层由可测试和可模拟的接口定义。对从下层到上层的所有通信强制执行松散耦合。这保证了后端与前端的独立性。使用许多通用框架可以轻松实现所谓的信号。按照惯例,所有顶层都可以通过 API 和接口调用下面的层。这会创建自上而下的紧密耦合,确保确定性通信模式和应用程序逻辑的执行很重要。

这些是各个层的角色:

可视化层负责用户在屏幕上看到并与之交互的所有内容。它负责显示所有文本、图像、图标、主题、样式、动画等。该层可以使用许多不同的技术来实现。(我们经常推荐使用 Qt 框架,在这种情况下,这一层将使用 Qt 的 QtQuick 模块来实现。)

表示层维护应用程序和用户界面状态。它负责存储屏幕上显示的值。例如,刻度盘上设置的值存储在表示层中,但显示在可视化层中。表示层实现应用程序的工作流以及工作流与后端的所有交互(例如,如果来自后端的错误消息到达,表示层逻辑在屏幕上显示包含错误消息的对话框)。

应用逻辑层实现应用的业务逻辑。它负责数据存储、数据库交互、来自后端的事件处理以及与前端的交互。该层处理实现用户界面所需的“领域知识”。例如,对于当前的应用程序,这一层将实现“测试运行”、“查看结果”、“用户管理”的业务逻辑以及软件需求规范中定义的几乎所有其他任务。

通信层实现与硬件设备、网络或其他系统的通信。硬件合作伙伴通常负责为实际硬件提供接口,并使用共同开发的 API 实现必要的通信例程。这一层特别允许使用可模拟接口,这些接口可以在实际硬件完成并可用之前进行独立测试。

这种定义良好的架构便于使用可重用代码,并且层的解耦可以实现 UX 设计人员、UI 实现、业务逻辑提供者和硬件合作伙伴之间的工作分工。它进一步允许将任务轻松分配给正确的技能集。总体而言,这些特点大大降低了项目开发风险。此外,这种分层架构方法允许公司更快地构建原型,并立即与 UX 设计师一起迭代工作流程。

为了跟上消费者的需求,汽车制造商必须加快构建有吸引力、安全的信息娱乐系统的速度。依靠包含可重用代码的分层软件架构,而不是依靠定义不太明确的移动技术,可以显着缩短上市时间,从而使汽车制造商能够以创纪录的速度冲过终点线。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28068

    浏览量

    205765
  • 汽车电子
    +关注

    关注

    3023

    文章

    7811

    浏览量

    165902
收藏 人收藏

    评论

    相关推荐

    架构与设计 常见微服务分层架构的区别和落地实践

    架构风格越倾向于清晰的职责定位,且让领域模型成为架构的核心。 基于这些架构风格,在软件架构设计过程中又有非常多的架构
    的头像 发表于 10-22 15:34 113次阅读
    <b class='flag-5'>架构</b>与设计 常见微服务<b class='flag-5'>分层</b><b class='flag-5'>架构</b>的区别和落地实践

    【「嵌入式Hypervisor:架构、原理与应用」阅读体验】+全文学习心得

    汽车电子、航空航天等。通过具体案例,我了解到嵌入式Hypervisor在这些领域中的重要作用和价值。 在物联网领域,嵌入式Hypervisor能够实现物联网设备的灵活配置和管理,提高系统的可靠性和安全性
    发表于 10-09 19:11

    服务网格DPU卸载解决方案

    服务网格(Service Mesh)是微服务架构中的一种重要技术,它主要处理服务之间的通信,为服务间的信息交换提供更安全、更快速且更可靠的基础设施层。服务网格将服务治理从业务逻辑中剥离
    的头像 发表于 09-20 16:25 223次阅读
    服务网格DPU卸载解决方案

    罗森伯格H-MTD连接器助力汽车制造商设计并实现区域架构

        随着辅助和信息娱乐系统数量和复杂性的不断增加,车辆布线系统面临越来越大的挑战。为应对这一挑战,罗森伯格H-MTD 连接器保证了可靠高效的数据传输,为未来的汽车区域架构提供支持。
    的头像 发表于 07-31 16:42 815次阅读

    EtherCAT总线冗余让制造更安全更可靠更智能

    EtherCAT总线冗余赋能生产更可靠保障!
    的头像 发表于 07-09 10:58 474次阅读
    EtherCAT总线冗余让制造更安全<b class='flag-5'>更可靠</b>更智能

    为什么加速数据处理对各行各业的AI创新都至关重要

    在各行各业,AI 正在用机器驱动的计算来推动创新。在金融领域,银行正在使用 AI 更快地检测欺诈行为并确保账户安全;电信公司正在使用 AI 优化网络以提供优质服务;科学家正在使用 AI 开发治疗罕见
    的头像 发表于 07-05 10:46 638次阅读

    SolidWorks科研版更快地开发产品创意

    功能强大的三维设计软件,为科研人员和设计师提供了强有力的支持,使他们能够更快地开发产品创意,从而在市场中抢占先机。
    的头像 发表于 06-19 16:49 234次阅读

    小鹏汽车与大众汽车宣布签署E/E架构技术合作框架协议

    是其垂直集成的全栈软硬件技术的核心。它支持ADAS和Connectivity OS等软件与底层硬件和车辆平台解耦,实现跨平台软件的快速迭代。小鹏汽车最新一代E/E架构采用基于中央计算和域控制器的架构
    的头像 发表于 04-23 14:49 456次阅读
    小鹏<b class='flag-5'>汽车</b>与大众<b class='flag-5'>汽车</b>宣布签署E/E<b class='flag-5'>架构</b>技术合作框架协议

    不能独立开发,是因为你不懂软件架构

    不想错过,记得右上角-查看公众号-设为星标,摘下星星送给我嵌入式软件架构设计一般采用分层思想,称为“分层架构”。part1一、什么是分层
    的头像 发表于 03-15 08:09 929次阅读
    不能独立开发,是因为你不懂软件<b class='flag-5'>架构</b>

    汽车ECU一般采用芯片架构?使用什么系统?

    汽车ECU一般采用芯片架构,使用什么系统?
    发表于 02-01 06:09

    为什么GPU比CPU更快

    GPU比CPU更快的原因并行处理能力:GPU可以同时处理多个任务和数据,而CPU通常只能一次处理一项任务。这是因为GPU的架构使得它可以同时处理多个核心,从而实现高效的并行计算,这是GPU在处理
    的头像 发表于 01-26 08:30 2109次阅读
    为什么GPU比CPU<b class='flag-5'>更快</b>?

    智能网联汽车电子电气架构详解

    汽车电子电气架构正在由传统的分布式架构向域集中式和中央集中式演进, 并继续演进至车路云一体化协同。智能网联汽车整体软件架构需要采用 SOA
    的头像 发表于 01-17 09:24 2098次阅读
    智能网联<b class='flag-5'>汽车</b>电子电气<b class='flag-5'>架构</b>详解

    设计800V车辆架构时需要注意什么

    它们。但是,转向800V架构意味着对车辆架构进行一些必要的调整和优化。物理挑战充电时,只有两种方法可以更快地为电动汽车供电:提高电流或提高电压。提高电流,所有在车
    的头像 发表于 01-04 08:26 575次阅读
    设计800V车辆<b class='flag-5'>架构</b>时需要注意什么

    SOLIDWORKS在驾驭快速发展的科技环境的同时更快地构建产品

    SOLIDWORKS在驾驭快速发展的科技环境的同时更快地构建产品,高科技公司需要保持竞争力和相关性,同时在快速发展的环境中化解设计和运营复杂性、高质量的交付和利润压力。
    的头像 发表于 01-03 14:09 253次阅读

    让“可靠”变得“更快更安全”的数据传输协议:SCTP

    SCTP(Stream Control Transmission Protocol,流控传输协议)的出现,并不是万丈高楼平地起,而是站在TCP这个巨人肩膀上,让数据传输从“可靠”变得“更快更安全”。
    的头像 发表于 12-28 17:25 1305次阅读
    让“<b class='flag-5'>可靠</b>”变得“<b class='flag-5'>更快</b>更安全”的数据传输协议:SCTP