使用MATLAB和Simulink开发嵌入式软件之模型质量目标.docx
《使用MATLAB和Simulink开发嵌入式软件之模型质量目标.docx》由会员分享,可在线阅读,更多相关《使用MATLAB和Simulink开发嵌入式软件之模型质量目标.docx(8页珍藏版)》请在第一文库网上搜索。
1、使用MAT1AB和Simu1ink开发嵌入式软件之模型质量目标模型质量目标(Mode1Qua1ityObjectives,以下简称MQO)的标准是由一流的汽车厂商和MathWorks公司共同制定,目的是当在嵌入式软件开发中OEM和供应商进行Simu1ink模型共享时,可以清晰定义并简化双方的协作,并最终提高软件产品的质量和完整性。首先,基于软件开发生命周期的四个不同阶段用到的四种设计模型,本文定义了一套软件开发方法。然后,针对每种模型,提出了一个名为MQO的特定质量目标。每个目标被定义为一组质量特征和一些可衡量的标准,称为模型质量要求(Mode1Qua1ityRequirement,MQR)0
2、此外还提供了一些额外的规范,来管理与MQO和MQR相关的计划和质量评估活动。在文章最后也对汽车工业采用MQO的预期影响进行了总结。为什么制定模型质量目标为了加速嵌入式软件的开发,用Simu1ink软件开发的设计模型在业界广泛使用。这些模型使工程师能够完成各种工程任务,如频域分析、桌面仿真、形式验证和自动代码生成。这个开发过程被称为基于模型设计。出于验证需求和快速地探索设计方案的目的,可以在非常早期的阶段开发设计模型。这些模型也可以逐步改进,直到它们达到一定成熟度,可生成符合国际软件安全标准的代码。为了逐步增加设计模型的成熟度,需要涉及到系统工程、控制工程和软件工程等不同的工程学科。使用相同的语
3、言、工具和模型进行协作,是提高工程师之间的沟通、降低工程费用和缩短开发时间的好方法。然而,由于在不同的项目阶段使用设计模型有不同的规程,可能会出现关于模型的作用和它们代表的内容间的混乱。对模型代表的内容的错误解释会导致错误地使用这些模型,并最终影响所产生的软件的质量。参与制定MQO的OEM和一级供应商分享了许多关于成熟度不够或存在漏洞的模型被过早地确定为可用于编码的惨痛案例。因此,有可能出现超出计划的开发人力投入、问题、与职责相关的争论等。为避免这种情况,文章旨在阐明设计模型在嵌入式软件开发中的作用,并规范可测量的标准,以验证其质量。这种方法的灵感来自于2010年由一些汽车厂商和MathWor
4、ks定义的软件质量目标(SoftwareQua1ityObjectives,SQO),当时汽车制造商和供应商之间的大多数交流都是基于文本规范和手工代码。在以下方面,这种方法还可更进一步:模型共享的规范化,于2014年由BOSCh0所定义;ISO26262-6等软件安全标准所推荐的技术与措施的实现。制定模型质量目标的目的是:1 .为软件开发定义设计模型的主要用例2 .根据它们的用例,定义评估模型质量的标准和通用方法软件开发和模型设计文章定义了一种基于四类设计模型的开发方法,这些设计模型支持V流程的左侧。图1:基于模型设计/MQO软件生命周期基于模型设计/MQO的软件开发生命周期包含五个具体阶段,
5、见图1中标示的1到5。后面也将讲述有关阶段的更多细节。图2列出了基于模型设计/MQO的软件开发生命周期与业界其它软件开发生命周期的映射关系。设计模型所支持的阶段已用黑色背景突出显示,基于模型设计(Mode1-BasedDesign,简称为MBD)。图2:基于模型设计/MQ。的软件阶段与其他工业标准的对照3456软件计划阶段本节定义了在准备使用设计模型前必须执行的计划活动。这些活动在使用功能模型时是推荐的,在使用架构、组件设计和组件实现模型时是强制要求的。这些概念中的大多数已经在诸如Do-331之类的安全标准中得到贯彻。范围定义:不是所有的设计模型都适用于所有的项目。例如,基于模型设计的范围可以
6、简化为单个软件组件的开发,或者只被用于支持软件架构设计规范。项目应定义设计模型所支持的软件开发阶段。在所属的软件开发阶段,每个设计模型都应该作为其所属阶段的工作产品被独立管理。工具定义:在项目开始时,支持设计模型的开发和验证的工具应该被鉴别和分类。如果项目要求,这些工具应是合格的。标准定义:在进入软件架构阶段之前,应该定义用于支持设计模型开发的建模标准。在进入软件组件实现阶段之前,应该定义用于支持设计模型开发的编码标准,或者最好在进入软件组件设计阶段之前定义。MQR识别和分配:在项目开始时,项目相关方应识别并同意MQRo一些MQR应该随项目需求(例如,模型和代码覆盖度准则)而调整。每个MQR都
7、将被分配给项目相关方。MQR的实现策略:一旦为项目定义了MQRr就应该定义实现这些目标的策略。策略可以包括与项目里程碑对应的中间步骤,特定培训,或工具迁移流程。例如,建议逐步提高覆盖度标准;不要等有了软件的最终版本,再执行大部分的测试开发工作。MQR一致性证明:在项目结束时,应该规划并证明项目MQR的一致性。对每个MQR的验证都应提供报告,这些报告由负责MQR的项目相关方提交。当不满足MQR时,必须提供充分的理由(例如,覆盖度未达标需要被证明是合理的)。负责合规评估的人应当具备理解这些理由的必要技能。软件需求阶段本节重点介绍软件需求阶段开发的功能模型。功能模型的作用是澄清和细化复杂的动态行为,
8、这些行为将被转化为软件需求。在大多数情况下,功能模型和软件需求由负责软件需求的人同时开发。功能模型工程师帮助固化软件需求(what),而在鉴别好的设计方案(how)方面则有待在设计和实现阶段进一步精细化。功能模型通常被称为可执行规范,因为它提供了满足功能需求的功能行为。然而,功能模型并不能取代软件功能需求。功能模型用于软件需求的验证活动。功能模型侧重于算法和方程的正确性,它不必考虑与嵌入式软件开发相关的设计约束。然而在开发功能模型时,应该预测硬件平台的主要特征及其对软件需求的影响。如果软件功能需求易于实现,则可能不需要功能模型,也无需在功能模型中表达全部功能需求。图3展示了一个连续时间功能模型
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 MATLAB Simulink 开发 嵌入式 软件 模型 质量 目标