WO2018233673A1 - 一种控制器中模型代码配置方法和装置、存储介质 - Google Patents

一种控制器中模型代码配置方法和装置、存储介质 Download PDF

Info

Publication number
WO2018233673A1
WO2018233673A1 PCT/CN2018/092262 CN2018092262W WO2018233673A1 WO 2018233673 A1 WO2018233673 A1 WO 2018233673A1 CN 2018092262 W CN2018092262 W CN 2018092262W WO 2018233673 A1 WO2018233673 A1 WO 2018233673A1
Authority
WO
WIPO (PCT)
Prior art keywords
converted
template
code
model code
file
Prior art date
Application number
PCT/CN2018/092262
Other languages
English (en)
French (fr)
Inventor
孙权
胡常举
王丹
刘万慧
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2018233673A1 publication Critical patent/WO2018233673A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • the present application relates to communication technologies, and in particular, to a model code configuration method and apparatus and a storage medium in a controller.
  • SDN Software Defined Network
  • the new features of the filtering device are upgraded, or the policy of ignoring the modified feature is adopted, or the controller is adapted for the upgraded device, although to a certain extent Ensure that the original functions are normal, but the support, testing, and deployment of new features after the device upgrade are seriously lagging.
  • the application model with increased synchronization will cause a sharp increase in redundant code, and the system compile time is too long.
  • a series of problems such as lowering and increasing maintenance costs.
  • At least one embodiment of the present application provides a method and apparatus for configuring a model code in a controller, and a storage medium, so that the controller better supports new features of the device.
  • At least one embodiment of the present application provides a method for configuring a model code in a controller, including:
  • the template required to establish the modeling file to be converted includes at least one of the following:
  • a template is created for the modeling file to be converted, or a template required for the modeling file to be converted is obtained from a pre-established template library.
  • the method before the generating the model code, according to the modeling file to be converted and the configured template, the method further includes:
  • Performing at least one of the following configurations according to the modeling file to be converted a path configuration, a keyword conflict configuration, and a customized field mapping configuration.
  • the generating the model code according to the template to be converted and the configured template includes:
  • modeling file to be converted is a modeling file of multiple versions of the same device, perform structural comparison extraction on the plurality of modeling files, extract a common structure and record, and generate a code of the shared structure.
  • the model code of the modeling file to be translated inherits the code of the shared structure.
  • the generating the model code according to the template to be converted and the configured template includes:
  • the method further includes:
  • At least one embodiment of the present application provides a model code configuration apparatus in a controller, including:
  • a configuration module configured to acquire a modeling file of the device to be converted, establish a template required for the modeling file to be converted, and configure the template
  • a code generating module configured to generate a model code according to the modeling file to be converted and the configured template
  • the import module is configured to import the model code into the controller.
  • the configuration module is further configured to perform at least one of the following configurations according to the modeling file to be converted: a path configuration, a keyword conflict configuration, and a customized field mapping configuration.
  • the code generating module generates the model code according to the modeling file to be converted and the configured template, including:
  • modeling file to be converted is a modeling file of multiple versions of the same device, perform structural comparison extraction on the plurality of modeling files, extract a common structure and record, and generate a code of the shared structure.
  • the model code of the modeling file to be translated inherits the code of the shared structure.
  • the code generating module generates the model code according to the modeling file to be converted and the configured template, including:
  • the code generating module is further configured to translate Yang's extended Bacchus paradigm into (before) generating the model code according to the template to be converted and the configured template.
  • the grammar of the parser ANTLR converts the model file to be converted into a file of the ANTLR grammar and performs lexical analysis and grammar analysis.
  • At least one embodiment of the present application provides a controller code configuration apparatus in a controller, including a memory and a processor, the memory storing a program, when the program is read and executed by the processor, performing the following operations:
  • the generating the model code according to the template to be converted and the configured template includes:
  • modeling file to be converted is a modeling file of multiple versions of the same device, perform structural comparison extraction on the plurality of modeling files, extract a common structure and record, and generate a code of the shared structure.
  • the model code of the modeling file to be translated inherits the code of the shared structure.
  • the generating the model code according to the template to be converted and the configured template includes:
  • At least one embodiment of the present application provides a computer readable storage medium storing a computer program, the computer program being operative to perform the method of any of the above embodiments.
  • the model generation rules and configuration are externally set by calling a template, and the applicability of the model code is enhanced.
  • the multi-version is compared, and the common structure is extracted, and the shared structure can be reused to simplify the generation of the model code.
  • FIG. 1 is a flowchart of a method for configuring a model code in a controller according to an embodiment of the present application
  • FIG. 2 is a flowchart of a method for configuring a model code in a controller according to an embodiment of the present disclosure
  • FIG. 3 is a block diagram of a model code configuration apparatus in a controller according to an embodiment of the present disclosure.
  • Yang is an A Data Modeling Language for the Network Configuration Protocol language, which is used for model configuration and status data.
  • the syntax of modeling in view of its structural simplicity and flexibility, can separate the actual protocol implementation from the information exchanged by the external system.
  • ANTLR Tool for Language Recognition
  • Another Tool for Language Recognition is an open source parser that can automatically generate and visualize a syntax tree based on input.
  • the language model ANTLR and the template engine (Bee Template Language, Beetl) are used to compile and generate the customized model of the Yang model.
  • the Yang file version comparison function is added, the model is reused as much as possible, and the design is simplified, thereby making the controller
  • the adaptation of the Yang model in the middle becomes possible, shortening the response time of the controller to the new version of the device, and improving the research and development efficiency.
  • At least one embodiment of the present application provides a controller configuration method, as shown in FIG. 1, including:
  • Step 101 Acquire a modeling file (such as a Yang file) of the device to be converted, and establish a template required for the modeling file to be converted (such as a Yang file), and configure the template;
  • a modeling file such as a Yang file
  • a template required for the modeling file to be converted such as a Yang file
  • Step 102 Generate a model code according to the modeling file to be converted (such as a Yang file) and the configured template.
  • step 103 the model code is imported to the controller.
  • the template required to establish the Yang file to be converted in the step 101 includes at least one of the following:
  • a template is created for the Yang file to be converted, or a template required for the Yang file to be converted is obtained from a pre-established template library.
  • an auxiliary configuration is further performed, where the auxiliary configuration includes at least one of the following: a path configuration, a keyword conflict configuration, and a customized field mapping configuration. It can also include other necessary configurations.
  • step 102 a piece of code is generated according to each template, and the codes generated by each template are combined to form a completed model code.
  • step 102 if the Yang file to be converted is a Yang file of multiple versions of the same device, the structure comparison of the plurality of Yang files is performed, and the common structure is extracted and recorded. Generating code of the shared structure, and the model code of the Yang file to be converted inherits the code of the shared structure.
  • the device has only one Yang file and no other version of the Yang file, no structural comparison extraction is required.
  • the comparison of the structures can be performed, thereby multiplexing the common structure and improving the code generation efficiency.
  • step 102 generating a model code according to the Yang file to be converted and the configured template includes: acquiring a recorded common structure, and determining whether the Yang file to be converted includes The recorded shared structure, if included, the model code of the Yang file to be converted inherits the code of the shared structure included in the Yang file to be converted.
  • the generating the model code according to the Yang file to be converted and the configured template further includes:
  • the Yang file to be converted by the device is converted into a file of the ANTLR grammar and then subjected to lexical analysis and grammar analysis.
  • the template configuration is based on the Beetl template engine. Of course, it can also be based on other template engines. It should be noted that the template engine needs to correspond to the template.
  • the present application has the following advantages: BCB separation and configurability, externalization of model generation rules and configurations, and enhancement of model code applicability.
  • Multi-version Yang file comparison and common extraction reduce redundancy, enhance reuse, reduce maintenance costs, and simplify development.
  • ANTLR syntax support for the definition of new syntax rules, so that the system supports simple and flexible new features. Rich call interface, support Maven Build-plugin configuration generation, RESTFUL, local interface.
  • FIG. 2 is a flowchart of a method for configuring a model code in a controller according to an embodiment of the present application.
  • the method shown in FIG. 1 will be described in detail below in conjunction with a specific L2Switch (Layer 2 Switching Service) usage embodiment. As shown in Figure 2, it includes:
  • Step 201 establishing a template library for model code generation
  • the template library includes a plurality of templates to meet the requirements of model code generation.
  • the model code is directly generated according to the Yang file.
  • multiple templates are created, and when the model code is generated according to the Yang file, the template is invoked, thereby facilitating migration between platforms and multiplexing between models.
  • Step 202 translating the ABNF grammar into an ANTLR grammar based on the ABNF definition of the Yang language in rfc6020.
  • the translation can refer to the ANBF syntax defined in RFC5234 and the ANTLR grammar defined in http://www.antlr.org/.
  • a translation example is shown in Table 1. Note that ANTLR does not support left recursive grammars and needs to eliminate the definition of left recursive methods.
  • Step 203 performing a base code block (BCB) configuration
  • BCB refers to the sum of information required to construct a complete model object code. For example, the get/set method definition in the Java language class, the equals/hashCode method definition and the attribute definition.
  • the BCB configuration includes: auxiliary configuration and template configuration.
  • the auxiliary configuration includes at least one of the following: a path configuration, a keyword conflict configuration, and a customized field mapping configuration.
  • the path configuration includes: the Yang file directory, the source code generation path (ie, the saved address of the generated model code), the local Repository address, and the remote Repository address.
  • the source code generation path ie, the saved address of the generated model code
  • the local Repository address ie, the saved address of the generated model code
  • the remote Repository address ie, the saved address of the generated model code
  • Table 2-1 An example of a path configuration is shown in Table 2-1.
  • Table 2-1 lists the directory where the Yang file to be converted in the controller is located, and the output path of the model code generated from the Yang file.
  • conflict-config is a conflict configuration, such as hypen-replace ie-replacement string configuration, period-replace ie replacement string configuration, uderscore-replace ie_replacement string configuration, java- Key-prefix is the prefix configuration of the java keyword.
  • Mapping-config is a custom mapping configuration. It should also be noted that new configurations can be configured for the requirements to control the generation of model code.
  • Templates can be configured with template templates for each component of the final output model code.
  • the Beetl template engine can be used.
  • An example of the template configuration is shown in Table 3.
  • the addTo-impl template is configured in Table 3.
  • both the ODL (OpenDayLight) controller and the ONOS controller are embedded with a set of model code generation rules. Due to the rule curing, the two sets of model codes are incompatible and the adaptation is complicated, and platform transplantation is almost impossible.
  • the BCB configuration is externally used, and the template engine is borrowed to make the application model code dynamic and controllable, and provides a method for transplanting between platforms, multiplexing between models, and adaptation between interfaces.
  • Step 204 Acquire a Yang file of the device to be converted, and determine whether there is a common structure.
  • the Yang file to be converted can be one or more versions, and the Yang files of each version can be distinguished by the version of Yang-version and revision of the Yang syntax.
  • Version 1 structure Version 2 structure Extracting common structure ABC ABD AB ABC AB AB
  • Version 1 and Version 2 of the Yang definition both contain the same A, B structure, then extract the A, B structure for a code generation, for version 1 and version 2 to generate model code reference, and version 1 again Add the C structure code, add the D structure code in version 2, and complete the two versions of the model code output.
  • version 1 has one more C structure than version 2.
  • the processing method is similar to the first one.
  • the A and B structures are extracted for one code generation, and the model code reference is generated for version 1 and version 2.
  • version 1 adds the C structure code to complete the two versions of the model code output.
  • the third category There is no common structure in the Yang files of version 1 and version 2, which cannot be extracted.
  • the controller device management component After the scan is compared, the common structure is extracted, and the object-oriented language encapsulation, inheritance, and polymorphism can be reused. Finally, it is solidified in the controller device management component in the form of an interface configuration.
  • Table 5 records the shared structure information through the XML file, such as the shared structure PhysicalPort, which is implemented as PhysicalPortOne in version 1.0 and PhysicalPortOnePointOne in version 1.1.
  • PhysicalLink the same implementation is used, the shared structure PhysicalLinkCommon.
  • the model code of the Yang file is obtained according to the version number for business development and use.
  • Step 205 Generate model code based on the Yang file and the configured BCB according to the comparison result in step 204.
  • the model code may be an interface, component, and system based on Java code generation, and import the model code into the controller.
  • the generated code Since the model code needs to be able to facilitate interaction with multiple devices, the generated code is stateless and not a singleton service mode. Due to its structural simplicity and flexibility, it can automatically generate code in a defined pattern to ease the pressure of development.
  • Yang is a data modeling language that describes the properties and functions of devices.
  • the controller management device needs to store information about the device, including caching and persistence.
  • the ORM framework uses metadata to describe the details of object-relational mapping. JavaBeans can be mapped to database tables and fields.
  • the ORM framework can refer to ORM information at runtime and persist objects into the database. Therefore, it is necessary to add ORM information to the JavaBean.
  • ORM Object Relational Mapping
  • ORMJavaBean adds @Column to the attribute, and adds an annotation such as @Table to the class, which adds ORM information. It can be configured in BCB. Since annotations exist on attributes and classes, the corresponding configuration is added in the attribute template and class template, as shown in Table 8 and Table 9.
  • the App application persists the data to the JavaBean.
  • the process of the entire demand response only needs to be configured for the BCB.
  • the final code is changed, and the final generated code does not need to be directly modified, and the workload of the modification is greatly reduced.
  • An embodiment of the present application provides a device code configuration apparatus in a controller, as shown in FIG. 3, including:
  • the configuration module 301 is configured to: acquire a Yang file to be converted, configure a template required for the translated Yang file, and configure the template;
  • the code generating module 302 is configured to generate a model code according to the Yang file to be converted and the configured template;
  • the import module 303 is configured to import the model code into the controller.
  • the configuration module 301 is further configured to perform at least one of the following configurations according to the Yang file to be converted: a path configuration, a keyword conflict configuration, and a customized field mapping configuration.
  • the code generation module 302 generates a model code according to the Yang file to be converted and the configured template, including:
  • the Yang file to be converted is a Yang file of multiple versions of the same device, performing structural comparison extraction on the plurality of Yang files, extracting a common structure and recording, generating a code of the shared structure, the to-be-converted
  • the model code of the Yang file inherits the code of the shared structure.
  • the code generating module 302 generates the model code according to the Yang file to be converted and the configured template, and may further include:
  • the code generating module 302 is further configured to translate the extended Bacchus paradigm of Yang into a method before generating the model code according to the Yang file to be converted and the configured template.
  • the grammar of the parser ANTLR converts the Yang file to be converted into a file of the ANTLR grammar and performs lexical analysis and grammar analysis.
  • An embodiment of the present application provides a controller configuration apparatus, including a memory and a processor, where the memory stores a program, and when the program is read and executed by the processor, the following operations are performed:
  • An embodiment of the present application also provides a computer readable storage medium storing one or more programs, the one or more programs being executable by one or more processors to implement the following step:
  • the computer readable storage medium includes: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk, and the like. Medium.
  • the present application can externally generate model rules and configurations to enhance the applicability of the model code.
  • the multi-version is compared, and the common structure is extracted, and the shared structure can be reused to simplify the generation of the model code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种控制器中模型代码配置方法和装置、存储介质,该控制器中模型代码配置方法包括:获取设备的待转化的建模文件,建立所述待转化的建模文件所需模板,对所述模板进行配置;根据所述待转化的建模文件以及配置的所述模板,生成模型代码;将所述模型代码导入到控制器。

