CN116126304B - 基于XML的扩展Lustre代码生成方法 - Google Patents
基于XML的扩展Lustre代码生成方法 Download PDFInfo
- Publication number
- CN116126304B CN116126304B CN202310142370.8A CN202310142370A CN116126304B CN 116126304 B CN116126304 B CN 116126304B CN 202310142370 A CN202310142370 A CN 202310142370A CN 116126304 B CN116126304 B CN 116126304B
- Authority
- CN
- China
- Prior art keywords
- lustre
- xml
- extended
- expr
- model
- 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
Links
- VQLYBLABXAHUDN-UHFFFAOYSA-N bis(4-fluorophenyl)-methyl-(1,2,4-triazol-1-ylmethyl)silane;methyl n-(1h-benzimidazol-2-yl)carbamate Chemical compound C1=CC=C2NC(NC(=O)OC)=NC2=C1.C=1C=C(F)C=CC=1[Si](C=1C=CC(F)=CC=1)(C)CN1C=NC=N1 VQLYBLABXAHUDN-UHFFFAOYSA-N 0.000 title claims abstract description 77
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000002688 persistence Effects 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 230000014509 gene expression Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 19
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000002085 persistent effect Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 150000002500 ions Chemical class 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种基于XML的扩展Lustre代码生成方法,属于软件开发工具领域。本发明首先对扩展Lustre语言文法规则进行模块拆解,实现文法中关键词的解耦;定义模型持久化文件中的标签与扩展Lustre语言之间的映射关系;通过调用jdom2工具对模型持久化文件中的标签结构进行读取遍历,并按照文法关键词解耦结果设计对应的标签解析规则;按照解析规则将解析得到的标签生成对应扩展Lustre关键词,最终完成对整个模型持久化文件到扩展Lustre语言的代码生成过程。本发明为航天领域基于模型的软件开发工具开发过程中模型代码生成这一关键环节提供解决办法。
Description
技术领域
本发明属于软件开发工具领域,具体涉及一种基于XML的扩展Lustre代码生成方法。
背景技术
随着基于模型的系统工程(Model Based Systems Enginerring,MBSE)等概念的提出,相比于传统软件系统工程,MBSE的理念更适合当下软件发展的趋势,传统的软件开发模式也正在被基于模型的开发方式所替代。
基于模型的软件开发工具主要包括建模工具实现、模型持久化、模型语言生成与可执行目标代码生成几个关键模块。建模工具的实现基于预定义好的文法规则,通过代码实现文法中各个元素之间的关系并通过可视化界面进行,是建模的第一步;模型持久化通过将模型转化为持久化文件(本发明中持久化文件以XML格式进行存储)实现模型到本地持久化的过程;模型语言生成通过以模型持久化文件作为输入,输出相应的模型语言(本发明中模型语言为扩展的Lustre语言);可执行代码生成通过对模型语言进行词法、语法分析等过程,实现对模型语言的编译,生成最后的可执行代码。
本发明针对航天领域基于模型的软件开发工具开发过程中模型代码生成部分,建模工具选择以XML数据格式进行模型持久化存储,模型持久化文件包括模型中元素(如输入输出、算子、包等)以及元素之间的组合关系,在模型语言转化过程中需要将这些信息全部保留并按照文法规则进行模型语言代码生成。针对模型语言的文法规则需要自定义,当下并没有XML解析工具可以实现从持久化文件到模型语言的翻译这一情况,本发明通过设计一种基于XML的扩展Lustre代码生成方法来填补这一空白。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种基于XML的扩展Lustre代码生成方法,以解决基于模型的软件开发工具中从持久化文件到模型文件这一关键步骤的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于XML的扩展Lustre代码生成方法,该方法包括如下步骤:
S1、基于扩展Lustre语言文法进行功能和模块拆解;
S2、通过jdom2工具进行持久化文件遍历
模型的XML持久化文件中包含了模型中标签以及各标签之间的关系,调用jdom2工具中定义的方法对标签内容进行抽取,并设计解析算法对标签之间的嵌套关系进行分析,最终实现对XML持久化文件的遍历,得到标签内容以及标签间的关系;
S3、定义XML标签到扩展Lustre语言的映射并完成代码转换
通过定义标签和扩展Lustre语言中关键词的关系,将模型中的逻辑关系转化为扩展Lustre的表达,最终完成代码生成过程。
进一步地,所述步骤S1具体包括:扩展Lustre语言通过巴科斯范式进行规则表达,按照功能和模块对Lustre语言文法内容进行拆解,用于后续对每个相对独立之间的模块进行遍历规则和函数方法的设计实现,拆解结果包括:程序Program和包结构、声明Declarations、表达式Express ion、等式Equat ion和状态机State Machine。
进一步地,表达式Express ion包括:id_expr、array_expr、ari th_expr、relation_expr和bool_expr,其中arith_expr、relation_expr、bool_expr实现了最基础的运算规则,不同类型表达式实现对expr的嵌套,实现嵌套和数据表达功能。
进一步地,表达式Equat ion实现等式左右两端数据的传递,是数据流的核心,数据由表达式Expresss ion表达。
进一步地,状态机State Machine实现控制流,通过与expr的嵌套,实现数据流和控制流的混合使用。
进一步地,所述步骤S2具体包括:
S21、通过java编码实现,在pom文件中配置jdom2并通过Maven导入jdom2工具;
S22、XML持久化文件中包含了模型中各标签和标签之间关系信息,编写XML文件解析规则,并调用jdom2工具进行解析,得到标签内容以及标签间的关系;标签之间关系包括标签间父子关系和嵌套关系。
进一步地,对于父子关系的标签,对其子标签进行匹配实现内容抽取。
进一步地,对于嵌套关系的标签,根据XML的标签结构设计深度优先的遍历算法实现内容抽取。
进一步地,所述步骤S3具体包括:
S31、定义XML标签到扩展Lustre语言的转换规则表,创建空白输出文档,打开数据流;
S32、读取当前XML标签相关内容,根据转化规则表生成对应的扩展Lustre关键词,并根据标签数据填充对应关键词数据内容,将生成的数据写入到输出文档中;
S33、在XML文件遍历完成之后,关闭数据流并保存输出文档为扩展Lustre代码。
进一步地,XML标签相关内容包括:XML标签的name和Pre_Element(三)有益效果
本发明提出一种基于XML的扩展Lustre代码生成方法,本发明提出一种基于XML的扩展Lustre代码生成方法,该方法主要有以下特点:
(1)通过自定义一种XML标签结构实现了可视化模型的持久化,保留了模型中元素以及各元素之间的关系,将模型以一种更易于读取和处理的结构化语言进行存储,方便后续通过持久化模型对建模结果进行下一步处理。
(2)在处理XML标签关系部分,定义一种深度优先遍历算法,按照扩展Lustre文法规定实现对数据流和控制流嵌套情况下持久化文件内容的读取和处理过程,保证了模型和文法的一致性。
(3)实现从模型(XML数据文件)到建模语言(扩展Lustre)的转化过程,为航天领域基于模型的软件开发工具开发过程中模型代码生成这一关键环节提供解决办法。
附图说明
图1为本发明的流程图;
图2为模型与XML文件对应关系;
图3为XML持久化文件关键结构示意图;
图4为生成扩展Lustre代码示意图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
针对我国当前基于模型的软件开发工具发展尚处于起步阶段这一情况,本发明通过对扩展Lustre语言拆解、通过调用jdom2工具遍历持久化XML文件、设计从XML到扩展Lustre语言的映射关系,完成基于模型的软件开发工具中从模型持久化XML数据到扩展Lustre代码数据转化重要一环的技术突破。
本发明的目的在于为航天领域基于模型的软件开发工具中解决从持久化文件到模型文件这一关键步骤的问题,实现从模型持久化XML文件到模型语言(扩展Lustre语言)的转化。
本发明提出了一种基于基于XML的扩展Lustre代码生成技术,作为基于模型的软件建模工具中的关键环节将模型持久化(XML格式数据)转化为扩展的Lustre语言,为后续静态分析、仿真调试、可执行代码生成等步骤提供输入。首先对扩展Lustre语言文法规则进行模块拆解,实现文法中关键词的解耦;定义模型持久化文件中的标签与扩展Lustre语言之间的映射关系;通过调用jdom2工具对模型持久化文件中的标签结构进行读取遍历,并按照文法关键词解耦结果设计对应的标签解析规则;按照解析规则将解析得到的标签生成对应扩展Lustre关键词,最终完成对整个模型持久化文件到扩展Lustre语言的代码生成过程。
基于基于XML的扩展Lustre代码生成技术的实现主要基于以下步骤:第一步,通过对定义好的扩展Lustre语言文法进行功能和模块拆解,后续为每一个相对独立模块定义各自的解析规则,模块之间通过编写解析函数实现相互调用;第二步,编写解析函数过程中引入jdom2工具,通过调用jdom2中的方法对步骤一中拆解的各个模块标签进行遍历,并且按照文法规则编写各模块的解析规则;第三步,根据步骤一、二中得到的模块划分结果和遍历解析规则,完成从XML标签到扩展Lustre语言的映射,最终完成整个模型持久化XML文件到扩展Lustre语言代码的转换。
本发明的方法包括如下步骤:
S1、基于扩展Lustre语言文法进行功能和模块拆解
扩展Lustre语言可以进行数据流和控制流的混合使用,适用于当下嵌入式实时系统的开发需求,其文法规则采用巴科斯范式(Backus Normal Form,BNF)进行表示。考虑需要按照文法规则进行生成方法的编写,因此需要对扩展Lustre语言文法进行功能和模块拆解来实现方法之间的相互调用。
S2、通过jdom2工具进行持久化文件遍历
模型持久化文件中包含了模型中所有标签以及各标签之间的关系,标签种类繁多,且标签之间关系复杂,因此需要调用jdom2工具中定义的方法对标签内容进行抽取,并设计解析算法对标签之间的关系进行分析,最终实现对XML持久化文件的遍历,得到标签内容以及标签间的关系。
S3、定义XML标签到扩展Lustre语言的映射并完成代码转换
通过定义标签和扩展Lustre语言中关键词的关系,将模型中的逻辑关系转化为扩展Lustre的表达,最终完成代码生成过程。
实施例1:
本发明流程如图1所示,具体实施步骤为:
S1、基于扩展Lustre语言文法进行功能和模块拆解
扩展Lustre语言通过巴科斯范式进行规则表达,按照功能和模块对Lustre语言文法内容进行拆解,用于后续对每个相对独立之间的模块进行遍历规则和函数方法的设计实现,关键模块拆解结果如下所示:
1.程序(Program)和包结构
program::={{decls}}
package_del::=package[[visibility]]ID{{decls}}end
其中decls为相对对立的模块。
2.声明(Declarat ions)
decls::=open path;
|package_decl
|group_block
|type_block
|const_blcok
|sensor_block
|user_op_decl
decls模块下有不同的类型划分,包括:package_decl、group_block、type_block、const_blcok、sensor_block和user_op_decl,不同类型需定义不同的解析规则。
3.表达式(Expression)
expr::=id_expr
|atom
|list_expr
|tempo_expr
|arith_expr
|relation_expr
|bool_expr
|array_expr
|struct_expr
|mixed_constructor
|switch_expr
|apply_expr
|depend_expr
array_expr::=reverse expr
|expr@expr
|expr index
|expr[expr..expr]
|(expr.{{label or index}}+default expr)
|transpose(expr;INTEGER;INTEGER)
|expr^expr
|[list]
arith_expr::=unary_arith_op expr
|expr bin_arith_op expr
|(expr:type_expr)
relation_expr::=expr bin_relation_op expr
bool_expr::=not expr
|expr bin_bool_op expr
Express ion做为最基础的数据表达方式可以细分为不同类型的表达式,包括:id_expr、array_expr、ari th_expr、relation_expr和bool_expr,其中ari th_expr、relation_expr、bool_expr实现了最基础的运算规则,不同类型表达式可以实现对expr的嵌套,实现嵌套和数据表达功能。
4.等式(Equation)
equation::=simple_equation
|assert
|emission
|control_block return
simple_equation::=lhs=expr
Equation实现等式左右两端数据的传递,是数据流的核心,数据由上文所定义的Expresss ion表达。
5.状态机(State Machine)
state_machine::=automaton[[ID]]{{state_decl}}+
state_decl::=[[initial]][[final]]state ID
[[unless{{transition;}}+]]
data_def
[[until{{transition;}}
[[synchro[[actions]]fork;]]]]
transition::=if expr arrow
arrow::=[[actions]]fork
fork::=target
|if expr arrow{{elsif_fork}}[[else_fork]]end
elsif_fork::=elsif expr arrow
else_fork::=else arrow
target::=restart ID
|resume ID
actions::=do{[[emit]]emission_body
{{;[[emit]]emission_body}}}
|do data_def
State Machine实现控制流,通过与expr的嵌套,实现数据流和控制流的混合使用。
通过对文法内容进行功能和模块拆解可以降低模块之间的耦合关系,方便后续对扩展Lustre语言代码生成函数的编写。
第二步通过jdom2工具进行持久化文件遍历
建模生成的模型经过持久化处理之后会以XML格式进行存储,模型与XML文件对应关系如图2所示,分别表示可视化模型与其对应的持久化文件,之后通过调用jdom2工具并编写解析规则对XML持久化文件进行遍历,其详细步骤如下所示:
S21、本发明通过java编码实现,在pom文件中配置jdom2并通过Maven导入该jdom2工具,方便后续直接调用jdom2工具中的方法。
S22、编写XML文件解析规则,XML持久化文件中包含了模型中各标签和标签之间的关系信息,需要编写相应的算法规则,并调用jdom2工具进行解析,,得到标签内容以及标签间的关系。其关键结构如图3所示,标签之间的关系信息包括:标签间父子关系和嵌套关系。
对于父子关系的标签,仅需要对其子标签进行匹配(通过switch…case)便可实现内容抽取。
嵌套关系的解析需要根据XML的标签结构设计一种深度优先的遍历算法实现内容抽取,其伪代码如下,其中Element对应XML中标签:
第三步定义XML标签到扩展Lustre语言的映射并完成代码转换
步骤二中定义了对持久化文件的遍历规则,针对要处理的标签需要根据其内容不同定义对应的代码转化规则,部分关键转化规则入下表所示:
具体处理过程如下:
S31、定义XML标签到扩展Lustre语言的转换规则表,创建空白输出文档,打开数据流。
S32、读取当前XML标签属性name、Pre_Element相关内容,根据转化规则表生成对应的扩展Lustre关键词,并根据标签数据填充对应关键词数据内容,将生成的数据写入到输出文档中。
S33、在XML文件遍历完成之后,关闭数据流并保存输出文档为扩展Lustre代码。
生成扩展Lustre代码如图4所示。
本发明提出一种基于XML的扩展Lustre代码生成方法,该方法主要有以下特点:
(1)通过自定义一种XML标签结构实现了可视化模型的持久化,保留了模型中标签以及各标签之间的关系,将模型以一种更易于读取和处理的结构化语言进行存储,方便后续通过持久化模型对建模结果进行下一步处理。
(2)在处理XML标签关系部分,定义一种深度优先遍历算法,按照扩展Lustre文法规定实现对数据流和控制流嵌套情况下持久化文件内容的读取和处理过程,保证了模型和文法的一致性。
(3)实现从模型(XML数据文件)到建模语言(扩展Lustre)的转化过程,为航天领域基于模型的软件开发工具开发过程中模型代码生成这一关键环节提供解决办法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (7)
1.一种基于XML的扩展Lustre代码生成方法,其特征在于,该方法包括如下步骤:
S1、基于扩展Lustre语言文法进行功能和模块拆解;
S2、通过jdom2工具进行持久化文件遍历
模型的XML持久化文件中包含了模型中标签以及各标签之间的关系,调用jdom2工具中定义的方法对标签内容进行抽取,并设计解析算法对标签之间的嵌套关系进行分析,最终实现对XML持久化文件的遍历,得到标签内容以及标签间的关系;
S3、定义XML标签到扩展Lustre语言的映射并完成代码转换
通过定义标签和扩展Lustre语言中关键词的关系,将模型中的逻辑关系转化为扩展Lustre的表达,最终完成代码生成过程;
其中,
所述步骤S1具体包括:扩展Lustre语言通过巴科斯范式进行规则表达,按照功能和模块对Lustre语言文法内容进行拆解,用于后续对每个相对独立的模块之间进行遍历规则和函数方法的设计实现,拆解结果包括:程序Program和包结构、声明Declarations、表达式Expression、等式Equation和状态机State Machine;
所述步骤S2具体包括:
S21、通过java编码实现,在pom文件中配置jdom2并通过Maven导入jdom2工具;
S22、XML持久化文件中包含了模型中各标签和标签之间关系信息,编写XML文件解析规则,并调用jdom2工具进行解析,得到标签内容以及标签间的关系;标签之间关系包括标签间父子关系和嵌套关系;
所述步骤S3具体包括:
S31、定义XML标签到扩展Lustre语言的转换规则表,创建空白输出文档,打开数据流;
其中,
XML标签<Program>、<Package>转化为扩展Lustre关键词“/”;
XML标签<NaryOp>、<BinaryOp>、<UnaryOp>转化为扩展Lustre关键词“+”、“*”、“-”、“/”、“lnot”、“>”、“<”、“and”或“or”;
XML标签<PrjDynOp>转化为扩展Lustre关键词“.”;
XML标签<ScalarToVectorOp>转化为扩展Lustre关键词“^”;
S32、读取当前XML标签相关内容,根据转化规则表生成对应的扩展Lustre关键词,并根据标签数据填充对应关键词数据内容,将生成的数据写入到输出文档中;
S33、在XML文件遍历完成之后,关闭数据流并保存输出文档为扩展Lustre代码。
2.如权利要求1所述的基于XML的扩展Lustre代码生成方法,其特征在于,表达式Expression包括:id_expr、array_expr、arith_expr、relation_expr和bool_expr,其中arith_expr、relation_expr、bool_expr实现了最基础的运算规则,不同类型表达式实现对expr的嵌套,实现嵌套和数据表达功能。
3.如权利要求2所述的基于XML的扩展Lustre代码生成方法,其特征在于,表达式Equation实现等式左右两端数据的传递,是数据流的核心,数据由表达式Expresssion表达。
4.如权利要求3所述的基于XML的扩展Lustre代码生成方法,其特征在于,状态机StateMachine实现控制流,通过与expr的嵌套,实现数据流和控制流的混合使用。
5.如权利要求1所述的基于XML的扩展Lustre代码生成方法,其特征在于,对于父子关系的标签,对其子标签进行匹配实现内容抽取。
6.如权利要求1所述的基于XML的扩展Lustre代码生成方法,其特征在于,对于嵌套关系的标签,根据XML的标签结构设计深度优先的遍历算法实现内容抽取。
7.如权利要求1所述的基于XML的扩展Lustre代码生成方法,其特征在于,XML标签相关内容包括:XML标签的name和Pre_Element。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310142370.8A CN116126304B (zh) | 2023-02-21 | 2023-02-21 | 基于XML的扩展Lustre代码生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310142370.8A CN116126304B (zh) | 2023-02-21 | 2023-02-21 | 基于XML的扩展Lustre代码生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116126304A CN116126304A (zh) | 2023-05-16 |
CN116126304B true CN116126304B (zh) | 2023-12-22 |
Family
ID=86308066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310142370.8A Active CN116126304B (zh) | 2023-02-21 | 2023-02-21 | 基于XML的扩展Lustre代码生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116126304B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116150005B (zh) * | 2023-01-16 | 2023-11-28 | 北京计算机技术及应用研究所 | 基于扩展Lustre语言的模型形式化验证方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975669A (zh) * | 2006-12-15 | 2007-06-06 | 中兴通讯股份有限公司 | Xml语言描述的业务逻辑映射到应用语言的方法 |
JP2008165342A (ja) * | 2006-12-27 | 2008-07-17 | Hitachi Software Eng Co Ltd | ソースコード生成方法及び装置並びにプログラム |
CN101794225A (zh) * | 2010-02-26 | 2010-08-04 | 南京师范大学 | 一种基于gdom及其持久化的gml解析方法 |
CN111639501A (zh) * | 2020-05-04 | 2020-09-08 | 国网浙江省电力有限公司 | 基于amsl的电网业务微服务组合方法 |
CN114257394A (zh) * | 2021-10-25 | 2022-03-29 | 南京林业大学 | 一种基于模型检测的攻击图生成方法 |
-
2023
- 2023-02-21 CN CN202310142370.8A patent/CN116126304B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1975669A (zh) * | 2006-12-15 | 2007-06-06 | 中兴通讯股份有限公司 | Xml语言描述的业务逻辑映射到应用语言的方法 |
JP2008165342A (ja) * | 2006-12-27 | 2008-07-17 | Hitachi Software Eng Co Ltd | ソースコード生成方法及び装置並びにプログラム |
CN101794225A (zh) * | 2010-02-26 | 2010-08-04 | 南京师范大学 | 一种基于gdom及其持久化的gml解析方法 |
CN111639501A (zh) * | 2020-05-04 | 2020-09-08 | 国网浙江省电力有限公司 | 基于amsl的电网业务微服务组合方法 |
CN114257394A (zh) * | 2021-10-25 | 2022-03-29 | 南京林业大学 | 一种基于模型检测的攻击图生成方法 |
Non-Patent Citations (2)
Title |
---|
同步语言 Lustre 的编译前端的设计与实现;宋宇婷等;《计算机技术与发展》;第30卷(第2期);第33-36页 * |
核安全级DCS系统模型驱动可信代码自动生成方法;兰林等;《仪器仪表用户》;第27卷(第11期);第52-56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116126304A (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106648662B (zh) | 基于工程造价计算描述语言bcl的报表生成装置及生成方法 | |
US7313773B1 (en) | Method and device for simulator generation based on semantic to behavioral translation | |
US20020143823A1 (en) | Conversion system for translating structured documents into multiple target formats | |
US20080244541A1 (en) | Code translator and method of automatically translating modeling language code to hardware language code | |
US20070006134A1 (en) | Data processing method compatible with an object modeling formalism | |
CN106951305B (zh) | 一种基于模型转换由QVT-R语言生成midCore脚本的方法 | |
CN116126304B (zh) | 基于XML的扩展Lustre代码生成方法 | |
CN115964033B (zh) | 基于模型的可视化软件开发工具实现方法 | |
Fritzson et al. | Towards Modelica 4 meta-programming and language modeling with MetaModelica 2.0 | |
Fritzson et al. | Meta-programming and language modeling with MetaModelica 1.0 | |
CN102937910B (zh) | 控制算法跨平台转换系统及方法 | |
Alimarine | Generic functional programming conceptual design, implementation and applications | |
Neubauer et al. | A functional notation for functional dependencies | |
Braga et al. | Modular structural operational semantics with strategies | |
WO2008075087A1 (en) | Code translator and method of automatically translating modelling language code to hardware language code | |
Mailund | Domain-Specific Languages in R: Advanced Statistical Programming | |
Sunitha | Compiler construction | |
Ramalho et al. | Algebraic specification of documents | |
Cuinat et al. | Specedit: Projectional editing for tla+ specifications | |
Ledgard | A formal system for defining the syntax and semantics of computer languages | |
Frappier et al. | Combining JSD and Cleanroom for object-oriented scenario specification | |
van den Brand et al. | Term rewriting with type-safe traversal functions | |
Borovanský et al. | ELAN | |
Yang | Overview of Core Technologies of Compilers | |
CN118312211A (zh) | 一种基于插件和ai流编排的接口文档生成方法及系统 |
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 |