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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Roland Krause 2022-12-01 14:42 次阅读

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

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

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

用户体验优先

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

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

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

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

遵循 UX 优先的分层方法

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

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

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

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

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

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

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

4 层架构示例

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

pYYBAGOITPiAY4BOAAPfjKRUVEA598.png

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

以下是各个层的角色:

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

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

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

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

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

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

审核编辑:郭婷

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

    关注

    19

    文章

    7511

    浏览量

    88128
  • 应用程序
    +关注

    关注

    37

    文章

    3277

    浏览量

    57738
收藏 人收藏

    评论

    相关推荐

    如何挑选更可靠的电子负载厂家?

    在面临众多电子负载厂家时,选择确实可能会变得复杂。但只要我们依照以下的建议和步骤,选择到可靠的电子负载不是问题哦!例如源仪TET是深圳电子负载厂家之一,它的售后就很完善,不仅是上门维修还是上门技术指导和培训,都做的很到位。
    的头像 发表于 11-21 09:44 170次阅读

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

    架构风格越倾向于清晰的职责定位,且让领域模型成为架构的核心。 基于这些架构风格,在软件架构设计过程中又有非常多的架构
    的头像 发表于 10-22 15:34 262次阅读
    <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 325次阅读
    服务网格DPU卸载解决方案

    这样设计SD/TF卡的PCB更高效、更可靠

    SD卡是一种基于半导体快闪存储器的新一代高速存储设备,它是目前应用最广泛的数字存储卡之一。SD卡可以提供高存储容量、快速数据传输率、极大的移动灵活性以及很好的安全性,它被广泛地应用于便携式装置上
    发表于 09-03 17:01

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

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

    汽车功能安全与可靠性的关系

    当前,随着汽车领域的飞速发展,汽车也被重新定义。在汽车电子电气系统设计时,离不开对功能安全和可靠性设计的考虑。正确理解两者之间的关系,有助于更好地分析问题和解决问题。什么是
    的头像 发表于 07-13 08:28 3226次阅读
    <b class='flag-5'>汽车</b>功能安全与<b class='flag-5'>可靠</b>性的关系

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

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

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

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

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

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

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

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

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

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

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

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

    为什么GPU比CPU更快

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

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

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