Description

一种控制器中模型代码配置方法和装置、存储介质
相关申请的交叉引用
本申请基于申请号为201710480547.X、申请日为2017年06月22日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。
技术领域
本申请涉及通信技术,尤指一种控制器中模型代码配置方法和装置、存储介质。
背景技术
在软件定义网络(Software Defined Network,简称SDN)控制器研发过程中,经常要应对网络中的设备升级、控制器系统重构及新功能研发等各种场景。为解决当前设备与控制器严重的不同步问题,目前多采用过滤设备升级后新的特性,或对修改特性进行忽略的策略,或针对升级设备进行控制器端的适配,虽然从一定程度上能够保证原有功能的正常,但是设备升级后新特性的支持、测试和部署严重滞后,同时当设备版本变更频繁,同步增多的应用模型会造成冗余代码急剧增加,系统编译时间过长,研发效率降低,维护成本增加等一系列问题。
发明内容
本申请至少一实施例提供了一种控制器中模型代码配置方法和装置、存储介质,使得控制器更好的支持设备新特性。
为了达到本申请目的,本申请至少一实施例提供了一种控制器中模型 代码配置方法,包括:
获取设备的待转化的建模文件,建立所述待转化的建模文件所需模板,对所述模板进行配置;
根据所述待转化的建模文件以及配置的所述模板,生成模型代码;
将所述模型代码导入到控制器。
在一可选实施例中,所述建立所述待转化的建模文件所需模板包括如下至少之一:
为所述待转化的建模文件新建模板,或者,从预先建立的模板库中获取所述待转化的建模文件所需模板。
在一可选实施例中,根据所述待转化的建模文件以及配置的所述模板,生成模型代码前还包括:
根据所述待转化的建模文件进行如下至少之一配置:路径配置、关键字冲突配置、自定义的字段映射配置。
在一可选实施例中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
如果所述待转化的建模文件为同一设备的多个版本的建模文件,对该多个建模文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的建模文件的模型代码继承该共有结构的代码。
在一可选实施例中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
获取已记录的共有结构,判断所述待转化的建模文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的建模文件的模型代码继承所述待转化的建模文件所包含的共有结构的代码。
在一可选实施例中,所述方法还包括:
在根据所述待转化的建模文件以及配置的所述模板,生成模型代码前, 将Yang的扩展的巴科斯范式语法转译为语法分析器ANTLR的文法,将所述待转化的建模文件转化为ANTLR文法的文件后进行词法分析和语法分析。
本申请至少一实施例提供一种控制器中模型代码配置装置,包括:
配置模块,设置为,获取设备的待转化的建模文件,建立所述待转化的建模文件所需模板,对所述模板进行配置;
代码生成模块,设置为,根据所述待转化的建模文件以及配置的所述模板,生成模型代码;
导入模块,设置为,将所述模型代码导入到所述控制器。
在一可选实施例中,所述配置模块还设置为,根据所述待转化的建模文件进行如下至少之一配置:路径配置、关键字冲突配置、自定义的字段映射配置。
在一可选实施例中,所述代码生成模块根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
如果所述待转化的建模文件为同一设备的多个版本的建模文件,对该多个建模文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的建模文件的模型代码继承该共有结构的代码。
在一可选实施例中,所述代码生成模块根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
获取已记录的共有结构,判断所述待转化的建模文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的建模文件的模型代码继承所述待转化的建模文件所包含的共有结构的代码。
在一可选实施例中,所述代码生成模块还设置为,在根据所述待转化的建模文件以及配置的所述模板,生成模型代码前,将Yang的扩展的巴科斯范式语法转译为语法分析器ANTLR的文法,将所述待转化的建模文件转 化为ANTLR文法的文件后进行词法分析和语法分析。
本申请至少一实施例提供一种控制器中模型代码配置装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,执行以下操作:
获取设备的待转化的建模文件,建立所述待转化的建模文件所需模板,对所述模板进行配置;
根据所述待转化的建模文件以及配置的所述模板,生成模型代码;
将所述模型代码导入到控制器。
在一可选实施例中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
如果所述待转化的建模文件为同一设备的多个版本的建模文件,对该多个建模文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的建模文件的模型代码继承该共有结构的代码。
在一可选实施例中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
获取已记录的共有结构,判断所述待转化的建模文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的建模文件的模型代码继承所述待转化的建模文件所包含的共有结构的代码。
本申请至少一实施例提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被运行以执行上述实施例任一项所述的方法。
与现有技术相比,本申请中,通过调用模板,将模型生成规则及配置外置,增强模型代码适用性。另外,对多版本进行比对,对共有结构进行提取,可以复用共有结构,简化模型代码的生成。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其 他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1为本申请一实施例提供的一种控制器中模型代码配置方法流程图;
图2为本申请一实施例提供的一种控制器中模型代码配置方法流程图;
图3为本申请一实施例提供的一种控制器中模型代码配置装置框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
就本文涉及的建模文件而言,Yang文件是其一个实例,Yang是一种网络配置协议数据建模(A Data Modeling Language for the Network Configuration Protocol)语言,是一种用于模型配置和状态数据建模的语法,鉴于其结构上的简单与灵活,可以将实际协议实现与外部系统交换信息相分离。语法分析器(Another Tool for Language Recognition,ANTLR)是指可以根据输入自动生成语法树并可视化的显示出来的开源语法分析器。
本申请中,利用语言工具ANTLR和模板引擎(Bee Template Language,Beetl)对Yang模型进行定制的模型编译生成,同时加入Yang文件版本比 对功能,尽可能复用模型,简化设计,从而使控制器中的Yang模型的自适应成为可能,缩短控制器对设备新版本的响应时间,提高研发效率。
本申请至少一实施例提供一种控制器配置方法,如图1所示,包括:
步骤101,获取设备的待转化的建模文件(如Yang文件),建立所述待转化的建模文件(如Yang文件)所需模板,对所述模板进行配置;
步骤102,根据所述待转化的建模文件(如Yang文件)以及配置的所述模板,生成模型代码;
步骤103,将所述模型代码导入到控制器。
在一实施例中,所述步骤101中所述建立所述待转化的Yang文件所需模板包括如下至少之一:
为所述待转化的Yang文件新建模板,或者,从预先建立的模板库中获取所述待转化的Yang文件所需模板。
在一可选实施例中,所述步骤101中,还进行辅助配置,所述辅助配置包括以下至少之一:路径配置、关键字冲突配置、自定义的字段映射配置。还可包括其他必要的配置。
在一可选实施例中,步骤102中,分别根据各模板生成一段代码,将各模板生成的代码进行组合,最终形成完成的模型代码。
在一可选实施例中,步骤102中,如果所述待转化的Yang文件为同一设备的多个版本的Yang文件,对该多个Yang文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的Yang文件的模型代码继承该共有结构的代码。
需要说明的是,如果设备只有一个Yang文件,没有其他版本的Yang文件,则无需进行结构的比对提取。存在多个Yang文件时,可以进行结构的比对提取,从而复用共有结构,提高代码生成效率。
在一可选实施例中,步骤102中,根据所述待转化的Yang文件以及配 置的所述模板,生成模型代码包括:获取已记录的共有结构,判断所述待转化的Yang文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的Yang文件的模型代码继承所述待转化的Yang文件所包含的共有结构的代码。
当然,与可以和同一设备的其他当前不需要转化的版本的Yang文件进行比较,提取共有结构,继承共有结构的代码。
在一可选实施例中,所述根据所述待转化的Yang文件以及配置的所述模板,生成模型代码前还包括:
将Yang的扩展的巴科斯范式语法转译为语法分析器ANTLR的文法;
将所述设备待转化的Yang文件转化为ANTLR文法的文件后进行词法分析和语法分析。
通过上述词法分析和语法分析可以判断Yang文件的正确性。
当然,也可以使用除ANTLR外的其他语法分析器。
在一可选实施例中,进行模板配置时,基于Beetl模板引擎。当然,也可以基于其他模板引擎。需要说明的是,模板引擎与模板需要对应。
与现有技术相比较,本申请有如下优点:BCB分离及可配置,将模型生成规则及配置外置,增强模型代码适用性。多版本Yang文件比对及共性提取,减少冗余,强化复用,降低维护成本,简化开发。另外,使用ANTLR语法,支持对新语法规则的定义,使系统对新功能支持简单灵活。丰富的调用接口,支持Maven的Build-plugin配置生成、RESTFUL、本地接口。
实施例一
图2为本申请一实施例提供的控制器中模型代码配置方法流程图。下面结合具体L2Switch(二层交换业务)的使用实施例对图1所示的方法进行详细说明。如图2所示,包括:
步骤201,建立用于模型代码生成的模板库;
所述模板库中包括多个模板,以满足模型代码生成的需求。
在使用过程中,也可以根据需要新增模板。
相关技术中,直接根据Yang文件生成模型代码,本申请中,建立多个模板,根据Yang文件生成模型代码时,调用模板,从而利于平台间的移植和模型间的复用。
步骤202,基于rfc6020中Yang语言的ABNF定义,将ABNF语法转译成ANTLR文法。转译时可参考RFC5234中定义的ANBF语法和http://www.antlr.org/中定义的ANTLR文法,一个转译示例如表1所示。注意ANTLR不支持左递归文法,需要消除左递归方法的定义。
表1 ABNF与ANTLR转译
Figure PCTCN2018092262-appb-000001
Figure PCTCN2018092262-appb-000002
步骤203,进行基础代码块(Base Code Block,简称BCB)配置
Yang模型代码生成中BCB指构建完整的模型对象代码所要求的信息总和。例如Java语言类中的get/set方法定义,equals/hashCode方法定义和属性定义等。
BCB配置包括:辅助配置和模板配置。
其中辅助配置包括以下至少之一:路径配置、关键字冲突配置、自定义的字段映射配置。
比如,路径配置包括:Yang文件目录、源码生成路径(即生成的模型代码的保存地址)、本地Repository(存储库)地址、远程Repository地址。当然,如果有需要,可以包括其他路径。
路径配置的一个实例如下表2-1。表2-1中配置了控制器中待转化的Yang文件所在的目录,以及根据Yang文件生成的模型代码的输出路径。
表2-1 路径配置示例
Figure PCTCN2018092262-appb-000003
关键字冲突配置和自定义映射配置的一个示例如表2-2所示:
表2-2 路径配置示例
Figure PCTCN2018092262-appb-000004
其中表2-2中,conflict-config为冲突配置,如hypen-replace即-的替换字符串配置,period-replace即.的替换字符串配置,uderscore-replace即_的 替换字符串配置,java-key-prefix即java关键字的前缀配置。Mapping-config即自定义的映射配置。同时需要说明的是可以针对需求新增配置,以控制模型代码的生成。
模板配置时可以采用模板引擎对最终输出模型代码的各组成部分进行模板配置。例如,可以采用Beetl模板引擎。其中,模板配置的一个示例如表3所示。表3中配置了addTo-impl模板。
表3 addTo-impl模板配置
Figure PCTCN2018092262-appb-000005
相关技术中,ODL(OpenDayLight)控制器和ONOS控制器都内嵌一套模型代码生成规则,由于规则固化导致两套模型代码无法兼容且适配复杂,平台移植几乎不可能。本申请中,采用上述BCB配置外置,借用模板引擎,使应用模型代码生成动态可控,为平台间的移植、模型间的复用以及接口间的适配提供方法。
步骤204,获取设备的待转化的Yang文件,判断是否存在共有结构。
其中,待转化的Yang文件可以是一个或多个版本,各版本的Yang文件,可以通过Yang语法的yang-version与revision进行版本区分。
对设备不同版本Yang文件中重点分析表4中的三类情况:
表4 Yang文件比对
版本1结构 版本2结构 提取共有结构
ABC ABD AB
ABC AB AB
ABC EFG
第一类:版本1与版本2的Yang定义中都包含了相同的A、B结构,则提取A、B结构作一次代码生成,供版本1和版本2生成模型代码引用,且版本1中再增加C结构代码,版本2中再增加D结构代码,完成两个版本的模型代码输出。
第二类:与第一类不同的是版本1比版本2多一个C结构,处理方法与第一类类似,提取A、B结构作一次代码生成,供版本1和版本2生成模型代码引用,且版本1中再增加C结构代码,完成两个版本的模型代码输出。
第三类:版本1与版本2的Yang文件中无共有结构,无法提取。
该步骤通过扫描比对后,对共有结构进行提取,借助面向对象语言封装、继承、多态可实现重用。最终以接口配置形式,固化在控制器设备管理组件中。
表5
Figure PCTCN2018092262-appb-000006
表5通过XML文件记录比对后的共有结构信息,如共有结构PhysicalPort,在1.0版本中的实现为PhysicalPortOne,在1.1版本中实现为 PhysicalPortOnePointOne。而针对PhysicalLink,则都使用同样的实现,即共有结构PhysicalLinkCommon。
当控制器与设备协商确定Yang文件的版本号后,根据版本号获取该Yang文件的模型代码进行业务开发与使用。
步骤205:根据步骤204中的比对结果,基于Yang文件和配置的BCB生成模型代码,该模型代码可以是基于Java代码生成的接口、组件、系统,将模型代码导入到控制器中。
由于模型代码需要能够促进与多种设备的交互,所以所生成的代码是无状态的且非单例服务模式。由于它在结构上的简单性和灵活性,它可以按照定义的模式自动生成代码从而缓解开发的压力。
实施例二
下面以一个具体实例进一步说明本申请。
在硬件设备领域中,Yang作为数据建模语言,描述了设备的属性及功能。控制器管理设备则需要对设备的信息进行存储,包括缓存及持久化。ORM框架采用元数据来描述对象关系映射细节,可以将JavaBean与数据库表、字段映射,ORM框架在运行时就能参照ORM信息,将对象持久化到数据库中,因此需要在JavaBean上增加ORM信息。
采用相关技术中的Yang代码生成工具和方法时,如果需在最终代码中增加ORM信息,由于生成规则的硬编码,则需要修改大量代码,且风险不可控。本申请中基于BCB,只需要在相关模板中增加相关内容,无需分别修改各版本的Yang文件的模型代码。在传统的JavaBean模型中增加ORM(Object Relational Mapping,对象关系映射)信息,用于映射至各类关系型数据库,称为ORMJavaBean模型。
相关技术中由Yang文件生成的JavaBean代码如表6所示。
表6 JavaBean代码
Figure PCTCN2018092262-appb-000007
本申请中基于BCB生成的ORMJavaBean代码如下表7。
表7 ORMJavaBean代码
Figure PCTCN2018092262-appb-000008
Figure PCTCN2018092262-appb-000009
从上述简单的示例对比,ORMJavaBean中针对属性增加了@Column,针对类增加了@Table等注解,即增加了ORM信息。可以在BCB中进行配置,由于注解存在于属性、类上,所以在属性模板与类模板中增加相应配置,如表8和表9所示。
表8 属性模板
Figure PCTCN2018092262-appb-000010
表9 类模板
Figure PCTCN2018092262-appb-000011
Figure PCTCN2018092262-appb-000012
通过上述模板的配置,使JavaBean的生成增加ORM信息。同时所见即所得,提高了开发测试效率。
ORMJavaBean生成后,App应用则对JavaBean进行数据的持久化。整个需求响应的过程只需要针对BCB进行配置,通过修改模板从而使得最终代码发生改变,不需要直接对最终生成的代码进行修改,修改的工作量大大减小。
本申请一实施例提供一种控制器中模型代码配置装置,如图3所示,包括:
配置模块301,设置为,获取设备的待转化的Yang文件,建立所述待转化的Yang文件所需模板,对所述模板进行配置;
代码生成模块302,设置为,根据所述待转化的Yang文件以及配置的所述模板,生成模型代码;
导入模块303,设置为,将所述模型代码导入到所述控制器。
在一可选实施例中,所述配置模块301还设置为,根据所述待转化的Yang文件进行如下至少之一配置:路径配置、关键字冲突配置、自定义的字段映射配置。
在一可选实施例中,所述代码生成模块302根据所述待转化的Yang文件以及配置的所述模板,生成模型代码包括:
如果所述待转化的Yang文件为同一设备的多个版本的Yang文件,对该多个Yang文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的Yang文件的模型代码继承该共有结构的代码。
在一可选实施例中,所述代码生成模块302根据所述待转化的Yang文件以及配置的所述模板,生成模型代码还可包括:
获取已记录的共有结构,判断所述待转化的Yang文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的Yang文件的模型代码继承所述待转化的Yang文件所包含的共有结构的代码。
在一可选实施例中,所述代码生成模块302还设置为,在根据所述待转化的Yang文件以及配置的所述模板,生成模型代码前,将Yang的扩展的巴科斯范式语法转译为语法分析器ANTLR的文法,将所述待转化的Yang文件转化为ANTLR文法的文件后进行词法分析和语法分析。
本申请一实施例提供一种控制器配置装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,执行以下操作:
获取设备的待转化的Yang文件,建立所述待转化的Yang文件所需模板,对所述模板进行配置;
根据所述待转化的Yang文件以及配置的所述模板,生成模型代码;
将所述模型代码导入到控制器。
本申请一实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现以下步骤:
获取设备的待转化的Yang文件,建立所述待转化的Yang文件所需模板,对所述模板进行配置;
根据所述待转化的Yang文件以及配置的所述模板,生成模型代码;
将所述模型代码导入到控制器。
所述计算机可读存储介质包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁 碟或者光盘等各种可以存储程序代码的介质。
虽然本申请所揭露的实施方式如上,但所述的内容仅为便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属领域内的技术人员,在不脱离本申请所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本申请的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
工业实用性
本申请通过调用模板,可以将模型生成规则及配置外置,以增强模型代码适用性。另外,对多版本进行比对,对共有结构进行提取,可以复用共有结构,简化模型代码的生成。

Claims (15)

  1. 一种控制器中模型代码配置方法,包括:
    获取设备的待转化的建模文件,建立所述待转化的建模文件所需模板,对所述模板进行配置;
    根据所述待转化的建模文件以及配置的所述模板,生成模型代码;
    将所述模型代码导入到控制器。
  2. 如权利要求1所述的控制器中模型代码配置方法,其中,所述建立所述待转化的建模文件所需模板包括如下至少之一:
    为所述待转化的建模文件新建模板,或者,从预先建立的模板库中获取所述待转化的建模文件所需模板。
  3. 如权利要求1所述的控制器中模型代码配置方法,其中,根据所述待转化的建模文件以及配置的所述模板,生成模型代码前还包括:
    根据所述待转化的建模文件进行如下至少之一配置:路径配置、关键字冲突配置、自定义的字段映射配置。
  4. 如权利要求1所述的控制器中模型代码配置方法,其中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
    如果所述待转化的建模文件为同一设备的多个版本的建模文件,对该多个建模文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的建模文件的模型代码继承该共有结构的代码。
  5. 如权利要求1至4任一所述的控制器中模型代码配置方法,其中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
    获取已记录的共有结构,判断所述待转化的建模文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的建模文件的模型代码继承所述待转化的建模文件所包含的共有结构的代码。
  6. 如权利要求1至4任一所述的控制器中模型代码配置方法,其中, 所述方法还包括:
    在根据所述待转化的建模文件以及配置的所述模板,生成模型代码前,将Yang的扩展的巴科斯范式语法转译为语法分析器ANTLR的文法,将所述待转化的建模文件转化为ANTLR文法的文件后进行词法分析和语法分析。
  7. 一种控制器中模型代码配置装置,包括:
    配置模块,设置为,获取设备的待转化的建模文件,建立所述待转化的建模文件所需模板,对所述模板进行配置;
    代码生成模块,设置为,根据所述待转化的建模文件以及配置的所述模板,生成模型代码;
    导入模块,设置为,将所述模型代码导入到所述控制器。
  8. 如权利要求7所述的控制器中模型代码配置装置,其中,所述配置模块还设置为,根据所述待转化的建模文件进行如下至少之一配置:路径配置、关键字冲突配置、自定义的字段映射配置。
  9. 如权利要求7所述的控制器中模型代码配置装置,其中,所述代码生成模块根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
    如果所述待转化的建模文件为同一设备的多个版本的建模文件,对该多个建模文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的建模文件的模型代码继承该共有结构的代码。
  10. 如权利要求7、8或9所述的控制器中模型代码配置装置,其中,所述代码生成模块根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
    获取已记录的共有结构,判断所述待转化的建模文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的建模文件的模型代码继承 所述待转化的建模文件所包含的共有结构的代码。
  11. 如权利要求7、8或9所述的控制器中模型代码配置装置,其中,所述代码生成模块还设置为,在根据所述待转化的建模文件以及配置的所述模板,生成模型代码前,将Yang的扩展的巴科斯范式语法转译为语法分析器ANTLR的文法,将所述待转化的建模文件转化为ANTLR文法的文件后进行词法分析和语法分析。
  12. 一种控制器中模型代码配置装置,包括存储器和处理器,所述存储器存储有程序,所述程序在被所述处理器读取执行时,执行以下操作:
    获取设备的待转化的建模文件,建立所述待转化的建模文件所需模板,对所述模板进行配置;
    根据所述待转化的建模文件以及配置的所述模板,生成模型代码;
    将所述模型代码导入到控制器。
  13. 如权利要求12所述的控制器中模型代码配置装置,其中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
    如果所述待转化的建模文件为同一设备的多个版本的建模文件,对该多个建模文件进行结构的比对提取,提取共有结构并记录,生成所述共有结构的代码,所述待转化的建模文件的模型代码继承该共有结构的代码。
  14. 如权利要求12或13所述的控制器中模型代码配置装置,其中,所述根据所述待转化的建模文件以及配置的所述模板,生成模型代码包括:
    获取已记录的共有结构,判断所述待转化的建模文件中是否包含所述已记录的共有结构,如果包含,则所述待转化的建模文件的模型代码继承所述待转化的建模文件所包含的共有结构的代码。
  15. 一种计算机可读存储介质,存储有计算机程序,所述计算机程序被运行以执行权利要求1至6中任一项所述的方法。
PCT/CN2018/092262 2017-06-22 2018-06-21 一种控制器中模型代码配置方法和装置、存储介质 WO2018233673A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710480547.X 2017-06-22
CN201710480547.XA CN109116828B (zh) 2017-06-22 2017-06-22 一种控制器中模型代码配置方法和装置

Publications (1)

Publication Number Publication Date
WO2018233673A1 true WO2018233673A1 (zh) 2018-12-27

Family

ID=64732586

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/092262 WO2018233673A1 (zh) 2017-06-22 2018-06-21 一种控制器中模型代码配置方法和装置、存储介质

Country Status (2)

Country Link
CN (1) CN109116828B (zh)
WO (1) WO2018233673A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799738A (zh) * 2021-01-29 2021-05-14 深圳市美科星通信技术有限公司 一种配置文件的导入方法、装置及设备
CN112988224A (zh) * 2021-01-21 2021-06-18 中信银行股份有限公司 微服务框架的接口文件生成方法、电子设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110474794B (zh) * 2019-07-10 2021-04-27 烽火通信科技股份有限公司 一种sdn架构的信息转换方法和系统
CN113535140B (zh) * 2020-04-16 2022-11-11 武汉斗鱼网络科技有限公司 一种参数封装方法、装置、设备及存储介质
CN117478508A (zh) * 2022-07-20 2024-01-30 华为技术有限公司 设备配置方法、网络设备、芯片及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013104375A1 (en) * 2012-01-09 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Network device control in a software defined network
CN105610615A (zh) * 2015-12-29 2016-05-25 国网辽宁省电力有限公司 一种基于软件定义网络的配电网调度方法与系统
CN106559251A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 一种基于yang模型的编译方法、及对应的接口、组件和系统
CN106777180A (zh) * 2016-12-22 2017-05-31 北京京东金融科技控股有限公司 高性能分布式数据转换的方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8448132B2 (en) * 2009-05-07 2013-05-21 Sap Ag Systems and methods for modifying code generation templates
CN103281197B (zh) * 2013-04-08 2016-03-30 浙江工商大学 一种基于NETCONF的ForCES配置方法
CN106873974A (zh) * 2016-12-30 2017-06-20 武汉默联股份有限公司 智能代码生成引擎系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013104375A1 (en) * 2012-01-09 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Network device control in a software defined network
CN106559251A (zh) * 2015-09-30 2017-04-05 中兴通讯股份有限公司 一种基于yang模型的编译方法、及对应的接口、组件和系统
CN105610615A (zh) * 2015-12-29 2016-05-25 国网辽宁省电力有限公司 一种基于软件定义网络的配电网调度方法与系统
CN106777180A (zh) * 2016-12-22 2017-05-31 北京京东金融科技控股有限公司 高性能分布式数据转换的方法、装置及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988224A (zh) * 2021-01-21 2021-06-18 中信银行股份有限公司 微服务框架的接口文件生成方法、电子设备及存储介质
CN112799738A (zh) * 2021-01-29 2021-05-14 深圳市美科星通信技术有限公司 一种配置文件的导入方法、装置及设备
CN112799738B (zh) * 2021-01-29 2023-11-24 深圳市美科星通信技术有限公司 一种配置文件的导入方法、装置及设备

