计算机与现代化 ›› 2020, Vol. 0 ›› Issue (06): 52-.

• 软件工程 • 上一篇    下一篇

基于AADL的航天嵌入式软件Ada代码自动生成方法

  

  1. (1.南京航空航天大学计算机科学与技术学院,江苏南京211106;
    2.高安全系统的软件开发与验证技术工信部重点实验室,江苏南京211106;3.上海航天电子技术研究所,上海201109)
  • 收稿日期:2019-10-19 出版日期:2020-06-24 发布日期:2020-06-28
  • 作者简介:冯思喆(1994-),男,四川西昌人,硕士研究生,研究方向:安全关键实时系统,E-mail: f544302686@qq.com; 杨志斌(1982-),男,副教授,博士,研究方向:安全关键实时系统,形式化验证; 薛垒(1982-),男,高级工程师,硕士,研究方向:航天软件测试验证。
  • 基金资助:
    国家自然科学基金资助项目(61502231); 国家重点研发计划项目(2016YFB1000802); GF 基础科研重点项目(JCKY2016203B011); 江苏省自然科学基金资助项目(BK20150753); 中央高校基本科研业务费专项资金资助项目(NP2017205); 南京航空航天大学研究生创新基地(实验室)开放基金资助项目(kfjj20181603)

Automatic Generation Method of Ada Code for Aerospace Embedded Software Based on AADL

  1. (1. College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing 211106, China;
    2. Key Laboratory of Software Development and Verification Technology for High Security Systems, Ministry of Industry and Information
    Technology, Nanjing 211106, China; 3. Shanghai Aerospace Electronic Technology Institute, Shanghai 201109, China)
  • Received:2019-10-19 Online:2020-06-24 Published:2020-06-28

摘要: 模型驱动开发方法逐渐应用于航空航天等领域的安全关键软件设计与实现中。体系结构分析设计语言(Architecture Analysis and Design Language, AADL)是一种标准化的嵌入式软件体系结构描述语言,通过建模、验证以及代码自动生成为安全关键软件的设计与实现提供完整支持。然而,工业界实际代码是运行在具有不同特性的目标平台上的,例如不同的软硬件体系结构和编程接口,而现有AADL代码生成研究主要是通过手工将自动生成的代码集成到平台当中,存在工作繁琐且易出错的问题。为此,本文提出一种基于AADL的航天嵌入式软件Ada代码自动生成方法。首先,给出卫星姿轨控系统的AADL建模;其次,给出AADL到平台相关的Ada代码自动转化规则;最后,给出代码生成原型工具,并对卫星姿轨控系统AADL模型所生成的代码进行航天编码规范检查,并运行在相关仿真环境中,验证了本文所提方法的有效性。

关键词: 安全关键软件, 模型驱动开发方法, AADL, Ada, 代码自动生成

Abstract: Model-Driven Development (MDD) is gradually applied to the design and implementation of safety-critical software in aerospace and other fields.Architecture Analysis and Design Language (AADL) is a standardized embedded software architecture description language that provides complete support for the design and implementation of safety-critical software through modeling, verification and code generation.However, the code in the industry runs on the target platform with different characteristics, such as different hardware and software architectures and programming interfaces. The existing researches on AADL code generation mainly integrate the automatically generated code into the platform manually, which is tedious and error-prone. This paper presents an automatic generation method of Ada code for aerospace embedded software based on AADL.Firstly, the AADL modeling of satellite attitude and orbit control system is given.Secondly, the automatic transformation rules of Ada code related to AADL to platform are given. Finally, a prototype tool for code generation is given, and the code generated by the AADL model of the satellite attitude and orbit control system is checked by the space coding standard, and the effectiveness of the method proposed in this paper is verified by running in the relevant simulation environment.

Key words: safety critical software, model-driven development, AADL, Ada, automatic code generation

中图分类号: