符合航天安全规范的代码自动生成系统研究
发布时间:2020-06-08 14:52
【摘要】:随着现代航天航空技术的飞速发展,计算机软件在航天航空系统中的重要性日益增加。航天型号软件基本都是嵌入式软件,航天嵌入式软件的规模、复杂度及其在整个航天系统中的功能比重急剧上升,软件的可靠性与安全性问题日益突出。本文重点研究基于模板引擎和模型驱动的代码自动生成技术和基于微内核和插件的代码检测技术,设计并实现C语言安全代码自动生成系统以及代码检测系统,实现从Intergration模型到C语言安全代码框架的自动生成以及对手动添加代码的安全检测,以满足生成代码的安全需求,并通过选取星务管理软件关键任务的实例对安全代码生成工具进行了验证,为航天嵌入式应用系统安全与可靠性的提高奠定技术基础。本文所做工作如下:1.针对航天软件安全代码需求,采用基于模板引擎和模型驱动的代码自动生成技术,实现了代码自动生成系统,提供了Intergration模型向软件代码的转换功能,软件代码具体包括符合C语言安全子集的框架代码和建模手动添加的组件代码。2.针对航天软件安全代码需求,采用微内核和插件的代码检测技术,实现了C语言安全子集代码检测系统,提供对建模手动添加代码以及现有航天软件代码的C语言安全子集检测功能。3.选取星务管理软件关键模块,对其进行Intergration建模以及代码自动生成,验证了代码自动生成系统的代码生成功能;编写大量违反C语言安全子集的代码示例,对其进行代码检测,验证代码检测工具的代码检测功能。
【图文】:
用来表示各模型的选择连接关系,典型的选择机制如图3-8 所示:图 3-8 选择机制其对应的 C 代码模板是:if(contidion) {// code for LlobalComponent_0…}else {
用来表示各模型的循环连接关系,典型的回调机制如图3-9 所示:图 3-9 回调机制图对应的 C 代码模板为:While(condition) {// code for GlobalCompoment_3…// code for GlobalCompoment_4…}// code for LocalCompoment_3…c)模块层模块层支持并发的建模,并发建模的元素包括:定时器、任务等。其中定时器提供了定时启动任务的功能,它映射为一个 TimerName.c 文件,具体函数功能为定时执行任务,将其周期和触发函数作为参数。整个模块层对应一个包,包里面每个任务对应一个函数文件,整个模块对应一个头文件,负责模块层任务的函数声明和变量声明。d)系统层系统层负责生成对应的文件夹结构,系统层中每个模块对应一个文件夹。3.3.2.3 模板引擎模板引擎负责读取模板数据模型中的信息,通过具体生成逻辑将模型映射中的模板的动态信息替换成具体代码[32]。考虑到层次化的建模环境,模板引擎是基于局部转换再组装
【学位授予单位】:浙江工业大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:V446;TP311.5
【图文】:
用来表示各模型的选择连接关系,典型的选择机制如图3-8 所示:图 3-8 选择机制其对应的 C 代码模板是:if(contidion) {// code for LlobalComponent_0…}else {
用来表示各模型的循环连接关系,典型的回调机制如图3-9 所示:图 3-9 回调机制图对应的 C 代码模板为:While(condition) {// code for GlobalCompoment_3…// code for GlobalCompoment_4…}// code for LocalCompoment_3…c)模块层模块层支持并发的建模,并发建模的元素包括:定时器、任务等。其中定时器提供了定时启动任务的功能,它映射为一个 TimerName.c 文件,具体函数功能为定时执行任务,将其周期和触发函数作为参数。整个模块层对应一个包,包里面每个任务对应一个函数文件,整个模块对应一个头文件,负责模块层任务的函数声明和变量声明。d)系统层系统层负责生成对应的文件夹结构,系统层中每个模块对应一个文件夹。3.3.2.3 模板引擎模板引擎负责读取模板数据模型中的信息,通过具体生成逻辑将模型映射中的模板的动态信息替换成具体代码[32]。考虑到层次化的建模环境,模板引擎是基于局部转换再组装
【学位授予单位】:浙江工业大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:V446;TP311.5
【相似文献】
相关期刊论文 前10条
1 徐朝辉;金斌斌;蔡华;王云龙;;面向水利信息化项目的自动代码生成器的设计与实现[J];电脑迷;2017年12期
2 蔡庆中,陈涵生;代码生成器自动生成系统CGSS的分析与探讨[J];计算机工程;1988年06期
3 张仕仁;基于可重用代码生成器设计与实现[J];山西大学学报(自然科学版);1993年03期
4 朱青亮;;软景代码生成器[J];软件导刊;2003年03期
5 唐磊;;代码生成技术在软件开发中的应用[J];电子世界;2016年15期
6 陈满;任鹤飞;;利用NVelocity开发实体代码生成器[J];电脑编程技巧与维护;2014年09期
7 程鹏;李周芳;;Web Services代码生成器的研究与设计[J];自动化技术与应用;2006年12期
8 郑轶民;MOJO!(JavaMaker)──视觉化的Java源代码生成器[J];电脑技术;1997年02期
9 蒋,
本文编号:2703243
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2703243.html