当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于模型设计的嵌入式软件开发评估方法

随着客户需求范围的扩大和复杂性的增加,系统的逻辑与控制软件的规模和复杂性也随之扩大和增加。当各机构需要在越来越紧迫的时限内开发飞机和汽车应用所需的数百万行代码时,他们发现传统的开发流程已不再能够满足质量与时间的目标要求。将基于模型的设计用于嵌入式系统开发,可在开发过程早期发现缺陷并减少潜在缺陷总数,从而可以降低成本。基于模型的设计可以帮助公司在更短时间内以更低成本开发出质量更高的系统,具有颇具竞争力的优势。

传统开发方法对比基于模型的设计

在传统开发流程中,需求、设计、实现和测试任务在不同的工具环境下依次执行,其中涉及多个人工步骤(图1)。使用Microsoft Word或IBM DOORS等工具以文本方式捕获需求。不同设计使用针对该领域的不同工具实现,这使得系统级测试一直要到在软件或硬件中实现后才能执行。然后人工将设计转换成代码,这是个耗时且容易引入缺陷的过程。每个阶段中都会引入一些缺陷,从而使测试阶段成为要发现之前阶段中所积累的所有缺陷的清道夫。因此,测试阶段占到整个开发时间和成本的大头。缺少公用工具环境、多个人工步骤以及后期才能发现缺陷等因素都会延长开发时间、增加开发成本。


图 1. 传统开发方法需要许多会引入缺陷的不必要的人工步骤。

基于模型的设计(图2)以和传统流程相同的需求开始。但是,这些需求并不作为文本规范的基础,而是用于以模型的形式开发可执行规范。工程师使用这些模型来明确需求与规范。然后对这些模型进行细化,以开发需求更具体的设计。使用基于模型的设计工具,工程师可以在系统级对设计进行仿真,在实现之前发现界面缺陷。完成设计之后,工程师借助这些模型自动生成产品级代码和测试用例。此工作流程使工程师们从需求到测试阶段都能够处于同一环境中,从而减少了人工工作量。此外,当工程师们在模型中仿真可执行规范来验证其是否满足需求时,在需求阶段即可开始测试。这样便可及早发现和消除缺陷,降低开发总成本。


图 2. 基于模型的设计在整个开发过程中使用系统级模型作为可执行规范。这种设计方法支持系统级和组件级设计与仿真、自动代码生成以及连续测试与验证。

基于模型设计的优势

相比采用传统方法的机构,采用基于模型设计的机构可将成本降低20%到60% 。成本节约主要得益于更准确的需求分析以及早期和连续的测试与验证。由于使用了模型来仿真需求和设计,因此可在开发流程中早的多地发现缺陷;而处理早期发现的缺陷可成百上千倍地降低成本(图3)。


图 3 基于模型的设计可将缺陷发现提前到开发阶段早期。[!--empirenews.page--]

使用基于模型设计的 ROI 框架量化节约的成本

采用基于模型设计 的ROI 框架来进行评估。根据项目大小、团队规模和其它因素,该框架可使用基本构造性成本模型(COCOMO)计算出传统开发的成本,然后减去基于模型设计所节约的成本,即可获得基于模型设计的开发成本。之所以选用基本COCOMO模型原因是该模型是一种广泛用于航空和国防工业的通用参数成本估算工具,在上两个领域,采购成本的可计算性要求由缜密的模型来进行软件成本估算。然后便可通过计算软件成本和项目团队培训成本来计算ROI。该框架使用由软件工程协会(SEI)、电气和电子工程师协会(IEEE) 和行业研究所规定的指标。由于项目规模、现有流程和使用基于模型设计的团队的专业水准因行业和公司而异,因此可针对特定的项目和团队自定义基于模型设计的ROI框架。

我们看一个有500,000行代码的软件项目基线案例。使用基本COCOMO模型可以算出使用传统方法的开发成本大约为600万美元。为了计算基于模型的设计相比传统方法所节约的成本,每个开发阶段(需求、设计、实现和测试)都要根据行业指标进行分析。然后便可汇总出所节约的总成本,并从传统开发成本中将其减去。在本例中,基于模型设计的成本为300万美元,相比传统方法节约了50%。

为了实现50%的成本节约,该框架会检查基于模型设计所消除的传统开发流程中的低效情况,并根据行业指标和平均值计算出所节约成本。因每个开发阶段节约的成本是分别计算的,因此该框架适用于逐步采用基于模型设计的情况。

下文将讨论其中一种低效需求情况,以此来说明该框架是如何工作的。在需求阶段,使用模型来发现不明确、不一致或不可测试的需求,这使工程师能够更大比例地发现缺陷。基线案例的该增加比例假设为9%。在需求阶段发现这些缺陷,意味着可以避免开发阶段后期成本高昂的返工。未发现的这9%的缺陷乘以解决该类缺陷的平均时常即为部分需求成本的节约量,而该缺陷的根本原因在于不正确的需求。在基线案例中,各需求缺陷的平均处理时长为4.5小时。根据该计算,基于模型的设计可节约2,025个工程小时。图4演示了处理需求分析缺陷(pain point)的框架部分。该框架还包含其它七个处理不同低效情况的部分。


图 4. ROI 框架可计算通过在早期修正不正确需求而节约的工程小时数。

本例中,汇总整个开发过程所节约的成本时会发现,节约主要来自需求和测试阶段(图5)。这得益于更为全面的需求分析,从而减少了遗留到后续阶段的缺陷。简言之,更好的需求有助于更好的设计实现。尽早和连续的测试使得可在引入缺陷的各阶段本身就能发现并处理这些缺陷,这样就减少了遗留在软件中的潜在缺陷、降低了整体开发成本。


图 5. 需求和测试阶段节约的成本占总节约成本的大部分

MathWorks与采用基于模型设计的航空与汽车企业合作时,ROI框架有助于引导这一采用过程,使企业能够发现可立即、显著地从转用基于模型的设计中获益的领域。

本文小结

对大多数企业而言,投资新技术和新流程/工艺是一种有风险的尝试。本文介绍的投资回报计算旨在提供投资基于模型设计的替代分析方法。除了证明投资的合理性,ROI框架还可以使设计团队发现基于模型的设计可以带来最大节约的领域,以及通过进一步研究可大幅降低成本的领域。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京——2024年4月30日 亚马逊云科技持续引领云上数据服务创新,助力企业构建全面的数据基座以充分发挥数据潜力,加速生成式AI技术落地。在生成式AI时代,数据是企业脱颖而出的关键——基础模型依赖于大规模高质量数据集,生...

关键字: 生成式AI 数据 模型

上海2024年4月16日 /美通社/ -- 4月14日,为期四天的第89届中国国际医疗器械博览会(CMEF)盛大收官。澳鹏Appen很荣幸再次作为唯一的人工智能训练数据参展商参与此次"航母级"规模医疗...

关键字: APP 医疗器械 PEN 模型

福州2024年4月16日 /美通社/ -- 4月15日,第61届中国高等教育博览会(以下简称“高博会”)于福州隆重开幕。索贝以“视听新体验•数智向未来,让知识传递更加精准高效”为主题,携全新升级的智慧教育资源管理平台、课...

关键字: 模型 数字化 AI算法 质量评估

随着嵌入式计算设备基础硬件性能的提升,在通信、工业制造、交通运输等领域,嵌入式系统逐渐承担起更加综合化和关键的任务,这也导致嵌入式软件在结构愈加复杂的同时,其安全性问题也越来越受到重视。堆栈是嵌入式软件中的重要存储结构,...

关键字: 嵌入式软件 堆栈

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件

未知语音经过话筒变换成电信号后加在识别系统的输入端,首先经过预处理,再根据人的语音特点建立语音模型,对输入的语音信号进行分析。

关键字: 语音识别 语音 模型

通过大量的数据,训练出一个能处理此类数据的模型,使得这个模型可以根据已知的数据,准确率很高的判断出未知的数据,从而使得人类能够采取正确的方法去处理某些事情。

关键字: 机器学习 模型 图像

● 颠覆性的专用软硬件加速平台;利用GPU和CPU计算以及专有软件算法,提高准确度、速度和规模的同时,带来高达100倍的设计效率提升; ● 与传统HPC相比,支持GPU-resident模式的求解器可将仿真能效显著提高2...

关键字: AI 仿真

● 热、应力和电子散热设计同步分析,让设计人员可以无缝利用ECAD和MCAD对机电系统进行多物理场仿真; ● 融合FEM和CFD引擎,应对各种热完整性挑战——从芯片到封装,从电路板到完整的电子系统; ● Celsius...

关键字: AI 仿真
关闭
关闭