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

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

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

在传统开发流程中,需求、设计、实现和测试任务在不同的工具环境下依次执行,其中涉及多个人工步骤(图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框架还可以使设计团队发现基于模型的设计可以带来最大节约的领域,以及通过进一步研究可大幅降低成本的领域。

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