[发明专利]一种面向软件定义卫星的软件并行构建方法以及装置有效
申请号: | 202011431237.7 | 申请日: | 2020-12-07 |
公开(公告)号: | CN112905153B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 李丹;赵军锁;高航 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/41;G06F8/71;G06F16/903;G06F16/901;G06F21/31 |
代理公司: | 北京超凡宏宇知识产权代理有限公司 11463 | 代理人: | 余菲 |
地址: | 100000 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 软件 定义 卫星 并行 构建 方法 以及 装置 | ||
本申请实施例提供一种面向软件定义卫星的软件并行构建方法以及装置,所述面向软件定义卫星的软件并行构建方法包括:接收来自于开发者的多种管理命令,其中,所述多种管理命令包括:项目管理命令、函数管理命令、变量管理命令、数据类型管理命令以及链接命令;获取所述多种管理命令中的各种管理命令携带的特征信息,并向源码数据记录装置提供所述特征信息完成对项目或元素的操作,其中,所述元素包括:函数、变量和数据类型,所述操作包括:创建、删除、查询和修改中的至少一个;所述特征信息包括:项目属性、查询条件、变量属性、数据类型属性等;在获取到所述函数的状态发生变化时,自动触发增量编译过程。
技术领域
本申请涉及并行编译领域,具体而言本申请实施例涉及一种面向软件定义卫星的软件并行构建方法以及装置。
背景技术
现有的编译器一般都包含若干个相互独立并且以串行方式工作的工具,例如预处理、编译、汇编、链编等。由于历史原因,这些工具往往都不支持并行,因此也就无法充分利用云计算所提供的计算能力和存储能力。此外,现有的编译器都是被动工作的,也就是说当开发者对某个源文件进行局部修改时,编译器并不会主动对这一修改的正确性进行分析,只有当开发者调用编译器时,编译器才动作。因此无法在第一时间发现错误,并及时给出必要的提示。出现这种情况的原因一方面是编译很耗时,开发者不会每做一点修改就调用一次编译器;另一方面的原因是当前的编译器都是以源文件作为最小编译单位的,因此,哪怕是某个源文件只发生了很小的一点儿局部变更,也需要对变更后的源文件从头到尾处理一遍,并对直接或者间接依赖该源文件的源文件也从头到尾处理一遍,不但反映迟缓,而且造成了极大的资源浪费。
软件定义卫星是指以计算为中心,以软件为手段,通过软件定义无线电、软件定义载荷、软件定义数据处理计算机、软件定义网络等手段,将传统上由分系统实现的通信、载荷等功能以软件方式实现,总体上将各类敏感器和执行机构通过软件连接为一个整体,最终实现大部分卫星功能的软件化。软件定义卫星解除了卫星产品软硬件之间的耦合关系,使得卫星软件可以独立演化、按需加载、动态重构,从而可以在不改变硬件的情况下实现更多的功能,完成更多的任务。本申请的发明人认识到,在软件定义卫星中,软件占据了更大的比重,将有越来越多的开发者参与到软件定义卫星的软件开发中来,面向传统卫星的软件串行构建方法本身针对于独立个人或小团队的软件,无法满足多用户大规模软件并行开发的需要。因此如何设计高效的源代码生成编译器成了亟待解决的技术问题。
发明内容
本申请实施例的目的在于提供一种面向软件定义卫星的软件并行构建方法以及装置,通过本申请的实施例的面向软件定义卫星的软件并行构建方法以及装置综合实现了预编译、预处理、编译、汇编、链接、静态分析等功能,其基本编译单位从源文件缩小到了函数、类型、变量、参数、语句、局部变量这个级别,灵活性大大提高。
第一方面,本申请的一些实施例提供一种面向软件定义卫星的软件并行构建方法,所述面向软件定义卫星的软件并行构建方法包括:接收来自于开发者的多种管理命令,其中,所述多种管理命令包括:项目管理命令、函数管理命令、变量管理命令、数据类型管理命令以及链接命令;获取所述多种管理命令中的各种管理命令携带的特征信息,并向源码数据记录装置提供所述特征信息完成对项目或元素的操作,其中,所述元素包括:函数、变量和数据类型,所述操作包括:创建、删除、查询和修改中的至少一个;所述特征信息包括:项目属性、查询条件、变量属性、数据类型属性、函数属性、函数参数以及函数语句;在获取到所述函数的状态发生变化时,自动触发增量编译过程,其中,所述函数的状态发生变化是由于所述开发者主动修改或者间接修改所述函数导致的,所述主动修改包括增加、删除或者修改所述函数,所述间接修改包括修改所述函数使用的所述数据结构或者全局变量。
本申请的一些实施例的代码生成编译方法有效克服了现有技术基于源文件的代码存储以及编译方式,综合实现了预编译、预处理、编译、汇编、链接、静态分析等功能,其基本编译单位从源文件缩小到了函数、类型、变量、参数、语句、局部变量这个级别,灵活性大大提高。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011431237.7/2.html,转载请声明来源钻瓜专利网。