CN117406981A - 基于模型驱动的idl接口建模方法、系统、终端及介质 - Google Patents
基于模型驱动的idl接口建模方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN117406981A CN117406981A CN202311338485.0A CN202311338485A CN117406981A CN 117406981 A CN117406981 A CN 117406981A CN 202311338485 A CN202311338485 A CN 202311338485A CN 117406981 A CN117406981 A CN 117406981A
- Authority
- CN
- China
- Prior art keywords
- idl
- model
- interface
- modeling
- compiling
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于模型驱动的IDL接口建模方法及系统,其中方法包括:创建IDL接口模型,生成所述IDL接口模型对应的XML建模文档;配置IDL编译时所需的配置信息;根据所述XML建模文档和所述配置信息,生成IDL模型文件并对所述IDL模型文件进行编译,自动生成IDL接口代码,对所述IDL接口代码进行验证并封装入库,完成对IDL接口建模。本发明使用基于模型驱动的建模方法,实现可视化的IDL接口建模功能,为开发者屏蔽IDL语法细节,降低开发门槛;支持IDL接口自动编译及入库管理,在应用中组件端口和服务组件可通过图形化建模的方式继承IDL接口,提高开发效率和接口复用性。
Description
技术领域
本发明涉及软件通信技术领域,具体地,涉及一种基于模型驱动的IDL接口建模方法、系统、终端及介质。
背景技术
现今的软件无线电系统通常采用通用的软件架构标准,其中包括国际上广泛应用的SCA(软件通信体系结构)标准规范以及国内的SRTF标准规范。这些标准规范为软件无线电系统提供了一种统一的架构设计和开发方法,以确保系统的互操作性、灵活性和可扩展性。运行在软件无线电系统上的应用,通过端口进行通信。这些端口通常依赖于CORBA等不同传输机制,采用对象请求调用通信模型,使用IDL接口来描述和定义通信接口。同时SRTF规范也允许服务组件自定义接口,对外提供服务。而传统软件无线电集成开发环境只关注应用建模以及逻辑设备建模,并没有关于IDL接口建模的功能,需要手动编写IDL接口代码以及编译,导致开发效率低、接口无法复用的问题。
发明内容
本发明针对现有技术中存在的上述不足,提供了一种基于模型驱动的IDL接口建模方法、系统、终端及介质。
根据本发明的一个方面,提供了一种基于模型驱动的IDL接口建模方法,包括:
创建IDL接口模型,生成所述IDL接口模型对应的XML建模文档;
配置IDL编译时所需的配置信息;
根据所述XML建模文档和所述配置信息,生成IDL模型文件并对所述IDL模型文件进行编译,自动生成IDL接口代码,对所述IDL接口代码进行验证并封装入库,完成对IDL接口建模。
优选地,所述创建IDL接口模型,生成所述IDL接口模型对应的XML建模文档:
输入IDL接口名称,创建IDL接口建模视图;
在所述IDL接口建模视图中添加所需的接口元素模型;
对所述接口元素模型进行配置,并放入所述IDL接口建模视图中对应的接口层次中,创建得到IDL接口模型;
解析所述IDL接口模型,生成对应的可读的XML建模文档。
优选地,还包括:
对IDL接口进行分析、分层与建模,获得IDL接口中的元素和元素间的层级关系,形成统一的IDL元数据,并构建接口元素模型;
根据所述IDL元数据,配置所需的接口元素模型,并放入所述IDL接口建模视图中对应的接口层次,创建得到IDL接口模型;
提供一XML解析器,用于对所述IDL接口模型进行解析,获得所述IDL接口模型的IDL元数据;根据所述IDL元数据制定XML建模文档中各标签与各元素之间的映射关系;
根据所述映射关系,形成相应的XML建模文档;
并验证所述IDL接口模型是否映射到XML建模文档中。
优选地,所述配置IDL编译时所需的配置信息,通过编译配置,包括:
在IDL编译配置中选择IDL接口所对应的中间件;
在IDL编译配置中选择IDL编译器,用于确定生成的存根文件的代码类型;
在IDL编译配置中添加头文件,用于得到IDL模型文件在编译过程中需要引用的头文件;
在IDL编译配置中设置编译选项,用于设定IDL模型文件在编译过程中所需的参数。
优选地,所述根据所述XML建模文档和所述配置信息,生成IDL模型文件并对所述IDL模型文件进行编译,自动生成IDL接口代码,对所述IDL接口代码进行验证并封装入库,包括:
根据所述XML建模文档,生成文件名称为接口名称.idl的IDL模型文件,所述IDL模型文件包括接口定义和相关元素信息;
根据所述配置信息,编译所述IDL模型文件,生成对应的IDL接口代码,对所述IDL接口代码进行验证;
将验证通过的所述IDL接口代码封装存入模型库中。
优选地,还包括:
提供一XML解析器,用于解析所述IDL接口模型,生成XML建模文档;
提供一IDL生成器,用于根据所述XML建模文档获取IDL接口模型的IDL元数据;
按照已规定的IDL模板文件,根据所述IDL元数据生成相应的IDL模型文件;
在所述IDL元数据中选择对应的编译配置信息;
提供一IDL编译器,用于根据所述编译配置信息编译所述IDL模型文件以生成所需的IDL接口代码。
根据本发明的另一个方面,提供了一种基于模型驱动的IDL接口建模系统,包括:
模型编辑模块,用于创建IDL接口模型;
模型解析模块,用于生成所述IDL接口模型对应的XML建模文档,对所述IDL接口模型进行验证和解析;
接口编译模块,用于配置IDL编译时所需的配置信息;
代码生成模块,用于根据所述XML建模文档,生成IDL模型文件并对所述IDL模型文件进行编译;根据所述配置信息,生成IDL接口代码;
模型入库模块,用于对所述IDL接口代码进行验证并封装入库。
根据本发明的第三个方面,提供了一种基于模型驱动的IDL接口建模方法构建得到的IDL接口库模型的应用,从模型库中选择所需的IDL接口库模型,用于端口建模和/或服务组件建模。
优选地,所述应用,包括:
输入端口名称,创建端口建模视图;
配置端口的属性信息,得到端口模型;
从模型库中,选择端口所要使用的IDL接口库模型,并装配到所述端口模型中;
验证装配后的端口模型并入库。
优选地,所述应用,包括:
输入应用组件名称,创建可视化的应用组件模型;
从模型库中选择应用组件所要使用的端口模型,并装配到所述应用组件模型中;
将装配后的应用组件模型入库。
根据本发明的第四个方面,提供了一种计算机终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该计算机程序时可用于执行本发明上述中任一项所述的方法,或,运行本发明上述中任一项所述的系统。
根据本发明的第五个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可用于执行本发明上述中任一项所述的方法,或,运行本发明上述中任一项所述的系统。
由于采用了上述技术方案,本发明与现有技术相比,具有如下至少一项的有益效果:
本发明提供的基于模型驱动的IDL接口建模方法、系统、终端及介质,使用基于模型驱动的建模方法,实现可视化的IDL接口建模功能,为开发者屏蔽IDL语法细节,降低开发门槛,开发者无需深入研究复杂的IDL语法,可以更快速地创建和修改接口模型。
本发明提供的基于模型驱动的IDL接口建模方法、系统、终端及介质,支持IDL接口自动编译及入库管理,无需手动处理繁琐的编译和管理任务,大大提高了开发效率,减少了开发过程中可能出现的错误。
本发明提供的基于模型驱动的IDL接口建模方法、系统、终端及介质,可以使得开发者更专注于业务逻辑而不是底层接口细节;在应用中组件端口和服务组件可通过图形化建模的方式继承IDL接口,提高开发效率和接口复用性,开发者可以在不同组件和服务之间共享接口,减少了重复工作,同时确保接口的一致性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明一优选实施例中基于模型驱动的IDL接口建模方法的工作示意图。
图2为本发明一优选实施例中基于模型驱动的IDL接口建模系统的组成模块示意图。
图3为本发明一优选实施例中IDL接口模型构建过程原理图。
图4为本发明一优选实施例中IDL接口模型编译过程原理图。
图5为本发明一优选实施例中IDL接口建模过程及应用的工作流程图。
具体实施方式
下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
本发明一实施例提供了一种基于模型驱动的IDL接口建模方法,该方法通过采用图形化建模方式,使接口设计和开发更加可视化和抽象化,为软件无线电系统波形提供可视化且可复用的IDL接口。
如图1所示,该实施例提供的基于模型驱动的IDL接口建模方法,在软件无线电集成开发环境终端中对IDL接口进行建模,可以包括:
S100,创建IDL接口模型,生成IDL接口模型对应的XML建模文档;
S200,配置IDL编译时所需的配置信息;进一步地,配置信息可以包括:中间件、编译器、头文件和编译选项等;
S300,根据S100中得到的XML建模文档和S200中得到的配置信息,生成IDL模型文件并对IDL模型文件进行编译,自动生成IDL接口代码,对IDL接口代码进行验证并封装入库,完成对IDL接口建模。
在S100的一优选实施例中,可以进一步包括如下操作:
S101,输入IDL接口名称,创建IDL接口建模视图;
S102,按照开发者对IDL接口的设计需求,在IDL接口建模视图中添加所需的接口元素模型;进一步对,接口元素模型可以包括:属性、操作等元素以及各元素之间的层级关系;
S103,对接口元素模型进行配置,并放入IDL接口建模视图中对应的接口层次中,创建得到IDL接口模型;
S104,解析IDL接口模型,生成对应的可读的XML建模文档。
进一步地,上述S100,还可以进一步包括如下操作:
S1001,对IDL接口进行分析、分层与建模,获得IDL接口中的元素和元素间的层级关系,形成统一的IDL元数据,并构建接口元素模型;
S1002,根据IDL元数据,配置所需的接口元素模型,并放入IDL接口建模视图中对应的接口层次,创建得到IDL接口模型;
S1003,提供一XML解析器,用于对所述IDL接口模型进行解析,获得所述IDL接口模型的IDL元数据;根据IDL元数据制定XML建模文档中各标签与各元素之间的映射关系;
S1004,根据映射关系,形成相应的XML建模文档;
S1005,验证IDL接口模型是否映射到XML建模文档中。
经过验证的IDL接口模型和XML建模文档可以应用于软件无线电系统,确保系统的各个组件能够正确地传递和接收数据。
在S200的一优选实施例中,通过编译配置,可以进一步包括如下操作:
S201,在IDL编译配置中选择IDL接口所对应的中间件;进一步地,中间件可以包括:,如CORBA、DDS、ICE等;
S202,在IDL编译配置中选择IDL编译器,用于确定生成的存根文件的代码类型;进一步地,IDL编译器的可选择版本,包括:编程语言和平台,其中,编程语言包括:C、C++等,编程平台包括:Linux、Windows;
S203,在IDL编译配置中添加头文件,用于得到IDL模型文件在编译过程中需要引用的头文件;
S204,在IDL编译配置中设置编译选项,用于设定IDL模型文件在编译过程中所需的参数(即编译IDL文件的编译器和生成代码的种类等信息)。
在S300的一优选实施例中,可以进一步包括如下操作:
S301,根据XML建模文档,生成文件名称为接口名称.idl的IDL模型文件,IDL模型文件包括规范的接口定义和相关参数信息(即建模时在IDL接口模型中添加的各类元素信息);
S302,根据配置信息,编译IDL模型文件,生成对应的IDL接口代码,对IDL接口代码进行语法规则的验证;
S303,将验证通过的IDL接口代码封装存入模型库中。
进一步地,上述S300,还可以进一步包括如下操作:
S3001,提供一XML解析器,用于解析IDL接口模型,生成XML建模文档;
S3002,提供一IDL生成器,用于根据XML建模文档获取IDL接口模型的IDL元数据,包括属性、操作等接口元素及它们之间的层级关系;
S3003,按照已规定的IDL模板文件,根据IDL元数据生成相应的IDL模型文件;
S3004,在IDL元数据中选择对应的编译配置信息;
S3005,提供一IDL编译器,用于根据编译配置信息编译IDL模型文件以生成所需的IDL接口代码。
本发明一实施例提供了一种基于模型驱动的IDL接口建模系统。
如图2所示,该实施例提供的基于模型驱动的IDL接口建模系统,可以包括:模型编辑模块、模型解析模块、接口编译模块、代码生成模块以及模型入库模块;其中:
模型编辑模块,用于创建IDL接口模型;
模型解析模块,用于对IDL接口模型进行验证和解析,生成IDL接口模型对应的XML建模文档;
接口编译模块,用于配置IDL接口模型编译时所需的配置信息;
代码生成模块,用于根据XML建模文档,生成IDL模型文件并对IDL模型文件进行编译;根据配置信息,生成IDL接口代码。
模型入库模块,用于对IDL接口模型进行验证并入库。
下面对本发明上述实施例提供的技术方案以及各模块所实现的功能进行描述如下。
模型编辑模块:IDL接口中包含属性、操作、数组、常量和枚举等元素。该模块将这些元素都进行了建模,使得在设计IDL接口时,只需要在接口建模视图中拖拽添加这些已经建好的模型即可将IDL接口模型化,创建IDL接口模型,完成设计。
模型解析模块:该模块是系统中至关重要的组成部分,其职责在于对IDL接口模型进行解析和验证,以确保这些模型在使用过程中不会出现任何问题。该模块的具体实现方式是:将可视化的IDL接口模型转化为可读的XML建模文档,通过对文件内容及格式的校验,完成对IDL接口模型的解析和验证。
接口编译模块:该模块整合不同的IDL编译器,以适配各种中间件如CORBA、DDS等。同时,通过设置头文件和编译选项等参数,可将IDL模型文件编译为多种编程语言代码(如C++、C、Java)。
代码生成模块:该模块能够解析IDL接口模型并生成相应的IDL模型文件,调用编译器对IDL模型文件进行编译以生成代码。
需要说明的是,本发明提供的方法中的步骤,可以利用系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照方法的技术方案实现系统的组成,即,方法中的实施例可理解为构建系统的优选例,在此不予赘述。
本发明一实施例提供了一种本发明上述实施例中提供的基于模型驱动的IDL接口建模方法或系统构建得到的IDL接口库模型(即通过上述方法或系统构建得到的封装并入库的IDL接口代码)的应用,从模型库中选择所需的IDL接口库模型,用于端口建模和/或服务组件建模。
在一优选实施例中,该应用可以进一步包括如下操作:
S1,输入端口名称,创建端口建模视图;
S2,配置端口的属性信息,得到端口模型;
S3,从模型库中,选择端口所要使用的IDL接口库模型,并装配到端口模型中;
S4,验证装配后的端口模型并入库。
在一优选实施例中,该应用还可以进一步包括如下操作:
M1,输入应用组件名称,创建可视化的应用组件模型;
M2,从模型库中选择应用组件所要使用的端口模型,并装配到应用组件模型中;
M3,将装配后的应用组件模型入库。
下面对本发明上述实施例提供的技术方案及设计原理进一步详细说明。
在软件无线电领域,波形通常需要适应多种环境和平台,同一业务下的不同场景也需要不同平台的开发人员。因此,在波形设计开始时采用一种统一的方式来规定协作是必要的。本发明上述实施例提供的基于模型驱动的IDL接口建模方法,采用模型驱动建模,将业务逻辑与底层平台技术分离,通过统一的语言规范,在各种环境中更加灵活地满足需求,降低沟通成本和误解,并提高开发效率和代码质量。
如图3所示,本发明上述实施例提供的方法,首先分析IDL接口中的各种元素,包括接口名称、方法、参数类型等,然后对这些元素进行分层,明确各元素间的依赖关系,最后形成一套统一的IDL元数据,包含模型的类型、ID、名称、外观、父子元素等基本模型规范。让IDL接口模型和XML建模文档(即IDL模型文件)通过IDL元数据互相验证。本发明上述实施例提供的方法,还提供一XML解析器,在创建和入库IDL接口模型时对IDL模型文件进行验证,以检测是否正确地映射到XML建模文档中。在编辑和出库使用时对XML建模文档进行解析,从而将XML建模文档图形化为IDL接口模型。该方法中创建IDL接口模型的部分,包括以下步骤:
第1步:对IDL接口进行分析、分层与建模,明确IDL接口中的元素和元素间的层级关系,形成一套统一的IDL元数据;
第2步:根据IDL元数据制定XML建模文档中各标签与IDL接口数据之间的映射关系,形成一套包含基本的标签名称、类型、ID、父元素、子元素等基本XML标签规范;
第3步:根据制定的映射关系和IDL元数据,将IDL接口模型化,并形成XML建模文档,使用XML解析器实现IDL接口模型和XML建模文档间的解析与验证;
第4步:将经过验证的IDL模型和XML建模文档应用于软件无线电系统,确保系统的各个组件能够正确地传递和接收数据。
在软件无线电系统中,IDL接口被广泛应用于描述和定义软件组件之间的接口,是一种平台无关的技术。在国内的SRTF规范中,波形组件通信通常依赖各种传输机制。因此,实现通信功能的接口代码需要适配不同平台和中间件。如图4所示,IDL模型文件本身是平台无关的,需要根据实际应用场景选择不同系统(如Windows、Linux)和中间件(如CORBA、DDS、ICE等),使用对应的编译器(如C、C++、Java等)编译IDL模型文件才能生成符合实际需求的IDL接口代码。本发明上述实施例提供的方法,通过在IDL接口模型使用编译配置元素记录IDL接口模型的中间件、编译器等信息来解耦IDL模型文件与IDL接口代码之间的联系,并且可以灵活增减适配的中间件和编译器以满足实际需求,从而提高了扩展性。在生成和编译IDL模型文件时,只需解析IDL接口模型即可获取所需信息,具体包括如下步骤:
第i步:通过IDL元数据解析IDL接口模型,生成XML建模文档;
第ii步:IDL生成器根据XML建模文档获取IDL接口信息,包括属性、操作等接口元素及它们之间的层级关系;
第iii步:按照已规定的IDL模板文件,根据IDL接口信息生成相应的IDL模型文件;
第iv步:在解析得到的IDL接口信息中选择对应的编译配置信息,并使用相应的编译器编译IDL模型文件以生成所需的IDL接口代码。
IDL接口在软件无线电系统中通常有两种使用场景:一是为端口提供支撑,以实现应用端口通信;二是为服务组件提供支持,方便服务对外提供功能。本发明上述实施例提供的方法,在软件无线电集成开发环境终端中,使用基于模型驱动的IDL接口建模,可以实现IDL接口模型在以上场景中应用。如图5所示,无线电集成开发环境终端中对IDL接口的建模及应用,具体包括如下步骤:
步骤1:在软件无线电集成开发环境中,创建IDL接口模型,并进行模型验证和解析,生成IDL接口模型对应的XML建模文档;
步骤2:通过编译配置,配置IDL编译时所需的中间件、编译器、头文件、编译选项等配置信息;
步骤3:根据步骤1和步骤2得到的信息,生成IDL模型文件并对IDL模型文件进行编译,自动生成接口代码,对IDL接口模型进行验证并入库;
步骤4:在端口建模和服务组件建模时,从模型库中选择需要使用的IDL接口模型。
其中,步骤1包括以下步骤:
步骤1.1:输入IDL接口名称,创建IDL接口建模视图;
步骤1.2:按照开发者对IDL接口的设计需求,在IDL接口模型中添加相应的接口元素模型(包括属性、操作等);
步骤1.3:配置接口元素模型,并放入IDL接口模型中对应的接口层次中,得到可视化的IDL接口模型;
步骤1.4:解析IDL接口模型,生成对应的XML建模文档。
其中,步骤2包括以下步骤:
步骤2.1:在编译配置中选择适用的中间件,如CORBA、DDS、ICE等,以明确IDL接口所对应的中间件;
步骤2.2:在编译配置中选择IDL编译器版本,包括编程语言和平台,编程语言有C、C++等,编程平台有Linux、Windows,以确定生成的存根文件的代码类型;
步骤2.3:在编译配置中添加头文件,以满足IDL模型文件在编译过程中需要引用的头文件;
步骤2.4:在编译配置中设置编译选项,以设定IDL模型文件在编译过程中所需的参数。
其中,步骤3包括以下步骤:
步骤3.1:根据XML建模文档,生成文件名称为接口名称.idl的可读的IDL模型文件,该文件包含了规范的接口定义和相关参数信息;
步骤3.2:根据步骤2中的配置信息,使用相应的编译器编译IDL模型文件,生成对应的IDL接口代码,对IDL接口代码进行验证;
步骤3.3:将验证通过的IDL接口代码封装并存入模型库中。
步骤4.1:输入端口名称,创建端口建模视图;
步骤4.2:按照开发者对端口的设计需求,配置端口的属性,包括传输类型、最大连接数等,得到可视化的端口模型;
步骤4.3:从模型库中,选择端口需要使用的IDL接口库模型。解析IDL接口库模型为对应的IDL接口模型,装配到端口模型中;
步骤4.4:验证端口模型并入库;
步骤4.5:输入应用组件名称,创建应用组件建模视图,得到可视化的应用组件模型;
步骤4.6:从模型库中选择应用组件需要使用的端口模型,装配到应用组件模型中;
步骤4.7:将应用组件模型入库。
本发明一实施例提供了一种计算机终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该计算机程序时可用于执行本发明上述实施例中任一项方法,或,运行本发明上述实施例中任一项系统。
可选地,存储器,用于存储程序;存储器,可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-access memory,缩写:RAM),如静态随机存取存储器(英文:static random-access memory,缩写:SRAM),双倍数据率同步动态随机存取存储器(英文:Double Data Rate Synchronous Dynamic Random Access Memory,缩写:DDR SDRAM)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
处理器,用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤或系统各种的各个模块。具体可以参见前面方法和系统实施例中的相关描述。
处理器和存储器可以是独立结构,也可以是集成在一起的集成结构。当处理器和存储器是独立结构时,存储器、处理器可以通过总线耦合连接。
根据本发明的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可用于执行本发明上述实施例中任一项方法,或,运行本发明上述实施例中任一项系统。
本发明上述实施例提供的基于模型驱动的IDL接口建模方法、系统、终端及介质,使用基于模型驱动的建模方法,实现可视化的IDL接口建模功能,为开发者屏蔽IDL语法细节,降低开发门槛;支持IDL接口自动编译及入库管理,在应用中组件端口和服务组件可通过图形化建模的方式继承IDL接口,提高开发效率和接口复用性。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本发明上述实施例中未尽事宜均为本领域公知技术。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (11)
1.一种基于模型驱动的IDL接口建模方法,其特征在于,包括:
创建IDL接口模型,生成所述IDL接口模型对应的XML建模文档;
配置IDL编译时所需的配置信息;
根据所述XML建模文档和所述配置信息,生成IDL模型文件并对所述IDL模型文件进行编译,自动生成IDL接口代码,对所述IDL接口代码进行验证并封装入库,完成对IDL接口建模。
2.根据权利要求1所述的基于模型驱动的IDL接口建模方法,其特征在于,所述创建IDL接口模型,生成所述IDL接口模型对应的XML建模文档:
输入IDL接口名称,创建IDL接口建模视图;
在所述IDL接口建模视图中添加所需的接口元素模型;
对所述接口元素模型进行配置,并放入所述IDL接口建模视图中对应的接口层次中,创建得到IDL接口模型;
解析所述IDL接口模型,生成对应的可读的XML建模文档。
3.根据权利要求2所述的基于模型驱动的IDL接口建模方法,其特征在于,还包括:
对IDL接口进行分析、分层与建模,获得IDL接口中的元素和元素间的层级关系,形成统一的IDL元数据,并构建接口元素模型;
根据所IDL元数据,配置所需的接口元素模型,并放入所述IDL接口建模视图中对应的接口层次,创建得到IDL接口模型;
提供一XML解析器,用于对所述IDL接口模型进行解析,获得所述IDL接口模型的IDL元数据;根据所述IDL元数据制定XML建模文档中各标签与各元素之间的映射关系;
根据所述映射关系,形成相应的XML建模文档;
验证所述IDL接口模型是否映射到XML建模文档中。
4.根据权利要求1所述的基于模型驱动的IDL接口建模方法,其特征在于,所述配置IDL编译时所需的配置信息,通过编译配置,包括:
在IDL编译配置中选择IDL接口所对应的中间件;
在IDL编译配置中选择IDL编译器,用于确定生成的存根文件的代码类型;
在IDL编译配置中添加头文件,用于得到IDL模型文件在编译过程中需要引用的头文件;
在IDL编译配置中设置编译选项,用于设定IDL模型文件在编译过程中所需的参数。
5.根据权利要求1所述的基于模型驱动的IDL接口建模方法,其特征在于,所述根据所述XML建模文档和所述配置信息,生成IDL模型文件并对所述IDL模型文件进行编译,自动生成IDL接口代码,对所述IDL接口代码进行验证并封装入库,包括:
根据所述XML建模文档,生成文件名称为接口名称.idl的IDL模型文件,所述IDL模型文件包括接口定义和相关元素信息;
根据所述配置信息,编译所述IDL模型文件,生成对应的IDL接口代码,对所述IDL接口代码进行验证;
将验证通过的所述IDL接口代码封装存入模型库中。
6.根据权利要求5所述的基于模型驱动的IDL接口建模方法,其特征在于,还包括:
提供一XML解析器,用于解析所述IDL接口模型,生成XML建模文档;
提供一IDL生成器,用于根据所述XML建模文档获取IDL接口模型的IDL元数据;
按照已规定的IDL模板文件,根据所述IDL元数据生成相应的IDL模型文件;
在所述IDL元数据中选择对应的编译配置信息;
提供一IDL编译器,用于根据所述编译配置信息编译所述IDL模型文件以生成所需的IDL接口代码。
7.一种基于模型驱动的IDL接口建模系统,其特征在于,包括:
模型编辑模块,用于创建IDL接口模型;
模型解析模块,用于生成所述IDL接口模型对应的XML建模文档,对所述IDL接口模型进行验证和解析;
接口编译模块,用于配置IDL编译时所需的配置信息;
代码生成模块,用于根据所述XML建模文档,生成IDL模型文件并对所述IDL模型文件进行编译;根据所述配置信息,生成IDL接口代码;
模型入库模块,用于对所述IDL接口代码进行验证并封装入库。
8.一种基于模型驱动的IDL接口建模方法构建得到的IDL接口库模型的应用,其特征在于,从模型库中选择所需的IDL接口库模型,用于端口建模和/或服务组件建模。
9.根据权利要求8所述的应用,其特征在于,包括:
输入端口名称,创建端口建模视图;
配置端口的属性信息,得到端口模型;
从模型库中,选择端口所要使用的IDL接口库模型,并装配到所述端口模型中;
验证装配后的端口模型并入库;
输入应用组件名称,创建可视化的应用组件模型;
从模型库中选择应用组件所要使用的端口模型,并装配到所述应用组件模型中;
将装配后的应用组件模型入库。
10.一种计算机终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,该处理器执行该计算机程序时可用于执行权利要求1-6或8-9中任一项所述的方法,或,运行权利要求7所述的系统。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时可用于执行权利要求1-6或8-9中任一项所述的方法,或,运行权利要求7所述的系统。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311338485.0A CN117406981B (zh) | 2023-10-16 | 2023-10-16 | 基于模型驱动的idl接口建模方法、系统、终端及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202311338485.0A CN117406981B (zh) | 2023-10-16 | 2023-10-16 | 基于模型驱动的idl接口建模方法、系统、终端及介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN117406981A true CN117406981A (zh) | 2024-01-16 |
| CN117406981B CN117406981B (zh) | 2024-10-15 |
Family
ID=89497339
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202311338485.0A Active CN117406981B (zh) | 2023-10-16 | 2023-10-16 | 基于模型驱动的idl接口建模方法、系统、终端及介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117406981B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002037261A2 (en) * | 2000-11-03 | 2002-05-10 | Wilde Technologies Limited | A software development process |
| CN111353235A (zh) * | 2020-03-13 | 2020-06-30 | 上海介方信息技术有限公司 | 一种基于模型驱动的组件端口建模方法及终端 |
| CN113296764A (zh) * | 2021-05-27 | 2021-08-24 | 成都谐盈科技有限公司 | 一种基于模型驱动的idl文件生成系统、方法及终端 |
| CN114973029A (zh) * | 2022-05-20 | 2022-08-30 | 成都软智科技有限公司 | 一种可扩展的异构多无人机协同灭火系统 |
-
2023
- 2023-10-16 CN CN202311338485.0A patent/CN117406981B/zh active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002037261A2 (en) * | 2000-11-03 | 2002-05-10 | Wilde Technologies Limited | A software development process |
| CN111353235A (zh) * | 2020-03-13 | 2020-06-30 | 上海介方信息技术有限公司 | 一种基于模型驱动的组件端口建模方法及终端 |
| CN113296764A (zh) * | 2021-05-27 | 2021-08-24 | 成都谐盈科技有限公司 | 一种基于模型驱动的idl文件生成系统、方法及终端 |
| CN114973029A (zh) * | 2022-05-20 | 2022-08-30 | 成都软智科技有限公司 | 一种可扩展的异构多无人机协同灭火系统 |
Non-Patent Citations (1)
| Title |
|---|
| 吴湛: "基于SCA的软件无线电波形建模关键技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 07, 15 July 2018 (2018-07-15), pages 136 - 216 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117406981B (zh) | 2024-10-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9916134B2 (en) | Methods and systems for accessing distributed computing components through the internet | |
| US7707553B2 (en) | Computer method and system for automatically creating tests for checking software | |
| US20090064196A1 (en) | Model based device driver code generation | |
| US20060168557A1 (en) | Methods and apparatus for implementing model-based software solution development and integrated change management | |
| US20050256665A1 (en) | System and method for model based system testing of interactive applications | |
| US20050065953A1 (en) | System and method for changing defined elements in a previously compiled program using a description file | |
| CN111506314B (zh) | 项目开发的方法、装置、服务器及介质 | |
| CN116974620A (zh) | 应用程序的生成方法、运行方法以及相应的装置 | |
| Schippers et al. | Leveraging UML profiles to generate plugins from visual model transformations | |
| CN119668576B (zh) | 一种低代码软件开发系统 | |
| CN117406981B (zh) | 基于模型驱动的idl接口建模方法、系统、终端及介质 | |
| Rouvoy et al. | Leveraging component-oriented programming with attribute-oriented programming | |
| CN117873650B (zh) | 实时运行环境生成系统、方法、计算机设备及存储介质 | |
| Pons et al. | Traceability across refinement steps in UML modeling | |
| CN101159601A (zh) | 升级网元的系统、装置及其方法 | |
| CN116107623A (zh) | 一种软件开发方法、装置及电子设备 | |
| CN117472334B (zh) | 基于模型驱动的嵌套波形建模方法、系统、终端及介质 | |
| CN114371842A (zh) | 基于mvvm框架的应用快速搭建方法及计算机设备 | |
| CN120780288B (zh) | 基于人工智能的嵌入式开发方法、系统、设备及存储介质 | |
| WO2008015110A2 (en) | Methods, apparatus and computer programs for modelling computer programs | |
| Lano et al. | Introduction to software architecture concepts | |
| CN119440611B (zh) | 一种配置参数绑定方法、装置、设备及介质 | |
| CN113535142A (zh) | 自动生成Bean拷贝代码的方法及装置 | |
| Kallel et al. | Combining formal methods and aspects for specifying and enforcing architectural invariants | |
| Romero et al. | A tool for the model-based specification of open distributed systems |
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 |