论文部分内容阅读
近年来嵌入式系统中软件规模与复杂度的迅速增长给高质量系统的设计、验证与维护带来许多重要挑战,传统的基于代码的测试与分析技术方法已经不能满足一些安全关键领域中的嵌入式软件高质量的需求。针对目前在无人机领域中相关控制软件系统仍然是以代码为中心的构造方法、缺乏现代软件工程建模与分析技术的现状,本文采用模型驱动工程(Model DrivenEngineering: MDE)的方法,对一类典型无人驾驶航空器的飞行控制软件系统的测试与维护技术展开研究,主要工作包括如下几方面内容:首先,采用模型驱动工程(MDE)的架构,对只有源代码的某型无人机飞控软件展开逆向工程分析,抽取系统结构模型和动态行为模型;系统结构模型采用嵌入式实时系统建模语言(Modeling andAnalysis for Real-Time Embedded systems: MARTE)来进行描述,系统行为模型则使用基于时间自动机(TimedAutomata)的形式化模型来表达。然后,结合无人机飞控软件的应用背景,设计了基于时间自动机模型的测试用例生成方法,包括建立测试用例生成框架、测试用例生成规则以及用例生成策略等;并通过对某型无人机飞控软件系统中的主控模块进行了建模与测试用例生成的实例分析研究。最后,针对某型无人机飞控软件在系统开发过程中缺乏有效的软件工程文档及维护方法的问题,本文设计了一个“无人机飞控软件理解维护支持系统”原型工具,提供代码文档映射、代码注释规范化和代码程序流程图抽取等功能,提高软件系统的可理解性和可维护性。