论文部分内容阅读
航电系统体系结构的发展经历了分立式、混合式、联合式,逐渐演变为现代化的综合模块化航电体系结构。这种结构使多个功能可以在一个平台上运行,有效地重用各种计算机资源。航空无线电通信公司为综合模块化航电体系结构制订ARINC653标准,ARINC653标准对时空进行分区,解决实时系统中共享计算机资源的的安全保护问题,并且给出综合模块化航空电子应用软件标准的接口规范。ARINC653标准给航电系统软件开发带来机遇的同时也带来挑战。传统代码编写的方法难以满足ARINC653标准对软件复杂性的要求,并且这种方法还存在开发周期长、误码率高的缺点。针对以上问题本文给出一种基于ARINC653平台的AADL(Architecture Analysis and Design Language)模型代码自动生成方法,这种方法是在模型驱动思想影响下产生的。AADL是当前嵌入式领域内的一种重要的体系架构设计分析语言,其能够支持自顶向下逐层精化的软件系统设计方法。文章在分析ARINC653标准体系结构基础上提出按照分层的结构进行代码生成的方法并对代码生成的各个环节进行深入研究。本文的主要贡献:(1)提出按照任务层、分区层、内核层的结构来生成代码的策略。在任务层为分区静态模型和动态模型映射生成运行在各个分区上的c语言代码;分区层为分区内通信生成配置代码;内核层为分区的内存、调度、分区间通信生成配置代码。(2)给出基于ARINC653的AADL模型到C语言代码映射规则。本文为AADL核心语义和行为附件制订映射规则,并在映射中考虑ARINC653安全性要求。映射规则分为三个层次,分别为任务层映射规则、分区层映射规则和内核层映射规则。在任务层映射规则中介绍了进程组件、线程组件、子函数组件、数据组件和行为附件语义的映射规则。分区层映射规则介绍了四种分区内通信机制的映射规则。内核层映射规则介绍了分区调度模型、分区内存模型、分区间通信模型到配置代码的映射规则。(3)设计代码生成器,并对各模块进行设计和实现。通过AADL模型实例对代码生成器进行测试。