Also Published As

Publication number Publication date
CN109116828A (zh) 2019-01-01
CN109116828B (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
US10606573B2 (en) System and method for computer language migration using a re-architecture tool for decomposing a legacy system and recomposing a modernized system
WO2018233673A1 (zh) 一种控制器中模型代码配置方法和装置、存储介质
CN107861728B (zh) 用于传统程序语言向现代程序语言转换的方法及其系统
US9465590B2 (en) Code generation framework for application program interface for model
US9489189B2 (en) Dynamically generate and execute a context-specific patch installation procedure on a computing system
US20100306735A1 (en) Package design and generation
US20040158820A1 (en) System for generating an application framework and components
CN111061817A (zh) 自适应业务构建系统、方法及计算机可读介质
US10592220B2 (en) Metadata-driven binding of converted source code to original source code
US9405518B2 (en) Leveraging legacy applications for use with modern applications
CN103049251B (zh) 一种数据库持久层装置及数据库操作方法
US20110029767A1 (en) System and Method for Transforming Configuration Data Items in a Configuration Management Database
WO2023035563A1 (zh) 小程序跨应用迁移方法、设备、终端、系统及存储介质
CN101185116A (zh) 在软件程序中使用强数据类型表示语音识别语法
CN105677324A (zh) 一种自动生成实体类代码的方法
CN115943351A (zh) 用于创建或更新数字孪生的方法和系统
US10693962B1 (en) Language and mechanism for modeling and exporting storage platform topologies, attributes, and behaviors
CN112235311A (zh) Ovsdb客户端代码自动生成方法、系统、设备及介质
US20070220478A1 (en) Connecting alternative development environment to interpretive runtime engine
US9652478B2 (en) Method and apparatus for generating an electronic document schema from a relational model
WO2021259290A1 (zh) 存储过程转换方法、装置、设备和存储介质
Noyrit et al. FacadeMetamodel: masking UML
CN116955393A (zh) 一种数据处理方法、装置、电子设备及存储介质
US11693652B2 (en) Automated authoring of software solutions from a data model
Ristić et al. A model-driven approach to data structure conceptualization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18821073

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 06/05/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18821073

Country of ref document: EP

Kind code of ref document: A1