CN109858169B - 一种基于Modelica的模型平坦化方法 - Google Patents
一种基于Modelica的模型平坦化方法 Download PDFInfo
- Publication number
- CN109858169B CN109858169B CN201910113739.6A CN201910113739A CN109858169B CN 109858169 B CN109858169 B CN 109858169B CN 201910113739 A CN201910113739 A CN 201910113739A CN 109858169 B CN109858169 B CN 109858169B
- Authority
- CN
- China
- Prior art keywords
- model
- variable
- name
- flattening
- modelica
- 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
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于Modelica的模型平坦化方法,该方法通过分析模型的词法和语法结构,将带层次结构的原模型变为平坦化的模型,生成的平坦化模型中所有的组件类型都是Modelica的内置类型,所以该平坦化模型可在任意支持Modelica语言的平台上仿真,而不依赖于其它模型库。本发明解除了模型对于其所用到的模型库的依赖关系,大大简化了模型后续的使用和管理,同时又解决了模型中各模块所依赖的模型库不兼容的问题,便于模型的后续构建。本发明还通过带Q‑IDENT的巧妙处理方式,在保证了平坦化模型与原模型所描述***的一致性的同时,又保留了原模型变量与平坦化模型变量的对应关系,因此具有更好的可调试性。
Description
技术领域
本发明属于***建模仿真领域,具体涉及一种基于Modelica的模型平坦化方法。
背景技术
建模人员在构建***模型时,往往会用到的一些已有的模型库,比如Modelica标准库,因此就会与这些模型库形成依赖关系,即:在任意平台下使用某个***模型时,都需要同时加载该***模型所依赖的模型库。
但是这种依赖关系会带来如下问题:
1、在使用和管理所构建的***模型时,需要加载和管理该***模型所依赖的模型库,这会使得***模型的使用和管理复杂化。这种复杂化是可以避免的,因为***模型只会使用所依赖的模型库的一部分,建模人员只需处理其依赖的部分,而不是处理整个模型库。
2、所构建的***模型中,各功能模块所依赖的模型库可能并不兼容(比如Modelica标准库Modelica2.2.2和Modelica3.2),这种情况下***模型的构建会变得非常困难。
发明内容
本发明的目的在于提供一种基于Modelica的模型平坦化方法,以解决上述现有技术中因模型库依赖所导致的模型构建、使用和管理不便的问题。
为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种基于Modelica的模型平坦化方法,包括以下具体步骤:
步骤1)对Modelica模型的词法和语法结构进行分析,获得模型数据,然后判定Modelica模型是否存在错误;若Modelica模型有错误,则直接结束步骤,若Modelica模型没有错误,则进入下一步;
步骤2)创建平坦化模型文件,并分别定义平坦化模型的模型名称以及平坦化模型文件的文件名称;
步骤3)处理从步骤1)中所得的模型数据,并打印在平坦化模型文件中,具体步骤如下:
3.1)处理模型变元树和变形方程列表,打印变量声明及变形;
3.2)处理外部对象类型列表,打印外部对象类型声明;
3.3)处理用户自定义函数列表,打印用户自定义函数;
3.4)处理记录类型列表,打印记录类型声明;
3.5)处理初始方程列表,打印初始方程;
3.6)处理初始算法列表,打印初始算法;
3.7)处理常规方程列表,打印常规方程;
3.8)处理常规算法列表,打印常规算法;
3.9)处理动画方程列表,打印动画方程;
步骤4)保存得到的平坦化模型文件,即完成模型的平坦化,获得平坦化模型;
步骤5)结束。
进一步的,在步骤3)的后续步骤打印模型其他模块时,都要利用模型变量原名与其平坦化模型变量名之间的映射表,将模型其他模块中出现的变量原名替换成与其对应的平坦化模型变量名。
在打印过程中,表达式成员访问符’.’转化为字符串,假设a.b表示为表达式成员访问符’.’,访问符左子为a,右子为b,具体步骤如下:
1)处理左子,若左子为变元转2),若左子为数组下标转3),若左子为成员访问符转4),否则报错,返回左子对应字符串和下标列表;
2)若左子变元为记录类型,查找模型变量原名与其平坦化模型变量名之间的映射表,获取左子变元对应平坦化模型变量名称;否则,左子变元为void数组类型,返回空字符串,获取数组下标;
3)取数组下标首子对应变量,若该变量为记录类型,查找模型变量原名与其平坦化模型变量名之间的映射表,获取该变量对应平坦化模型变量名称,获取数组下标并拼接至该变量对应平坦化模型变量名称;否则,该变量为void数组类型,返回空字符串,获取数组下标;
4)成员访问符’.’,递归处理,转1);
5)处理右子,若右子为变元转6),若右子为数组下标转7);
6)当右子变元为Modelica内置类型、外部对象或记录类型时,若左子处理返回结果为空字符串,则查找模型变量原名与其平坦化模型变量名之间的映射表,获取右子变元对应平坦化模型变量名称,若右子变元为数组类型,获取数组下标并拼接至右子变元对应平坦化模型变量名称;若左子处理返回结果不为空,获取右子变量原名并拼接至左子处理返回字符串;当右子变元为void数组类型时,则左子处理返回结果一定为空字符串,若右子变元为数组类型,获取数组下标,返回空字符串;
7)右子为数组下标,获取下标首子对应变量,当变量为Modelica内置类型、外部对象或记录类型时,若左子处理返回结果为空字符串,查找模型变量原名与其平坦化模型变量名之间的映射表,获取该变量对应平坦化模型变量名称,获取数组下标并拼接至该变量对应平坦化模型变量名称;若左子处理返回结果不为空,获取该变量原名并拼接至左子处理返回字符串,获取数组下标并拼接至返回字符串;当变量类型为void数组类型时,则左子返回结果一定为空字符串,获取数组下标,返回空字符串。
进一步的,平坦化模型的模型名称与平坦化模型文件的文件名称相同,且平坦化模型的模型名称与平坦化模型文件的文件名称均设定为原模型名+“_flat”。
进一步的,记录类型为Modelica类型record。
进一步的,所获得的平坦化模型具有以下特点:
1、平坦化模型可独立仿真,不再依赖于其它模型,包括modelica标准库模型。
2、平坦化模型的变量名称为原modelica模型变量全名+Q-IDENT(该模型变量全名不是模型变量原名,而是展开其层次结构后的名称,这个名称是非法的Modelica变量名称),如原模型变量全名为a.b.c,则对应平坦化模型的变量名称为’a.b.c’(Q-IDENT为Modelica字符,通过加Q-IDENT可以使得非法的Modelica变量名a.b.c变为合法的变量名’a.b.c’),如此,既保证了平坦化模型变量名称的合法性,同时又从变量名称上保留了与原modelica模型变量的对应关系。
3、在步骤1)的对Modelica模型的词法和语法结构进行分析后,会得到用户的自定义函数,这其中就包含了外部对象构造、析构函数、以及记录构造函数,而这三个函数是步骤1)中根据Modelica语义分析模型时自动生成的,不属于用户显式定义在模型文本中的Modelica类型function,所以在打印用户自定义函数时,不包括外部对象构造和析构函数,以及记录构造函数。
4、对于记录类型,只有在原模型中存在该记录类型变量的整体使用或者存在该记录类型变量的记录构造使用,该记录类型声明才会在平坦化模型中打印。
5、记录类型的变量只有在原模型中被整体使用才会在平坦化模型中打印其声明,否则以分量形式打印。
本发明的有益效果是:
1、本发明提出了一种将模型平坦化的方法,解除了模型对于其所用到的模型库的依赖关系,大大简化了模型后续的使用和管理。同时,本发明又可以解决模型中各模块所依赖的模型库不兼容的问题,便于模型的后续构建。
2、本发明的模型平坦化方法通过分析模型的词法和语法结构,将带有层次结构的原模型转化为平坦化的模型,并且通过带Q-IDENT的巧妙处理方式,在保证了平坦化模型与原模型所描述***的一致性的同时,又保留了原模型变量与平坦化模型变量的对应关系,因此消除了层次结构的平坦化模型相较于带有层次结构的原模型具有更好的可调试性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明。本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明基于Modelica的模型平坦化方法的流程图;
图2为本发明对各子模块依赖库不兼容模型平坦化的流程图。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。
实施例1
参见图1所示,一种基于Modelica的模型平坦化方法,包括以下具体步骤:
步骤1)对Modelica模型的词法和语法结构进行分析,获得模型数据,然后判定Modelica模型是否存在错误;若Modelica模型有错误,则直接结束步骤,若Modelica模型没有错误,则进入下一步;
步骤2)创建平坦化模型文件,并分别将平坦化模型的模型名称以及平坦化模型文件的文件名称定义为原模型名+“_flat”;
步骤3)处理从步骤1)中所得的模型数据,并打印在平坦化模型文件中,具体步骤如下:
3.1)处理模型变元树和变形方程列表,打印变量声明及变形;
其中,平坦化模型的变量名称为原modelica模型变量全名+Q-IDENT(该模型变量全名不是模型变量原名,而是展开其层次结构后的名称,这个名称是非法的Modelica变量名称),如原模型变量全名为a.b.c,则对应平坦化模型的变量名称为’a.b.c’(Q-IDENT为Modelica字符,通过加Q-IDENT可以使得非法的Modelica变量名a.b.c变为合法的变量名’a.b.c’),如此,既保证了平坦化模型变量名称的合法性,同时又从变量名称上保留了与原modelica模型变量的对应关系;
在后续步骤打印模型其他模块时,都要利用模型变量原名与其平坦化模型变量名之间的映射表,将模型其他模块中出现的变量原名替换成与其对应的平坦化模型变量名;
在打印过程中,表达式成员访问符’.’转化为字符串,假设a.b表示为表达式成员访问符’.’,访问符左子为a,右子为b,具体步骤如下:
1)处理左子,若左子为变元转2),若左子为数组下标转3),若左子为成员访问符转4),否则报错,返回左子对应字符串和下标列表;
2)若左子变元为记录类型,查找模型变量原名与其平坦化模型变量名之间的映射表,获取左子变元对应平坦化模型变量名称;否则,左子变元为void数组类型,返回空字符串,获取数组下标;
3)取数组下标首子对应变量,若该变量为记录类型,查找模型变量原名与其平坦化模型变量名之间的映射表,获取该变量对应平坦化模型变量名称,获取数组下标并拼接至该变量对应平坦化模型变量名称;否则,该变量为void数组类型,返回空字符串,获取数组下标;
4)成员访问符’.’,递归处理,转1);
5)处理右子,若右子为变元转6),若右子为数组下标转7);
6)当右子变元为Modelica内置类型、外部对象或记录类型时,若左子处理返回结果为空字符串,则查找模型变量原名与其平坦化模型变量名之间的映射表,获取右子变元对应平坦化模型变量名称,若右子变元为数组类型,获取数组下标并拼接至右子变元对应平坦化模型变量名称;若左子处理返回结果不为空,获取右子变量原名并拼接至左子处理返回字符串;当右子变元为void数组类型时,则左子处理返回结果一定为空字符串,若右子变元为数组类型,获取数组下标,返回空字符串;
7)右子为数组下标,获取下标首子对应变量,当变量为Modelica内置类型、外部对象或记录类型时,若左子处理返回结果为空字符串,查找模型变量原名与其平坦化模型变量名之间的映射表,获取该变量对应平坦化模型变量名称,获取数组下标并拼接至该变量对应平坦化模型变量名称;若左子处理返回结果不为空,获取该变量原名并拼接至左子处理返回字符串,获取数组下标并拼接至返回字符串;当变量类型为void数组类型时,则左子返回结果一定为空字符串,获取数组下标,返回空字符串;
3.2)处理外部对象类型列表,打印外部对象类型声明;
3.3)处理用户自定义函数列表,打印用户自定义函数;
在对Modelica模型的词法和语法结构进行分析后,会得到用户的自定义函数,这其中就包含了外部对象构造、析构函数、以及记录构造函数,而这三个函数是步骤1)中根据Modelica语义分析模型时自动生成的,不属于用户显式定义在模型文本中的Modelica类型function,所以在打印用户自定义函数时,不包括外部对象构造和析构函数,以及记录构造函数。
3.4)处理记录类型列表,打印记录类型声明;
对于记录类型,只有在原模型中存在该记录类型变量的整体使用或者存在该记录类型变量的记录构造使用,该记录类型声明才会在平坦化模型中打印;并且,记录类型为Modelica类型record,记录类型的变量只有在原模型中被整体使用才会在平坦化模型中打印其声明,否则以分量形式打印;
3.5)处理初始方程列表,打印初始方程;
3.6)处理初始算法列表,打印初始算法;
3.7)处理常规方程列表,打印常规方程;
3.8)处理常规算法列表,打印常规算法;
3.9)处理动画方程列表,打印动画方程;
步骤4)保存得到的平坦化模型文件,即完成模型的平坦化,获得平坦化模型,该平坦化模型可独立仿真,不再依赖于其它模型,包括modelica标准库模型。
步骤5)结束。
实施例2
参见图2所示,进一步说明本发明的模型平坦化方法用于处理模型中各子模块所依赖库不兼容的示例,具体包含以下步骤:
步骤1)将原Modelica***模型划分为4个Modelica模型模块,其中模块1和模块3所依赖的模型库不兼容;
步骤2)使用实施例1的基于Modelica的模型平坦化方法将模块1和模块3转化为平坦化模块1和平坦化模块3;
步骤3)利用平坦化模块1和平坦化模块3,以及原始的模块2和模块4,重新构建***模型;
步骤4)再次使用实施例1的基于Modelica的模型平坦化方法将重新构建的***模型转化生成为平坦化***模型;
步骤5)结束。
上述实施例只是为了说明本发明的技术构思及特点,其目的是在于让本领域内的普通技术人员能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡是根据本发明内容的实质所作出的等效的变化或修饰,都应涵盖在本发明的保护范围内。
Claims (7)
1.一种基于Modelica的模型平坦化方法,其特征在于,包括以下具体步骤:
步骤1)对Modelica模型的词法和语法结构进行分析,获得模型数据,然后判定Modelica模型是否存在错误;若Modelica模型有错误,则直接结束步骤,若Modelica模型没有错误,则进入下一步;
步骤2)创建平坦化模型文件,并分别定义平坦化模型的模型名称以及平坦化模型文件的文件名称;
步骤3)处理从步骤1)中所得的模型数据,并打印在平坦化模型文件中,具体步骤如下:
3.1)处理模型变元树和变形方程列表,打印变量声明及变形;具体包含如下步骤:
预处理模型变元树,得到模型变量原名与其平坦化模型变量名之间的映射表,其中模型变元树表示原模型中带层次模型变量结构;
预处理变形方程列表,得到平坦化模型变量与其变形方程的映射表;
利用上述得到的模型变量原名与其平坦化模型变量名之间的映射表以及平坦化模型变量与其变形方程的映射表,依次打印平坦化模型变量的声明及其变形;
3.2)处理外部对象类型列表,打印外部对象类型声明;
3.3)处理用户自定义函数列表,打印用户自定义函数;
3.4)处理记录类型列表,打印记录类型声明;
3.5)处理初始方程列表,打印初始方程;
3.6)处理初始算法列表,打印初始算法;
3.7)处理常规方程列表,打印常规方程;
3.8)处理常规算法列表,打印常规算法;
3.9)处理动画方程列表,打印动画方程;
在步骤3)的后续步骤打印模型其他模块时,都要利用模型变量原名与其平坦化模型变量名之间的映射表,将模型其他模块中出现的变量原名替换成与其对应的平坦化模型变量名;
在打印过程中,表达式成员访问符’.’转化为字符串,假设a.b表示为表达式成员访问符’.’,访问符左子为a,右子为b,具体步骤如下:
1)处理左子,若左子为变元转2),若左子为数组下标转3),若左子为成员访问符转4),否则报错,返回左子对应字符串和下标列表;
2)若左子变元为记录类型,查找模型变量原名与其平坦化模型变量名之间的映射表,获取左子变元对应平坦化模型变量名称;否则,左子变元为void数组类型,返回空字符串,获取数组下标;
3)取数组下标首子对应变量,若该变量为记录类型,查找模型变量原名与其平坦化模型变量名之间的映射表,获取该变量对应平坦化模型变量名称,获取数组下标并拼接至该变量对应平坦化模型变量名称;否则,该变量为void数组类型,返回空字符串,获取数组下标;
4)成员访问符’.’,递归处理,转1);
5)处理右子,若右子为变元转6),若右子为数组下标转7);
6)当右子变元为Modelica内置类型、外部对象或记录类型时,若左子处理返回结果为空字符串,则查找模型变量原名与其平坦化模型变量名之间的映射表,获取右子变元对应平坦化模型变量名称,若右子变元为数组类型,获取数组下标并拼接至右子变元对应平坦化模型变量名称;若左子处理返回结果不为空,获取右子变量原名并拼接至左子处理返回字符串;当右子变元为void数组类型时,则左子处理返回结果一定为空字符串,若右子变元为数组类型,获取数组下标,返回空字符串;
7)右子为数组下标,获取下标首子对应变量,当变量为Modelica内置类型、外部对象或记录类型时,若左子处理返回结果为空字符串,查找模型变量原名与其平坦化模型变量名之间的映射表,获取该变量对应平坦化模型变量名称,获取数组下标并拼接至该变量对应平坦化模型变量名称;若左子处理返回结果不为空,获取该变量原名并拼接至左子处理返回字符串,获取数组下标并拼接至返回字符串;当变量类型为void数组类型时,则左子返回结果一定为空字符串,获取数组下标,返回空字符串;
步骤4)保存得到的平坦化模型文件,即完成模型的平坦化,获得平坦化模型;
步骤5)结束。
2.根据权利要求1所述的基于Modelica的模型平坦化方法,其特征在于:步骤2)中,平坦化模型的模型名称与平坦化模型文件的文件名称相同。
3.根据权利要求2所述的基于Modelica的模型平坦化方法,其特征在于:步骤2)中,平坦化模型的模型名称与平坦化模型文件的文件名称均设定为原模型名+“_flat”。
4.根据权利要求1所述的基于Modelica的模型平坦化方法,其特征在于:步骤3)的3.1)中,平坦化模型的变量名称为原Modelica模型变量全名+Q-IDENT,以保证平坦化模型变量名称的合法性,同时又从变量名称上保留了与原Modelica模型变量的对应关系。
5.根据权利要求1所述的基于Modelica的模型平坦化方法,其特征在于:步骤3)的3.3)中,用户自定义函数不包括外部对象构造和析构函数,以及记录构造函数。
6.根据权利要求1所述的基于Modelica的模型平坦化方法,其特征在于:步骤3)的3.4)中,对于记录类型,只有在原模型中存在该记录类型变量的整体使用或者存在该记录类型变量的记录构造使用,该记录类型声明才会在平坦化模型中打印。
7.根据权利要求6所述的基于Modelica的模型平坦化方法,其特征在于:步骤3)的3.4)中,记录类型为Modelica类型record,且记录类型的变量只有在原模型中被整体使用才会在平坦化模型中打印其声明,否则以分量形式打印。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113739.6A CN109858169B (zh) | 2019-02-14 | 2019-02-14 | 一种基于Modelica的模型平坦化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910113739.6A CN109858169B (zh) | 2019-02-14 | 2019-02-14 | 一种基于Modelica的模型平坦化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858169A CN109858169A (zh) | 2019-06-07 |
CN109858169B true CN109858169B (zh) | 2023-04-07 |
Family
ID=66897914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910113739.6A Active CN109858169B (zh) | 2019-02-14 | 2019-02-14 | 一种基于Modelica的模型平坦化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858169B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254464A (zh) * | 2011-08-10 | 2011-11-23 | 上海交通大学 | 基于构件机械原理的机构运动虚拟实验仿真方法 |
CN103942086A (zh) * | 2014-01-26 | 2014-07-23 | 华东师范大学 | 基于aadl的创建、分析和仿真混成***模型的方法 |
WO2017117607A1 (en) * | 2015-12-31 | 2017-07-06 | Esi Group | Augmentation of virtual models |
-
2019
- 2019-02-14 CN CN201910113739.6A patent/CN109858169B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102254464A (zh) * | 2011-08-10 | 2011-11-23 | 上海交通大学 | 基于构件机械原理的机构运动虚拟实验仿真方法 |
CN103942086A (zh) * | 2014-01-26 | 2014-07-23 | 华东师范大学 | 基于aadl的创建、分析和仿真混成***模型的方法 |
WO2017117607A1 (en) * | 2015-12-31 | 2017-07-06 | Esi Group | Augmentation of virtual models |
Non-Patent Citations (6)
Title |
---|
"Generating Modelica Models from Software Specifications for the Simulation of Cyber-Physical Systems";Uwe Pohlmann 等;《2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications》;20141231;第191-198页 * |
"基于Event-B方法的安全协议设计、建模与验证";李梦君 等;《软件学报》;20181130;第29卷(第11期);第3400-3411页 * |
"基于Modelica的半物理仿真硬件接口控制技术";张洪昌 等;《计算机辅助工程》;20151031;第24卷(第5期);第6-9、32页 * |
"工程***多领域统一模型编译映射与仿真求解研究";周凡利;《中国博士学位论文全文数据库(工程科技Ⅱ辑)》;20120515;正文第13-14、18、35、47-48、51页 * |
Ch.Höger 等."Notes on the Separate Compilation of Modelica".《3rd International Workshop on Equation-Based Object-Oriented Modeling Languages and Tools》.2010, * |
Christoph Höger 等."Variable-Structure Modeling from an Operational Perspective".《Elaborate Control》.2017, * |
Also Published As
Publication number | Publication date |
---|---|
CN109858169A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708539B (zh) | 一种应用程序代码转换方法、装置、电子设备和存储介质 | |
CN112100054B (zh) | 一种面向数据管控的程序静态分析方法和*** | |
CN110609693B (zh) | 基于数据标准化的代码更新方法、装置及终端设备 | |
CN106227668B (zh) | 数据处理方法和装置 | |
EP3745256A1 (en) | External code integrations within a computing environment | |
CN102012954B (zh) | 用于***芯片集成设计的子***集成方法及其子***集成*** | |
CN110007920B (zh) | 一种获取代码依赖关系的方法、装置及电子设备 | |
CN107609302B (zh) | 一种产品工艺结构生成方法及*** | |
CN111249736B (zh) | 代码处理方法及装置 | |
CN114780100B (zh) | 编译方法、电子设备及存储介质 | |
CN112416365A (zh) | 文件转换方法、装置及存储介质 | |
CN112818176B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110659063A (zh) | 软件项目重构方法、装置、计算机装置及存储介质 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN109858169B (zh) | 一种基于Modelica的模型平坦化方法 | |
CN111124883A (zh) | 一种基于树形表格的测试用例库引入方法、***及设备 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN110659022A (zh) | 一种基于Java自动调用Python脚本的方法 | |
CN112560413B (zh) | 基于配置模式的报表扩展方法、装置和设备 | |
CN110737431B (zh) | 软件开发方法、开发平台、终端设备及存储介质 | |
CN114218261A (zh) | 数据查询方法、装置、存储介质以及电子设备 | |
CN114791808A (zh) | 一种数据流图生成方法及装置 | |
CN117555925B (zh) | 数据库访问代码转换方法、装置及电子设备 | |
CN117407002A (zh) | 代码转换方法、装置、计算机设备和存储介质 | |
CN117667089A (zh) | 前端表单生成方法、装置、存储介质及电子设备 |
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 |