如何管理嵌入式开发中产生的数字资产?ACT汽车电子与软件技术周演讲回顾

2023 ATC汽车电子与软件技术周已于8月18日在中国上海落下帷幕。展会现场,龙智技术支持部负责人、Atlassian认证专家叶燕秀与龙智技术工程师邱洁玉共同为观众带来了主题为“更好、更快、更安全:嵌入式开发中的最佳实践与工具链构建”的演讲,分享她们在嵌入式开发中的最佳实践和经验。

上一期,我们呈现了叶燕秀分享的如何精细化管理汽车嵌入式软件项目,点此回顾。

本期回顾将呈现龙智技术工程师邱洁玉的演讲部分,分享如何管理汽车软件开发中产生的庞大数字资产,以及汽车行业的代码合规实践。

以下是演讲视频:

演讲回顾 | 更好、更快、更安全:嵌入式开发中的最佳实践和工具链构建(2)

以下是演讲文字实录:

大家下午好,我是龙智技术工程师邱洁玉,很高兴在此与大家分享我在汽车嵌入式开发领域的经验与见解。

此次演讲分为两大部分,分别是数字资产管理与代码合规实践。

在汽车嵌入式开发领域,版本控制是一种常见且极其重要的软件工程实践。它能够帮助管理代码变更、追溯问题,以及促进团队协作。然而,随着项目规模和复杂度的增加,它也会面临到一些挑战。

  • 第一个问题,版本、分支管理难度增加。当涉及到车型时,可能客户对每款车型都有独特的需求。这时,技术人员需要针对不同特性、不同车型来定制化相应的版本,创建出一些分支。技术人员需要确保每一个分支都能及时地合并到主干代码更新中,例如新增特性和修复问题,同时还需确保分支之间的隔离性。

  • 第二个问题,海量数据分散在不同的地方,共享和使用困难。因为无法存储大数据量,或是根据部门实际情况数据会存在多个分散的版本控制系统。这些系统需要独立地管理和维护,团队和部门需要付出额外的努力来保障资源共享。比如在汽车嵌入式领域,很多代码需要进行复用,这些复用的代码存在于不同的项目、不同的服务器中。开发人员需要先找到对应的服务器,再开通各种服务器权限,整个流程非常繁琐。

  • 第三个问题,需要高效的跨地域协作。团队成员分散在不同地区,难以面对面交流。如果版本控制系统无法保证开发工作的同步以及自身的稳定性,就会导致团队成员响应速度变慢,解决问题的时间变长,最终影响质量和交付。

  • 另一个问题,安全及审计需求难以满足。在汽车嵌入系统中,可能涉及很多知识产权,像专利、商业机密等。针对这类敏感文件,需要灵活的分配权限,并且在需要的时候将权限收回。

  • 还有,在有新增团队成员的情况下,或是现有的团队成员的角色变更时,能迅速顺利地调整和分配权限。这也是很多客户的共同诉求。

  • 另外,审计日制对版本控制系统也非常重要。如果没有审计日制,就无法记录用户的活动,也就无法监控开发工作中的违规行为和异常情况。当真正出现安全事件时,追溯事件源头会变得非常困难。

在数字化时代,设计资料、代码、配置项生成物……这些都是数字资产。数字资产不仅是储存在电脑上的一个个文件,也是个人和团队的智慧结晶。它可能经过日日夜夜的精心设计,或是经历反复思考和验证。在这个研发流程中,版本控制软件一直处于核心位置。它管理着这些宝贵的资产,确保它们安全、有序。

那么,既然版本控制系统如此关键,我们必须要一款强壮的版本控制系统来提供服务。

强壮的版本控制系统需具备高性能,高性能体现在多个方面。

  • 首先,能够同时支持上万名用户的使用,并处理数百TB级别的数据。

  • 其次,具备出色的分布式部署能力,可随时根据需要在不同地区部署集群节点,以便异地用户访问。

  • 此外,能支持每天数以千计的流水线构建,因为自动化构建是当前的主流方法之一。

  • 兼容性也是强壮版本控制系统的特点之一,它可以同时兼容不同用户的偏好,例如像Git这样的常见工具,在开发领域有广泛的应用。这种兼容性使开发者能够继续使用他们熟悉的Git工具,同时享受企业级版本控制系统的强大功能。

  • 另一个特点是安全性,强壮的版本控制系统确保数据的安全性,它是唯一可信的数据源,并具有多种方式进行用户认证的能力。它还提供了灵活而强大的授权控制,可以精细到文件级别,根据用户组、角色和访问IP实现授权控制。此外,它还允许将权限授予非管理员用户,以协助管理权限。

  • 审计日志也是关键特点,管理员可以利用审计日志跟踪文件的访问细节,了解哪个用户在什么时候对什么文件进行了什么操作。这对于管理数字资产的创建和维护非常重要。

  • 最后,强壮的版本控制系统可以与当前领域中的常用工具(如Lapview和MatLab等)无缝集成,确保整个工作流程的顺畅。

如何管理嵌入式开发中产生的数字资产?ACT汽车电子与软件技术周演讲回顾_第1张图片

