CN109977514B - 一种雷达同步数据流图模型调度序列生成方法 - Google Patents

一种雷达同步数据流图模型调度序列生成方法 Download PDF

Info

Publication number
CN109977514B
CN109977514B CN201910206767.2A CN201910206767A CN109977514B CN 109977514 B CN109977514 B CN 109977514B CN 201910206767 A CN201910206767 A CN 201910206767A CN 109977514 B CN109977514 B CN 109977514B
Authority
CN
China
Prior art keywords
model
graph
data flow
scheduling
radar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910206767.2A
Other languages
English (en)
Other versions
CN109977514A (zh
Inventor
王磊
陈明燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201910206767.2A priority Critical patent/CN109977514B/zh
Publication of CN109977514A publication Critical patent/CN109977514A/zh
Application granted granted Critical
Publication of CN109977514B publication Critical patent/CN109977514B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种雷达同步数据流图模型调度序列生成方法,包括创建雷达同步数据流图XML模型文件流指针,读取XML模型文件,提取同步数据流图模型中的图节点和有向边的原始信息,构建内存映射模型,根据内存映射模型计算同步数据流图模型调度序列。本发明采用XML模型文件描述雷达同步数据流图,并对同步数据流图XML模型文件的信息提取和内存映射,通过同步数据流图模型调度序列计算方法求解模型调度执行序列,最后自动生成同步数据流图模型调度程序C/C++代码,一方面实现求解雷达同步数据流图模型的调度序列,另一方面实现了由雷达同步数据流模型文件自动转换生成模型调度程序代码的功能,可以大大降低研究人员的编码工作量,进而提高了雷达仿真效率。

Description

一种雷达同步数据流图模型调度序列生成方法
技术领域
本发明属于雷达系统仿真技术领域,具体涉及一种雷达同步数据流图模型调度序列生成方法。
背景技术
采用同步数据流图模型(Synchronous Data Flow Graph Model,SDFGM)描述一个仿真系统的模型组成及其存在的数据流入/出关系,具有表达系统构造直观性强、模型调度顺序可事先确定、程序死锁运行前检测等优点,对可视化建模、通过组合模型组件快速构建仿真系统原型非常有用。作为一种基于数据驱动的模型仿真技术,同步数据流计算模型已经被广泛用于DSP应用计算辅助设计系统,如:美国Cadence公司的信号处理工作系统(Signal Processing WorkSystem,SPW)、美国UC Berkely(加州大学伯克利分校)的托勒密II仿真工具(PtolemyII)、法国Thales Group的雷达分析与设计仿真工具(Architecture&Simulation Tool for Radar Analysis&Design,ASTRAD)等。以上这些仿真工具可以对同步数据流图模型提供可视化显示以及文件保存功能,还可以对同步数据流图模型进行编译,检查无误后自动生成调度程序代码,在仿真器控制下直接运行。然而,同步数据流图保存时模型文件格式如何定义,读取时模型文件如何解析、模型语义结构如何组织,以及如何计算求解同步数据流图模型的调度序列,进而实现同步数据流图模型的调度程序代码自动生成,这些核心技术的关键细节都没有公开。
国内具有代表性的可视化仿真工具主要是北京仿真中心的组件一体化建模仿真环境(Component based Integrated Environment for Centralized/Distributed/Parallel Simulation,CISE)。该环境提供基于组件的信息流交互模型定义,以周期性状态数据和离散事件驱动仿真,严格来说这是一种离散事件驱动的仿真技术,适用于描述粗粒度的、由单层次结构组件构成的仿真模型,对于拥有分层结构的复杂系统模型无法使用。
在构建雷达仿真系统时引入同步数据流模型技术,如何定义和解析雷达同步数据流图模型文件,通过有效的计算方法求解雷达同步数据流图中实体节点所代表的雷达仿真模型的调度序列,进而实现雷达仿真程序调度代码自动生成,这些关键技术的突破对于可视化雷达仿真工具的研制至关重要,将为其真正实现快速响应用户需求、高效率、低成本的仿真能力提供关键技术支撑。
发明内容
本发明的发明目的是:为了解决现有技术中存在的以上问题,本发明提出了一种雷达同步数据流图模型调度序列生成方法。
本发明的技术方案是:一种雷达同步数据流图模型调度序列生成方法,包括以下步骤:
S1、创建雷达同步数据流图XML模型文件流指针,读取XML模型文件;
S2、从XML模型文件中提取同步数据流图模型中的图节点和有向边的原始信息,构建内存映射模型;
S3、根据内存映射模型计算同步数据流图模型调度序列。
进一步地,所述步骤S1采用XML模型文件描述并保存雷达同步数据流图,并划分为:顶层系统或复合模型实体描述层、实体描述层、关系描述层、链接描述层。
进一步地,所述步骤S2中,提取的图节点信息具体包括代表模型的实体名称及其类型、实体的端口名称及其类型、实体的组成成份,提取的有向边信息具体包括代表实体相关性的关系名称及其类型、代表实体端口与关系绑定相关性的链接,内存映射模型具体为在内存中组建雷达同步数据流模型图所代表的模型语义结构。
进一步地,所述步骤S2具体包括以下分步骤:
S201、通过文件输入流指针读取字符流;
S202、判断当前读取的字符是否为文件结束符;若是,则跳转步骤S206;若否,则执行步骤S203;
S203、进行单词扫描,将连续字符汇聚成一个单词;
S204、对单词进行词法分析处理:如果单词是标记对,则析取属性键名称和属性值;如果单词是特征词,则执行查表操作;
S205、进行语义解析,根据起始和结尾特征词所表示的含义及其中间所包含的标记对数据,创建链表节点,在相应的模型语义链表执行插入节点操作,跳转步骤S201;
S206、输出模型语义链表,构建同步数据流图的内存映射模型。
进一步地,所述步骤S3具体包括以下分步骤:
S301、初始化方向矩阵和调度序列数组;
S302、提取直接偏序信息,更新方向矩阵;
S303、提取间接偏序信息,更新方向矩阵;
S304、按照图节点编号从小到大,遍历图节点集;
S305、判断图节点遍历是否结束;若是,则执行步骤S306;若否,则跳转步骤S309;
S306、获取当前遍历图节点编号,查询调度序列数组中有无当前图节点编号;若有,则执行步骤S307;若否,则跳转步骤S309;
S307、预设偏序检测规则对方向矩阵进行处理,将图节点编号保存于调度序列数组;
S308、遍历下一个图节点,跳转步骤S305;
S309、更新已确定调度次序的图节点在方向矩阵中对应行、列向量元素值;
S310、判断调度序列数组是否存在空元素;若存在空元素,则跳转步骤S304;否则,执行步骤S311;
S311、按调度序列数组从首至尾排序得到模型调度序列。
进一步地,所述步骤S301中方向矩阵表示为
Figure BDA0001999229960000031
其中,prii,j表示实体i与实体j调度次序优先级的比较结果,n表示相同层次同步数据流图模型中图节点总个数。
进一步地,所述步骤S302中,直接偏序信息具体为同步数据流图中通过有向边直连的两个实体的调度优先级偏序关系,有向边的箭头指向低调度优先级的目标端实体,箭尾连接高调度优先级的起始端实体,数据流向从高优先级实体传递到低优先级实体;根据每一条有向边所表示的偏序关系更新对应方向矩阵中的元素数值。
进一步地,所述步骤S303中间接偏序信息具体为同步数据流图中两个实体间无有向边直连,但存在调度优先级偏序关系;根据间接偏序关系的传递性和无环性更新方向矩阵相应元素数值。
进一步地,还包括根据步骤S3得到的同步数据流图模型调度序列,利用代码生成器自动生成雷达同步数据流图模型的调度程序代码。
进一步地,所述代码生成器对同步数据流图模型调度序列进行处理,具体包括以下分步骤:
S401、创建输出文件流指针;
S402、生成模型外部接口代码;
S403、生成主函数文件中头文件预编译指令部分;
S404、读取调度序列数组,按模型调度执行次序,生成主函数文件中仿真模型调度程序代码;
S405、关闭输出文件流指针。
本发明的有益效果是:本发明采用XML模型文件描述雷达同步数据流图,并对同步数据流图XML模型文件的信息提取和内存映射,通过同步数据流图模型调度序列计算方法求解模型调度执行序列,最后自动生成同步数据流图模型调度程序C/C++代码,一方面实现求解雷达同步数据流图模型的调度序列,另一方面通过模型转换技术实现了由雷达同步数据流模型文件自动转换生成模型调度程序代码的功能,可以大大降低研究人员的编码工作量,进而提高了雷达仿真效率。
附图说明
图1为本发明的雷达同步数据流图模型调度序列生成方法流程示意图。
图2为本发明实施例中雷达同步数据流图XML文件解析算法流程示意图。
图3为本发明实施例中雷达同步数据流图模型语义实体链表示意图。
图4为本发明实施例中雷达同步数据流图模型语义关系链表示意图。
图5为本发明实施例中雷达同步数据流图模型语义链接链表示意图。
图6为本发明实施例中雷达同步数据流图模型调度序列计算方法流程示意图。
图7为本发明实施例中雷达同步数据流图模型调度序列数组存储方法示意图。
图8为本发明实施例中雷达同步数据流图模型代码生成算法流程示意图。
图9为本发明实施例中雷达同步数据流图模型的实例示意图。
图10为本发明实施例中雷达同步数据流图模型的实例自动生成的目标程序文件列表图。
图11为本发明实施例中代码生成器自动生成的Antenna模型外部接口框架源码图。
图12为本发明实施例中代码生成器自动生成的主函数文件的调度程序代码图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明的雷达同步数据流图模型调度序列生成方法流程示意图;一种雷达同步数据流图模型调度序列生成方法,包括以下步骤:
S1、创建雷达同步数据流图XML模型文件流指针,读取XML模型文件;
S2、从XML模型文件中提取同步数据流图模型中的图节点和有向边的原始信息,构建内存映射模型;
S3、根据内存映射模型计算同步数据流图模型调度序列。
在步骤S1中,本发明采用XML模型文件描述并保存雷达同步数据流图,这里的XML模型文件是指采用可扩展标记语言(eXtensive Marked Language,XML)描述并保存雷达同步数据流图的模型文件;采用XML模型文件描述同步数据流图时,划分为:顶层系统或复合模型实体描述层、实体描述层、关系描述层、链接描述层。
下面对各层次描述规范如下:
(1)顶层系统或复合模型实体描述层
顶层系统或复合模型的实体通过多个模型实体组合定义,可能会带有多个层次结构;雷达同步数据流图模型描述规范要求,对于分层次定义的同步数据流图模型,每一个复合模型对应并保存为一个模型文件。
·顶层系统模型的描述定义
<entity name="Top Level System Model Name"class="CompositeActor">
</entity>
其中,name=“”标记对指定顶层系统模型的名称,class=“”标记对说明它是一个复合模型;省略的部分用于描述这个顶层系统模型的内部组成要素、内部结构关联关系、数据流进出流向等信息;<entity表示模型实体定义开始,</entity>表示模型实体定义结束。
·复合模型的描述定义
<class name="SG"extends="CompositeActor">
<port name="port"class="IOPort">
<property name="output"/>
</port>
</class>
其中,name=“”标记对用于说明对象的名称(对象可以是实体entity、类class、端口port、属性property、关系relation等),extends=“”标记对用于说明类的类型,这里SG是一个复合模型;由上述定义可知,SG是一个复合模型,拥有一个port端口,用于输出数据流。<class表明SG定义开始,</class>表明定义结束,…表示省略,代表SG的组成实体的描述定义。
(2)实体描述层
模型的实体描述层用于定义模型的实体组成,并指定实体名称及其定义类。每一个模型的实体对应一个同步数据流图节点,拥有自己的类定义。虽然复合模型的实体也对应一个同步数据流图节点,但没有类定义,因为复合模型是通过其他模型实体组合定义的,没有增加新的类定义。
·模型的实体描述定义
<entity name="Ante"class="Antenna">
<port name="input"class="IOPort">
<property name="input"/>
</port>
<port name="beam"class="IOPort">
<property name="output"/>
</port>
<port name="timeStep"class="IOPort">
<property name="output"/>
</port>
</entity>
这里可知,模型的实体Ante是一个天线模型,具体细节包含在Antenna的类定义中;Ante拥有三个端口,其中,input是输入端口,beam和timeStep是输出端口。
(3)关系描述层
关系用于描述实体之间的关联关系,通常从一个实体的一个输出端口指向另一个实体的输入端口,即:关系用于描述输出端口与输入端口的数据流流向信息,这里涉及端口所属的实体、输出端口与输入端口的对应关系(一对一、一对多)、复合实体端口(对于复合实体外层的实体来讲,复合实体的输入端口被看作外部关系的输出,复合实体的输出端口被看作外部关系的输入;对于复合实体内层的实体来讲,复合实体的输入端口被看作内部关系的输入,复合实体的输出端口被看作内部关系的输出。)。
·关系的描述定义
Figure BDA0001999229960000061
其中,<relation表示关系描述定义的开始,这一行指明了关系relation2的所属类别为IORelation。</relation>表示关系relation2描述定义的结束。<vertex这行用于描述同步数据流图中的一个交会顶点(输出与输入存在一对多情况时使用),value=“[25.0,190.0]”指定顶点vertex1在可视窗口中的相对坐标。</vertex>表示交会顶点定义结束。…表示省略,代表其他关系的描述定义。
(4)链接描述层
链接根据数据流从输出端口流向输入端口的调度准则,被用于描述实体之间的数据传递关系。
·链接的描述定义
<link port="port"relation="relation5"/>
<link port="Intersection.output"relation="relation5"/>
其中,<link表示链接描述定义的开始,/>表示这个链接描述定义结束。标记对port=“port”指定了链接绑定的端口名称,relation=“relation5”指定了链接绑定的关系名称。同理,标记对port=“Intersection.output”指定了另一链接绑定的端口名称。通过对语义信息中模型要素的关联性分析和挖掘可知,关系relation5连接了port和Inersection.port两个端口。…表示省略,代表其他链接的描述定义。
在步骤S2中,本发明将雷达同步数据流图XML模型文件作为输入,通过解析器解析XML模型文件、提取模型信息,在内存中采用层次化链表组建雷达同步数据流图的模型语义结构。
本发明的解析器通过模型解析算法实现,该算法基于同步数据流模型的XML描述规范并专用于解析XML模型文件,从中提取同步数据流图模型中的图节点(代表模型的实体)和有向边(代表模型之间数据传递关系)的原始信息。
步骤S2具体包括以下分步骤:
S201、通过文件输入流指针读取字符流,每次读入一个字符;
S202、判断当前读取的字符是否为文件结束符;若是,则跳转步骤S206;若否,则执行步骤S203;
S203、进行单词扫描,将连续字符汇聚成一个单词;
在XML文件中,一个单词是一个标记对或一个特征词,标记对通常采用“属性键=“属性值””的表示形式,特征词对应XML模型描述规范中定义的特征词,如表1所示。
表1 XML模型文件描述规范中事先定义的特征词及其表示含义说明表
Figure BDA0001999229960000071
Figure BDA0001999229960000081
S204、对单词进行词法分析处理:如果单词是标记对,则析取属性键名称和属性值;如果单词是特征词,则执行查表操作;
S205、进行语义解析,根据起始和结尾特征词所表示的含义及其中间所包含的标记对数据,创建链表节点,在相应的模型语义链表执行插入节点操作,跳转步骤S201;
S206、输出模型语义链表,构建同步数据流图的内存映射模型。
本发明基于同步数据流模型的XML描述规范解析XML模型文件,从中提取同步数据流图模型中的图节点(代表模型的实体)和有向边(代表模型之间数据传递关系)的原始信息;其中,提取的图节点信息包括:代表模型的实体名称及其类型、实体的端口名称及其类型、实体的组成成份等;提取的有向边信息包括:代表实体相关性的关系名称及其类型、代表实体端口与关系绑定相关性的链接。内存映射模型是指在内存中组建雷达同步数据流模型图所代表的模型语义链表。
实体的每个组成成份也是一个实体,遵照图节点定义;关系用于表示相关仿真模型的数据驱动关系(产生数据或消耗数据)、数据流出/流入指向(从源实体的某个输出端口流出,进入到目标实体的某个输入端口);链接用于表示端口与关系的绑定关系。
模型语义结构由实体链表、关系链表、链接链表共同构成,其数据结构如图3、图4、图5所示,其中,实体链表用于记录图节点(包括端口)信息,关系链表用于记录有向边信息,链接链表用于记录端口与有向边的绑定信息,即:实体与有向边的关联信息。
在步骤S3中,本发明利用方向矩阵描述雷达同步数据流图模型的偏序关系(谁优先于谁调度执行);基于集合和偏序关系理论,按照数据流从输出端口到输入端口传递准则,创建5个偏序关系检测规则;遍历方向矩阵,并根据偏序检测规则迭代更新方向矩阵元素数值,直至雷达同步数据流图模型的偏序关系全部确定为止;遍历时将当前阶段可以确定调度执行次序的模型编号按照正序或倒序保存到调度序列数组。
步骤S3具体包括以下分步骤:
S301、初始化方向矩阵和调度序列数组;
方向矩阵表示为
Figure BDA0001999229960000091
其中,prii,j为方向矩阵中第i行、第j列元素,用于记录实体i与实体j调度次序优先级的比较结果,n表示相同层次同步数据流图模型中图节点总个数(即:同一层次的模型实体总个数),取值范围为{-1,-2,-3,0,1},每个取值所代表的含义如下:
①prii,j=-1,表示实体i调度次序优先级低于实体j,即:prij<prii
②prii,j=1,表示实体i调度次序优先级高于实体j,即:prii<prij
Figure BDA0001999229960000092
表示主对角线上元素不考虑偏序关系;
④prii,j=-2,表示实体i与实体j在调度次序上不存在偏序关系,即:
Figure BDA0001999229960000093
⑤prii,:=-3^pri:,i=-3,表示方向矩阵中第i行元素和第i列元素全部设为-3,即:实体i调度次序已确定。
调度序列数组结构如图7所示,长度为n,用于保存同步数据流图模型的调度执行序列;调度序列数组初始化时,数组元素设为空值,表示对应数组元素没有记录调度执行的模型编号。方向矩阵初始化时,设置主对角线元素值为0,其余元素值为-2。
S302、提取直接偏序信息,更新方向矩阵;
其中,直接偏序信息是指同步数据流图中通过有向边直连的两个实体的调度优先级偏序关系,有向边的箭头指向低调度优先级的目标端实体,箭尾连接高调度优先级的起始端实体,数据流向从高优先级实体传递到低优先级实体。每一条有向边所表示的偏序关系恰好对应方向矩阵中的一个元素值。
S303、提取间接偏序信息,更新方向矩阵;
其中,间接偏序信息是指同步数据流图中两个实体虽没有通过有向边直连,但是其存在调度优先级偏序关系。间接偏序关系的计算是根据偏序关系的传递性、无环性进行计算,并更新方向矩阵相应元素数值。
这里,假设偏序关系用一个同步数据流图节点集合E和一个关系<进行描述,对于所有ei,ej,ek∈E,都满足以下两个推导关系:
①如果ei<ej且ej<ek,则有ei<ek,这称作偏序关系具有传递性;
②如果ei<ej,则有
Figure BDA0001999229960000094
这称作偏序关系具有无环性。
S304、按照图节点编号从小到大,遍历图节点集;
S305、判断图节点遍历是否结束;若是,则执行步骤S306;若否,则跳转步骤S309;
S306、获取当前遍历图节点编号,查询调度序列数组中有无当前图节点编号;若有,则执行步骤S307;若否,则跳转步骤S309;
S307、预设偏序检测规则对方向矩阵进行处理,将图节点编号保存于调度序列数组;
偏序检测规则具体描述如下:
规则1:方向矩阵某一行元素或为0、或为1、或为-3,则行向量对应实体调度次序为最先;
规则2:方向矩阵某一行元素或为0、或为-1、或为-3,则行向量对应实体调度次序为最后;
规则3:方向矩阵某一行元素或为0、或为-2、或为-3,则行向量对应实体调度次序为最后;
规则4:方向矩阵某一行元素或为0、或为1、或为-2、或为-3,则行向量对应实体调度次序为最先;
规则5:方向矩阵某一行元素或为0、或为-1、或为-2、或为-3,则行向量对应实体调度次序为最后。
本发明检测方向矩阵中该图节点对应行向量是否满足偏序规则1或规则4,如果满足条件,则确定当前图节点最先调度,将图节点编号正序保存于调度序列数组,跳转步骤S308;否则,检测方向矩阵中该图节点对应行向量是否满足其它偏序规则;
本发明检测方向矩阵中该图节点对应行向量是否满足偏序规2或规则3或规则5,如果满足条件,则确定当前图节点最后调度,将图节点编号倒序保存于调度序列数组;否则,跳转步骤S308;
本发明将图节点编号按正序或倒序保存是指遍历所有图节点时,第一个确定的最先调度的实体编号保存到调度序列数组中第一个数组单元,第二个确定的最先调度的实体编号保存到调度序列数组中的第二个数组单元,以此类推;相反,第一个确定的最后调度的实体编号保存到调度序列数组中的最后一个数组单元,第二个确定的最后调度的实体编号保存到调度序列数组的倒数第二个数组单元,以此类推。
S308、遍历下一个图节点,跳转步骤S305;
S309、更新已确定调度次序的图节点在方向矩阵中对应行、列向量元素值,具体设置为-3;
S310、判断调度序列数组是否存在空元素;若存在空元素,则跳转步骤S304;否则,执行步骤S311;
S311、按调度序列数组从首至尾排序得到模型调度序列。
本发明得到同步数据流图模型调度序列后,将同步数据流图模型调度序列传递给代码生成器,代码生成器根据步骤S3得到的同步数据流图模型调度序列自动生成雷达同步数据流图模型的调度程序代码,具体包括以下分步骤:
S401、创建输出文件流指针;
S402、生成模型外部接口代码;
S403、生成主函数文件中头文件预编译指令部分;
S404、读取调度序列数组,按模型调度执行次序,生成主函数文件中仿真模型调度程序代码;
S405、关闭输出文件流指针。
本发明生成的调度程序代码符合C/C++程序设计语言规范。
图9为本发明实施例中雷达同步数据流图模型的实例示意图,其模型文件作为本发明方法的输入,经过文件解析算法、同步数据流图模型调度序列计算方法、代码生成算法处理后,自动生成程序源文件(如图10所示),包括:同步数据流图所含模型的接口源文件(含:初始化接口、可执行接口,如图11所示)、主函数文件的调度程序源文件(如图12所示)。
本发明的方法首先建立了同步数据流图模型的XML描述规范,有利于实现不同平台、不同语言环境下同步数据流图模型的交换与共享;通过解析器算法提取同步数据流图模型信息,并在解析过程中构建模型语义链表,从而重构同步数据流图的内存映射模型;在模型调度序列计算方法中,采用方向矩阵描述雷达同步数据流图模型的偏序关系,基于集合和偏序关系理论实现了模型调度执行序列的算法求解;最后,通过代码生成器实现了同步数据流图模型转换并自动生成调度程序C/C++代码。
本发明的方法可以实现雷达同步数据流图XML模型文件自动解析、模型调度序列计算、模型调度程序代码自动生成,大大降低研究人员的编码工作量,提高雷达模型转换和生成代码的能力,从而更有效地提高雷达仿真系统开发效率。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

Claims (7)

1.一种雷达同步数据流图模型调度序列生成方法,其特征在于,包括以下步骤:
S1、创建雷达同步数据流图XML模型文件流指针,读取XML模型文件;采用XML模型文件描述并保存雷达同步数据流图,并划分为:顶层系统或复合模型实体描述层、实体描述层、关系描述层、链接描述层;
S2、从XML模型文件中提取同步数据流图模型中的图节点和有向边的原始信息,构建内存映射模型;提取的图节点信息具体包括代表模型的实体名称及其类型、实体的端口名称及其类型、实体的组成成份,提取的有向边信息具体包括代表实体相关性的关系名称及其类型、代表实体端口与关系绑定相关性的链接,内存映射模型具体为在内存中组建雷达同步数据流模型图所代表的模型语义结构;
S3、根据内存映射模型计算同步数据流图模型调度序列;具体包括以下分步骤:
S301、初始化方向矩阵和调度序列数组;
S302、提取直接偏序信息,更新方向矩阵;
S303、提取间接偏序信息,更新方向矩阵;
S304、按照图节点编号从小到大,遍历图节点集;
S305、判断图节点遍历是否结束;若是,则执行步骤S306;若否,则跳转步骤S309;
S306、获取当前遍历图节点编号,查询调度序列数组中有无当前图节点编号;若有,则执行步骤S307;若否,则跳转步骤S309;
S307、预设偏序检测规则对方向矩阵进行处理,将图节点编号保存于调度序列数组;
S308、遍历下一个图节点,跳转步骤S305;
S309、更新已确定调度次序的图节点在方向矩阵中对应行、列向量元素值;
S310、判断调度序列数组是否存在空元素;若存在空元素,则跳转步骤S304;否则,执行步骤S311;
S311、按调度序列数组从首至尾排序得到模型调度序列。
2.如权利要求1所述的雷达同步数据流图模型调度序列生成方法,其特征在于,所述步骤S2具体包括以下分步骤:
S201、通过文件输入流指针读取字符流;
S202、判断当前读取的字符是否为文件结束符;若是,则跳转步骤S206;若否,则执行步骤S203;
S203、进行单词扫描,将连续字符汇聚成一个单词;
S204、对单词进行词法分析处理:如果单词是标记对,则析取属性键名称和属性值;如果单词是特征词,则执行查表操作;
S205、进行语义解析,根据起始和结尾特征词所表示的含义及其中间所包含的标记对数据,创建链表节点,在相应的模型语义链表执行插入节点操作,跳转步骤S201;
S206、输出模型语义链表,构建同步数据流图的内存映射模型。
3.如权利要求1所述的雷达同步数据流图模型调度序列生成方法,其特征在于,所述步骤S301中方向矩阵表示为
Figure FDA0002698648480000021
其中,prii,j表示实体i与实体j调度次序优先级的比较结果,n表示相同层次同步数据流图模型中图节点总个数。
4.如权利要求1所述的雷达同步数据流图模型调度序列生成方法,其特征在于,所述步骤S302中,直接偏序信息具体为同步数据流图中通过有向边直连的两个实体的调度优先级偏序关系,有向边的箭头指向低调度优先级的目标端实体,箭尾连接高调度优先级的起始端实体,数据流向从高优先级实体传递到低优先级实体;根据每一条有向边所表示的偏序关系更新对应方向矩阵中的元素数值。
5.如权利要求1所述的雷达同步数据流图模型调度序列生成方法,其特征在于,所述步骤S303中间接偏序信息具体为同步数据流图中两个实体间无有向边直连,但存在调度优先级偏序关系;根据间接偏序关系的传递性和无环性更新方向矩阵相应元素数值。
6.如权利要求1至5任一所述的雷达同步数据流图模型调度序列生成方法,其特征在于,还包括根据步骤S3得到的同步数据流图模型调度序列,利用代码生成器自动生成雷达同步数据流图模型的调度程序代码。
7.如权利要求6所述的雷达同步数据流图模型调度序列生成方法,其特征在于,所述代码生成器对同步数据流图模型调度序列进行处理,具体包括以下分步骤:
S401、创建输出文件流指针;
S402、生成模型外部接口代码;
S403、生成主函数文件中头文件预编译指令部分;
S404、读取调度序列数组,按模型调度执行次序,生成主函数文件中仿真模型调度程序代码;
S405、关闭输出文件流指针。
CN201910206767.2A 2019-03-19 2019-03-19 一种雷达同步数据流图模型调度序列生成方法 Active CN109977514B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910206767.2A CN109977514B (zh) 2019-03-19 2019-03-19 一种雷达同步数据流图模型调度序列生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910206767.2A CN109977514B (zh) 2019-03-19 2019-03-19 一种雷达同步数据流图模型调度序列生成方法

Publications (2)

Publication Number Publication Date
CN109977514A CN109977514A (zh) 2019-07-05
CN109977514B true CN109977514B (zh) 2021-02-09

Family

ID=67079445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910206767.2A Active CN109977514B (zh) 2019-03-19 2019-03-19 一种雷达同步数据流图模型调度序列生成方法

Country Status (1)

Country Link
CN (1) CN109977514B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114168340B (zh) * 2021-12-14 2023-04-18 电子科技大学 一种多核系统同步数据流图实例化并发调度方法
CN114780369A (zh) * 2022-05-09 2022-07-22 北京领为军融科技有限公司 基于内存映射的仿真模块数据实时监控方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707524A (zh) * 2009-01-09 2010-05-12 北京大学 一种具有层次关系的公钥广播加密方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025457B (zh) * 2009-09-09 2013-04-17 华为技术有限公司 协作通信的方法及基站
CN102521470B (zh) * 2011-12-31 2013-12-04 中国人民解放军92232部队 基于xml模式的雷达仿真系统
KR102064939B1 (ko) * 2013-08-07 2020-01-13 삼성전자 주식회사 다수의 이차원 배열 안테나를 사용하는 이동통신 시스템에서의 피드백 송수신 방법 및 장치
US10205491B2 (en) * 2015-09-28 2019-02-12 Futurewei Technologies, Inc. System and method for large scale multiple input multiple output communications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101707524A (zh) * 2009-01-09 2010-05-12 北京大学 一种具有层次关系的公钥广播加密方法

Also Published As

Publication number Publication date
CN109977514A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN101464799A (zh) 基于可视化建模的mpi并行程序设计系统及框架代码自动生成方法
Van der Velden et al. Adaptable methodology for automation application development
CN102270137B (zh) 一种获取体系结构描述语言的方法和一种建模工具
CN111880784B (zh) 一种面向simscript语言的离散事件仿真图形化建模方法
CN109857458B (zh) 基于ANTLR的AltaRica 3.0的扁平化的转化方法
CN110109658B (zh) 一种基于形式化模型的ros代码生成器及代码生成方法
CN109977514B (zh) 一种雷达同步数据流图模型调度序列生成方法
CN115964273A (zh) 基于深度学习的航天器测试脚本自动生成方法
CN113190222A (zh) 一种基于SysML的安全关键自治系统建模方法及工具
CN115510563A (zh) 一种基于模型的产品研制流程设计方法及装置
CN116362245A (zh) 基于非结构化文本数据的opc ua信息模型构建方法
CN117009038B (zh) 一种基于云原生技术的图计算平台
Li et al. An unified CAD/CAE/VR tool for ship structure design and evaluation based on multi-domain feature mapping
CN117492753A (zh) 一种实现数据可视化的前端开发方法及系统
CN116756338A (zh) 面向ar装配引导的工艺知识图谱构建方法及系统
CN115758789A (zh) 一种复杂实时嵌入式系统的软件架构设计与架构传递方法
CN115033280A (zh) 一种基于知识图谱的需求规格文档自动化生成方法及存储介质
CN113139657B (zh) 一种机器思维实现方法及装置
CN107291435B (zh) 一种不确定性环境下混成aadl模型量化分析方法
Zhang et al. Automatic data representation analysis for reconfigurable systems integration
CN110727433B (zh) 一种多通道三维用户界面的生成方法
CN115033212A (zh) 航电系统图元模型一体化构建方法、装置、计算机设备
CN114066428A (zh) 一种基于bpmn规范的业务流程建模方法
DI GIUDA et al. Development of a Rule-Based System for Automated BIM Code-Checking
Song Infrastructure for DEVS modelling and experimentation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant