机载软件建模语言与工具发展趋势综述
肖卫镇 杜辙
中国航空工业集团公司西安航空计算技术研究所 陕西省西安市 710065
引言
机载系统底层硬件平台的综合化为其承载的机载操作系统和机载应用软件带来了更大的发展空间,推动着航空制造业从电子密集型产业向软件密集型产业发展。国外航空制造业和各大研究机构在机载软件建模语言方面已经有了长足的发展,形成了大量成熟的领域建模工具,并朝着 “能力综合” 的方向迈进。本文对我国机载软件建模语言与工具的发展方向提出建议,最后总结本文的研究成果。
1 机载软件建模语言与工具发展趋势
1.1 软件维度的功能失效状态识别
由软件参与实现的系统功能,处理逻辑和设计约束通常较为复杂。本文结合软件特征,从功能丧失、取值异常、时序异常、通信异常、精度损失、意外执行、组合失效等维度,识别不同飞行阶段下的系统功能异常行为(即失效状态 FC):(1)功能丧失。有通告功能丧失、无通告功能丧失等;(2)取值异常。功能输出不准确或超限、功能输出不更新、控制不正确或输出超限;(3)时序异常。功能超时输出、功能提前输出等;(4)通信异常。输出格式错误、显示不完整等;(5)精度损失。输出精度损失、显示不清晰等;(6)意外执行。功能意外输出、误操作、虚警等;(7)组合失效。功能同时丧失或者错误(包含应急备份)、功能并行冲突等。
1.2 建模过程从关注软件开发局部过程转变为覆盖全生命周期过程
早期的建模语言和建模工具通常只关注软件开发过程中的某个局部过程,例如需求建模工具只关注需求分析阶段,而设计建模工具只关注软件设计阶段。随着模型驱动技术的发展,人们越来越意识到,为了保证软件开发过程中需求、设计、实现等各个阶段的一致性,需要使用统一的建模语言和建模工具来覆盖整个软件开发生命周期。
在需求建模阶段,传统的需求描述方式通常是自然语言文档,这种方式容易产生歧义性和不一致性。因此,近年来出现了各种基于模型的需求工程方法和工具,例如 IBM Rational DOORS Next Generation、Jama Connect 等,它们能够以图形化或表格化的方式对需求进行建模,明确需求之间的关系,并支持需求的追溯性分析。在设计建模阶段,除了传统的 UML、SYSML 等通用设计建模语言之外,针对机载软件领域的特定设计需求,也出现了各种专用的设计建模语言和工具,例如 AADL(Architecture Analysis & Design Language),它能够对机载系统的软件架构、硬件架构以及它们之间的映射关系进行建模和分析,特别适用于安全关键系统的设计。在代码生成阶段,模型驱动技术使得从设计模型自动生成代码成为可能,例如 MATLAB/Simulink、SCADE(Safety Critical Application DevelopmentEnvironment)等工具,它们不仅能够根据系统模型自动生成高效、可靠的代码,还能够针对不同的目标平台进行代码优化。在软件测试阶段,基于模型的测试技术也得到了广泛应用,通过对系统模型进行分析,可以自动生成测试用例,提高测试的覆盖率和效率,例如基于模型的单元测试工具LDRATestbed、基于模型的集成测试工具 ParasoftSOAtest 等。在软件维护阶段,由于系统模型能够清晰地表达软件的结构和行为,因此可以帮助维护人员快速理解软件的功能和架构,降低软件维护的难度。
1.3 建模的范围逐渐从解空间向问题域和平台空间延伸
软件开发要解决的核心问题是建立从问题域(应用问题)到解空间(软件)的映射,并最终通过将软件部署到硬件平台上来实现系统功能。而各种机载软件建模工具要解决的核心问题就是如何建立这个纵向过程的抽象并使用这些抽象来表述系统的构建过程。在机载嵌入式系统这个专用领域,由于软件系统的需求来源于飞机系统的顶层需求,同时软件功能的实现则更容易受硬件平台的各项性能指标的影响。因此,各种机载软件建模语言的建模范围正在逐渐从解空间向上延伸到问题域,并向下覆盖到平台空间,从而支持 DO-178C 所要求的“需求的可追溯性”和软硬件的协同设计与协同分析。在扩展通用语言这条主线上,UML-MATRE 建立了大量的资源模型,如处理器资源、内存资源、总线资源、设备资源等,将建模范围延伸到了平台空间。
2 未来发展的挑战和方向
2.1 形成多领域异构模型集成平台
当前国外机载软件建模语言与工具已开始走向“能力综合”阶段,即将各种“碎片化”的建模工具集成到一个大的建模环境中,完成各种异构、混成模型的集成和互操作。对已有工具进行综合所面临的最大挑战就是各种建模工具自身的平台差异、建模语言差异和数学理论基础的差异。而国内虽然没有自主创新的机载软件建模语言和工具,但同时也无需考虑以上各种差异,可以充分利用“后发优势”,充分借鉴国外建模工具长处,形成自主研发的、集成各种多领域异构模型、支持“能力综合”的模型集成平台,为搭建机载系统虚拟集成平台,达成“先建模,再制造”和“先验证,再制造”的先进制造思路提供支持。
2.2 开发具有自主知识产权的建模工具
基于我国航空产业的实际需求,开发具有自主知识产权的机载软件建模工具。在工具开发过程中,充分借鉴国际先进技术和经验,结合我国航空领域的特点和需求,进行创新设计。注重工具的功能完整性、易用性和可扩展性,确保工具能够满足从需求分析到系统实现的全生命周期开发需求。同时,加强对工具的测试和验证工作,确保工具的质量和可靠性。
2.3 建立健全标准体系
制定和完善机载软件建模语言与工具的相关标准,包括建模语言的语法、语义标准,建模工具的功能标准、接口标准等。通过建立统一的标准体系,促进不同建模工具之间的互操作性和数据交换,提高我国机载软件建模的规范化和标准化水平,也有利于推动我国自主研发的建模语言与工具在航空工业中的广泛应用。
2.4 加强产学研合作
加强高校、科研机构与航空企业之间的产学研合作,形成合力。高校和科研机构可以为企业提供前沿的技术研究成果和专业人才支持,企业则可以为高校和科研机构提供实际的工程应用场景和需求反馈,促进科研成果的快速转化和应用。通过产学研合作,加快我国机载软件建模语言与工具的研发和推广应用进程。
结语
机载软件建模语言与工具正朝着构件化、全生命周期覆盖、多视角建模以及综合化工具平台的方向发展。针对我国机载软件建模语言与工具的发展现状,提出了加强基础研究、开发自主可控工具平台、建立健全标准体系以及加强产学研合作等建议。希望通过这些建议,能够为我国机载软件建模语言与工具的发展提供一些有益的参考,推动我国航空装备制造产业的自主创新和可持续发展。
参考文献
[1]张潇,王立松,让涛.基于模型的综合航电平台初步设计[J].计算机与现代化,2016(6):29-35.
[2]王明明,胡军,张维珺,等.基于模型的 IMA 时间资源配置验证方法研究[J].计算机技术与发展,2018,28(5):32-37.
[3]杨海云,孙有朝,阮宏泽.基于 AADL 和 HiP-HOPS 的 IMA 系统安全性分.