在这里,和大家分享一款Perforce旗下的版本控制系统——Helix Core。作为一款企业级的版本控制系统,Helix Core具备可信数据源、高速存储的能力、强大的分支管理、高度的可伸缩性、企业级的安全性,并且能够与常用工具无缝集成等。它已为国内外许多汽车领域的企业提供了服务。

在芯片行业,经常会提到一个词“IP”,它指的是具有独立功能的电路模块设计。实际上,IP的概念可以更广泛地泛化,包括软件模块、硬件图纸和配置文件等。Perforce旗下的Methodics IPLM 是一款在IP层级进行数字资产管理的工具。这个工具构建在版本控制系统(Helix Core、Git、SVN等)之上。

Methodics IPLM可以使用独立的服务器来管理存储在不同版本控制系统上的资产,并且能够追踪IP版本的变更历史以及IP之间的关系。例如当前的IP被哪些项目所使用、每个IP包含了哪些子IP。

另外,仅用一条命令,IPLM就可以把包含很多IP的复杂项目加载到本地工作区。当数据量很大时,可以使用公用缓存技术,能够有效减少加载时间,节省本地的磁盘空间。

在汽车嵌入式的推进过程中,每个阶段都会产生很多的交付。例如图纸版本、软件版本、测试报告版本等,这些版本之间的关系需要额外记录。而IPLM可以将这些信息集中起来,明显展示它们之间的关系,并在需要时,通过一条命令将所有的IP统一加载到本地工作区。

Methodics IPLM的一些特点包括:

  • 帮助团队追溯所有的IP和元数据

  • 帮助企业建立一个通用的发布方法

  • 管理所有设计的BoM

  • 简化复杂IP体系结构的管理

  • 支持与周边系统(例如Jira、EDA等)无缝集成

如何管理嵌入式开发中产生的数字资产?ACT汽车电子与软件技术周演讲回顾_第2张图片

这张图展示了Methodics IPLM的可视化界面。展示了当前IP的属性以及发布版本。像这样的发布版本的背后,可能是多个文件的多次提交。例如当前提交了一次文件后,如果企业需要进行一次内部验证,我们就可以发布一次IP版本。

质量与合规

在汽车嵌入式开发领域,代码质量会直接影响到产品的性能和安全。一起来看下这张图,有85%的缺陷都是在开发阶段引入的。

如何管理嵌入式开发中产生的数字资产?ACT汽车电子与软件技术周演讲回顾_第3张图片

如果通过传统的方式,我们会在测试阶段和发布阶段发现很多问题。红色的曲线表示,在开发阶段解决问题的代价很低,在测试阶段解决问题的成本成倍增加,到了发布阶段,成本已经呈指数级增长了。

因为开发阶段的代码量相对较少,复杂性也不高,定位问题和修复问题的成本都较低。到了开发的中期,解决问题可能涉及多个模块的更改,特别是到了发布阶段,解决问题的手段可能是紧急的软件更新或召回。所以,越早发现问题解决的代价就越低。

那么,为何不将发现问题的时机左移到开发阶段呢?在开发阶段,可以依靠开发人员的专业素养或评审发现问题。但在汽车嵌入式领域,可能涉及到很多项目或源代码,如果想要提高代码质量,就需要借助静态扫描工具。

好的静态扫描工具需具备以下特点:

  • 误报率、漏报率低

  • 检查规则全面

  • 扫描速度快

  • 对开发人员友好

  • 易与CI工具集成

静态扫描工具不仅能提高代码质量,还可以帮助满足各种合规要求。汽车行业通常会要求企业满足各种合规性要求,常见的行业合规标准有ISO 26262和ISO 21434等。

可以通过代理标准来满足汽车合规标准。具体请看这张图:

如何管理嵌入式开发中产生的数字资产?ACT汽车电子与软件技术周演讲回顾_第4张图片

其中,ISO 20202 要求低复杂度。静态扫描工具可通过圈复杂度或路径复杂度这两条指标,也可通过Misra质量标准,来满足低复杂度的行业标准要求。

通常,企业在进行合规认证时需要准备大量资料。大部分企业无法很好地掌握满足合规的方法。静态扫描工具提供了合规指导包,其中包含了工具本身的认证证书、工具覆盖率详情、生成报告的插件、产品的认证报告,以及行业标准和代码质量标准之间的关系。它能够有效减轻企业认证的工作量。

我在此分享两款Perforce旗下的静态扫描工具。它们不仅能够帮助提高代码质量,同时也能满足合规性要求。Helix QAC在C/C++静态代码分析领域有30多年的历史,符合功能安全标准(如ISO 26262),能够帮助您满足合规需求。它的代码标准覆盖率很高,并且准确率高、漏报率低。

Klocwork这款工具支持多种语言,包括C,C++,C#,Java, JavaScript, Python, Kotlin等。它本身通过多种行业标准,如ISO 26262等。它的特点是支持千万行代码的大型项目,界面友好、易于使用。这两款工具已被行业中多家客户所使用。

以上是我的分享,希望对大家有所帮助,谢谢!

你可能感兴趣的:(汽车,数据库,大数据)