本发明属于飞控系统设计模型仿真,尤其是指一种用于飞控系统设计模型仿真的数据类型推演方法。
背景技术:
1、飞控系统作为一种安全关键的复杂系统,正逐渐从手工代码研发转变为基于模型的设计和自动代码生成。相较于前者,基于模型的设计可以辅助设计人员更快速地完成设计工作,并反复迭代,此外,设计模型相较于代码具备更高的可读性且更易于维护。
2、飞控系统作为安全关键系统,在民机场景下要求最高等级a级的研制保障等级,即灾难级事故发生的概率小于10-9。因此,设计人员在进行开发时,相较于普通模型设计,飞控系统模型设计需要具备更强的确定性和稳定性。其中,数据类型的确定和不可变化,就是重要的一个方面。在普通设计中,浮点数转整形,或者整形16位转整形8位,常常可以随意转换,然而这种类型的简化,可能造成有效的数据位被截断,从而影响预期输出;反之,随意地将布尔值扩充为整形,或是将16位浮点数转换为32位浮点数,仿真器和编译器都可能引入无意义的随机数填充,从而带来不可预期的计算结果。
技术实现思路
1、发明目的:本发明提供一种用于飞控系统设计模型仿真的数据类型推演方法,通过对设计模型的数据类型进行推演和检测,为设计模型所有端口提供确定性的数据类型,以提高目前基于模型的飞控系统设计开发过程中,设计模型的可靠性和安全性。
2、技术方案:
3、一种用于飞控系统设计模型仿真的数据类型推演方法,其包括:
4、s1,解析设计模型,获取所有模块属性配置和连接关系;定义不同类型模块的端口数据类型要求;定义数据类型优先级,作为数据推演依据;
5、s2,从已确定数据类型的端口出发,根据连接关系,确定相关联端口的数据类型,当同一连线两端端口数据类型不一致时,汇报冲突,跳转s5;
6、s3,针对已确定所有输入端口数据类型的模块,根据模块属性配置,检查输入数据端口数据类型是否与模块属性配置冲突,不冲突可确定相关联的输出端口的数据类型,否则,跳转s5;
7、s4,判断设计模型中所有模块的端口数据类型是否均已经确定,均已确定则分析结束;否则重复步骤s2和s3,直至设计模型中所有模块的端口数据类型是否均已经确定。
8、s5:中止推演过程,汇报设计模型冲突问题和冲突发生的端口位置,分析结束。
9、进一步地,步骤s1,具体包括:
10、通过解析模型配置文件,提取出所有层次系统的模块及其属性信息,提取出所有模块的连接关系。
11、进一步地,步骤s1,具体包括:
12、提取出所有子系统的模块,将子系统按层级组织形成以模型最上层系统为根节点的树状数据结构;
13、使用深度优先搜索算法遍历树状数据结构,获得模块数据流连接关系;
14、对子系统内部的数据流关系按普通设计模型正常解析,对子系统边界的数据流关系,进行平铺处理。
15、进一步地,步骤s1,具体包括:
16、当设计模型中存在子系统时,子系统进行平铺处理;子系统外模块端口类型,通过连接关系直接关联子系统内部输入端口数据类型;子系统输出端口数据类型根据子系统外部输出端口连接关系关联至相关模块。
17、进一步地,s2中的处理包括:从已知数据类型的端口出发,有以下3种情况:
18、s201,初始化时,检查设计模型中所有输入模块数据类型是否已经定义,如果存在未被定义的模型输入模块,提示设计人员补充;
19、s202,根据模块连接关系,如果连接关系中的模块a输出端口类型确定,另一端模型b输入端口未确定,将该端口设置为和a输出端口数据类型一致;
20、s203,根据模块连接关系,如果连接关系中的模块a输出端口类型确定,另一端模型b输入端也已经确定,如果数据类型不一致,汇报类型冲突。
21、进一步地,s3中,当某一模块的所有输入端口数据类型已经确定,可以确定其所有输出端口的数据类型,具体包括以下3种情况:
22、s301,初始化时,根据所有模块的属性配置中的模块类型,预定义部分端口数据类型,比较模块的输出端口类型应该为布尔类型、开关模块的控制端口类型应该为布尔类型;
23、s302,当某一模块的所有输入端口数据类型已经确定,根据模块属性配置,判断是否符合该模块对端口数据类型的所有要求,如果符合,根据模块输入端口的数据类型和模块属性配置,定义模块输出端口数据类型,如,当模块为增益模块gain时,输出数据类型和输入端口数据类型保持一致;
24、s303,当某一模块的所有输入端口数据类型已经确定,根据模块属性配置,判断是否符合该模块对端口数据类型的所有要求,如果不符合,跳转s5,汇报模型数据类型冲突;
25、s304,当某一模块的所有输入端口数据类型已经确定,根据模块属性配置,输出端口的数据类型是多种情况时,按照数据类型优先级,为输出端口定义数据类型,如,开关选择模块的控制端口输入类型须为布尔值,且其余数据输入端口数据类型保持一致时,将输出端口数据类型确定为数据输入端口的数据类型;当其余数据输入端口数据类型不一致时,根据数据类型优先级定义,将输出端口定义为最高优先级的数据类型。
26、进一步地,s4中,当模型中所有元素的输入输出端口数据类型都确定,且没有汇报冲突时,输出推演结果;当仍有未确定的端口数据类型时,回到步骤s2,继续推算。
27、进一步地,s1采用的设计模型,由图形化设计界面生成,由仿真求解装置进行解析,图形化界面和仿真求解装置约定共同的配置文件定义标准。
28、有益效果:
29、本发明提供的一种用于飞控系统设计模型仿真的数据类型推演方法,可以根据飞控系统的设计模型静态结构信息和模块配置信息,基于已经定义的端口数据类型,推演其余未知端口的数据类型,结合设计模型中模块的属性要求,为设计模型的所有中间结果和最终输出结果给出确定的数据类型;为模型设计者反馈端口数据类型冲突、连线数据类型不一致和数据类型定义模糊等问题,方便设计人员快速定位,进行设计迭代,形成安全性更高的设计模型,为后续模型自动生成代码、模性在环实验等一系列活动提供更可靠的设计模型产物。
1.一种用于飞控系统设计模型仿真的数据类型推演方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,步骤s1,具体包括:
3.根据权利要求2所述的方法,其特征在于,步骤s1,具体包括:
4.根据权利要求3所述的方法,其特征在于,步骤s1,具体包括:
5.根据权利要求1所述的方法,其特征在于,s2中的处理包括:从已知数据类型的端口出发,有以下3种情况:
6.根据权利要求1所述的方法,其特征在于,s3中,当某一模块的所有输入端口数据类型已经确定,可以确定其所有输出端口的数据类型,具体包括以下3种情况:
7.根据权利要求1所述的方法,其特征在于,s4中,当模型中所有元素的输入输出端口数据类型都确定,且没有汇报冲突时,输出推演结果;当仍有未确定的端口数据类型时,回到步骤s2,继续推算。
8.根据权利要求1所述的方法,其特征在于,s1采用的设计模型,由图形化设计界面生成,由仿真求解装置进行解析,图形化界面和仿真求解装置约定共同的配置文件定义标准。