CN114546538A - 一种基于osgi的虚拟仿真平台构建方法 - Google Patents
一种基于osgi的虚拟仿真平台构建方法 Download PDFInfo
- Publication number
- CN114546538A CN114546538A CN202210451925.2A CN202210451925A CN114546538A CN 114546538 A CN114546538 A CN 114546538A CN 202210451925 A CN202210451925 A CN 202210451925A CN 114546538 A CN114546538 A CN 114546538A
- Authority
- CN
- China
- Prior art keywords
- plug
- module plug
- osgi
- ins
- functional module
- 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
- 238000010276 construction Methods 0.000 title claims abstract description 16
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 48
- 238000004891 communication Methods 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 19
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000008878 coupling Effects 0.000 abstract description 6
- 238000010168 coupling process Methods 0.000 abstract description 6
- 238000005859 coupling reaction Methods 0.000 abstract description 6
- 238000004088 simulation Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 5
- 206010000496 acne Diseases 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000012190 activator Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本申请属于虚拟仿真软件技术领域,公开了一种基于osgi的虚拟仿真平台构建方法,基于osgi框架实现,包括:基于osgi插件机制构建多个功能模块插件,所述功能模块插件为osgi bundle插件;各所述功能模块插件具有独立的目录;用QT主程序加载所述功能模块插件形成虚拟仿真平台;所述QT主程序用于提供环境初始化、主机程序启动、注销和功能模块插件注册的功能;从而可降低系统耦合度,从而有利于提高系统的可扩展性。
Description
技术领域
本申请涉及虚拟仿真软件技术领域,具体而言,涉及一种基于osgi的虚拟仿真平台构建方法。
背景技术
目前,市面上的用于进行虚拟仿真和数字孪生的开源虚拟仿真软件采用传统的开发模式,耦合度高,系统可扩展性差,操作系统兼容性差,消耗资源较多,制约了虚拟仿真软件的发展。
发明内容
本申请的目的在于提供一种基于osgi的虚拟仿真平台构建方法,可降低系统耦合度,从而有利于提高系统的可扩展性。
本申请提供了一种基于osgi的虚拟仿真平台构建方法,所述基于osgi的虚拟仿真平台构建方法基于osgi框架实现,包括:
基于osgi插件机制构建多个功能模块插件,所述功能模块插件为osgi bundle插件;各所述功能模块插件具有独立的目录;
用QT主程序加载所述功能模块插件形成虚拟仿真平台;所述QT主程序用于提供环境初始化、主机程序启动、注销和功能模块插件注册的功能。
该基于osgi的虚拟仿真平台构建方法,基于osgi规范的插件机制,实现以插件化的形式管理仿真中各个不同的机器人或者虚拟仿真场景所需的功能模块,不同功能模块由QT主程序加载以形成一个仿真平台;降低了系统耦合度,有助于提高开发效率、并行性和灵活性,从而有利于提高系统的可扩展性。
优选地,所述用QT主程序加载所述功能模块插件形成虚拟仿真平台的步骤包括:
运行启动后,遍历各所述功能模块插件的目录,将包含插件宏定义的接口文件标识为需用插件,并根据所述接口文件中的插件信息创建插件对象;
安装完所有包含插件宏定义的接口文件后,加载所述接口文件中指定的程序集并启动所述需用插件。
即,功能模块插件和QT主机程序之间通过标准接口集成,有助于减轻软件开发人员的负担,增强软件的可扩展性。
优选地,所述功能模块插件包括通讯处理模块插件、业务流模块插件和界面模块插件。
从而,可满足大部分虚拟仿真场景的使用要求,可根据实际需要采用对应的功能模块插件构建出满足要求的仿真平台。
优选地,所述通讯处理模块插件包括ROS消息收发处理模块插件、kafka消息收发处理模块插件、mqtt消息收发处理模块插件、TCP/UDP消息收发处理模块插件中的至少一项。
优选地,所述业务流模块插件包括OpenGL三维建模引擎处理模块插件、业务处理模块插件中的至少一项。
优选地,所述界面模块插件包括UI基本控件集模块插件。
进一步地,所述基于osgi插件机制构建多个功能模块插件,所述功能模块插件为osgi bundle插件的步骤包括:
将UI的基本控件的扩展集合封装为osgi bundle插件,得到所述UI基本控件集模块插件。
优选地,在所述虚拟仿真平台中,所述业务流模块插件和所述界面模块插件之间、各业务流模块插件之间均通过osgi框架提供的服务或基于osgi的事件服务进行通信;所述通讯处理模块插件与所述业务流模块插件之间通过引用方式或基于osgi的事件服务进行通信;所述通讯处理模块插件与外部进程管理模块插件之间通过网络通信。
优选地,通过Osgi框架提供的服务进行通信的过程包括:
由一个功能模块插件定义一个服务接口,然后导出供其它功能模块插件使用;
由定义所述服务接口的所述功能模块插件定义所述服务接口对应的服务内容;
定义所述服务接口的所述功能模块插件启动后,将服务内容注册到 osgi框架;
另一个功能模块插件调用所述服务接口实现注册、查询或调用的服务。
优选地,通过基于Osgi的事件服务进行通信的过程包括:
由一个功能模块插件发布一个事件,由订阅所述事件的另一个功能模块插件相应地接收消息。
有益效果:
本申请提供的基于osgi的虚拟仿真平台构建方法,基于osgi规范的插件机制,实现以插件化的形式管理仿真中各个不同的机器人或者虚拟仿真场景所需的功能模块,不同功能模块由QT主程序加载以形成一个仿真平台;降低了系统耦合度,有助于提高开发效率、并行性和灵活性,从而有利于提高系统的可扩展性。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请了解。
附图说明
图1为本申请实施例提供的基于osgi的虚拟仿真平台构建方法的流程图。
图2为一种示例性的功能模块插件扩展式设计示意图。
图3为通过Osgi框架提供的服务进行通信的原理图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参照图1,图1是本申请一些实施例中的基于osgi(Open Service GatewayInitiative,开放服务网关协议)的虚拟仿真平台构建方法,基于osgi的虚拟仿真平台构建方法基于osgi框架实现,包括:
A1.基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件;各功能模块插件具有独立的目录;
A2.用QT主程序(利用由QT company开发的跨平台C++图形用户界面应用程序开发框架构建的主程序)加载功能模块插件形成虚拟仿真平台;QT主程序用于提供环境初始化、主机程序启动、注销和功能模块插件注册的功能。
该基于osgi的虚拟仿真平台构建方法,基于osgi规范的插件机制,实现以插件化的形式管理仿真中各个不同的机器人或者虚拟仿真场景所需的功能模块,不同功能模块由QT主程序加载以形成一个仿真平台;降低了系统耦合度,有助于提高开发效率、并行性和灵活性,从而有利于提高系统的可扩展性。
此处,QT主程序是各功能模块插件运行的容器,提供了环境初始化、主机程序启动、注销和功能模块插件注册的功能,各功能模块插件各自实现虚拟仿真软件不同的具体功能。各功能模块插件是由osgi内核管理和注册,QT主程序通过调用osgi内核加载或卸载功能模块插件。
具体地,用QT主程序加载功能模块插件形成虚拟仿真平台的步骤包括:
(QT主程序)运行启动后,遍历各功能模块插件的目录,将包含插件宏定义的接口文件标识为需用插件(功能模块插件的目录包含接口文件),并根据接口文件中的插件信息创建插件对象;
安装完所有包含插件宏定义的接口文件后,加载接口文件中指定的程序集并启动需用插件。
即,功能模块插件和QT主机程序之间通过标准接口集成,有助于减轻软件开发人员的负担,增强软件的可扩展性。
优选地,各功能模块插件采用扩展式设计;例如,功能模块插件通过引用服务接口来获取系统中的服务,以完成现有功能模块插件的功能的扩展;或者,功能模块插件的接口文件中定义扩展点和可扩展点,其中,可扩展点是指功能模块插件向其他功能模块插件公开并可用于扩展的信息,扩展点是指功能模块插件从其他功能模块插件扩展而来的插件接口(见图2)。通过采用扩展式设计,其优点为:可扩展点类似于类的接口声明,功能模块插件可扩展其它功能模块插件的可扩展点,用户就可以即插即用不同的功能模块插件,从而得到不同的功能,且在需要时可在线安装,不需要时可在线卸载。
在本实施例中,功能模块插件包括通讯处理模块插件、业务流模块插件和界面模块插件。
从而,可满足大部分虚拟仿真场景的使用要求,可根据实际需要采用对应的功能模块插件构建出满足要求的仿真平台。
其中,通讯处理模块插件包括ROS消息收发处理模块插件、kafka消息收发处理模块插件、mqtt消息收发处理模块插件、TCP/UDP消息收发处理模块插件中的至少一项。
当通讯处理模块插件包括ROS消息收发处理模块插件时,基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件的步骤包括:
将ROS的发布和订阅处理子程序封装为osgi bundle插件,得到对应的ROS消息收发处理模块插件。
传统应用中,ROS的发布和订阅处理子程序通常是通过编写roslaunch XML文件在终端上运行的,非常不便,此处,通过把ROS的发布和订阅处理子程序封装为osgi bundle插件,从而通过从osgi bundle启动外部进程来实现运行,使用和管理更加方便。
当通讯处理模块插件包括kafka消息收发处理模块插件或mqtt消息收发处理模块插件时,基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件的步骤包括:
将kafka组件或mqtt组件的客户端封装为osgi bundle插件,得到kafka消息收发处理模块插件或mqtt消息收发处理模块插件。
当通讯处理模块插件包括TCP/UDP消息收发处理模块插件时,基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件的步骤包括:
将TCP/UDP消息收发处理子程序封装为osgi bundle插件,得到TCP/UDP消息收发处理模块插件。
其中,业务流模块插件包括OpenGL三维建模引擎处理模块插件、业务处理模块插件(例如机器人控制的业务模块插件、AGV控制的业务模块插件、依赖于PLC控制的传感器控制业务模块插件等)中的至少一项。
当业务流模块插件包括OpenGL三维建模引擎处理模块插件时,基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件的步骤包括:
将OpenGL三维建模引擎处理程序封装为osgi bundle插件,得到OpenGL三维建模引擎处理模块插件。
当业务流模块插件包括业务处理模块插件时,基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件的步骤包括:
将机器人控制的业务程序封装为osgi bundle插件,得到业务处理模块插件。
其中,界面模块插件包括UI基本控件集模块插件。
当界面模块插件包括UI基本控件集模块插件时,基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件的步骤包括:
将UI的基本控件的扩展集合封装为osgi bundle插件,得到UI基本控件集模块插件。
其中,UI的基本控件例如包括table、tree、button、label等。在一些实施方式中,还可把UI界面拆分成不同的区域,每个区域由若干基本控件堆积而成,将同一个区域的所有基本控件作为一个扩展集合,封装为一个osgi bundle插件;从而可根据实际需要把不同的UI基本控件集模块插件组合成不同的UI界面。
以下是示例性的把一个对象(CrobotbllPlugiActivator)封装为osgi bundle插件的代码:
#include<usModuleActivator.h>
#include<usModuleContext.h>
#include<usModuleInitialization.h>
class CRbotBLLPluginActivator:public us::ModuleActivator //Inheritus::ModuleActivator
{
public:
CRbotBLLPluginActivator()
{
}
void Load(us::ModuleContext* context) //Overwirte Load
{
m_pImpl = boost::make_shared<CRobotBLLImpl>(context);
try
{
us::ServiceProperties props;
m_Registration = context->RegisterService<IRobotBLLApp>(m_pImpl.get(),props);
}
catch(…)
{
throw;
}
}
private:
boost::shared_ptr< CRobotBLLImpl >m_pImpl;
us::ServiceRegistration<IRobotBLLApp>m_Registration;
};
US_EXPORT_MODULE_ACTIVATOR(robotBllApp,CRbotBLLPluginActivator)
US_INITIALIZE_ MODULE(“jhlab.ac.cn”, “robotBllApp”)。
在本实施例中,QT主程序包括osgi bundle插件的管理程序,该管理程序的主要功能是根据osgi bundle插件的名称列表按顺序查找osgi bundle插件对应的共享liabriary文件(共享liabriary文件是根据C++的cppmicroserver的lib格式编写的文件)。以下是示例性的osgi bundle插件的管理程序的代码:
使用该osgi bundle插件的管理程序进行osgi bundle插件管理时,在osgi微内核启动后,可按顺序启动所需的功能模块插件,并且可以随时加载和卸载功能模块插件,且在仿真平台正在运行时,也能够支持在线更换功能模块插件,实现功能模块插件的热插拔。
优选地,在虚拟仿真平台中,业务流模块插件和界面模块插件之间、各业务流模块插件之间均通过osgi框架提供的服务或基于osgi的事件服务进行通信;通讯处理模块插件与业务流模块插件之间通过引用方式或基于osgi的事件服务进行通信;通讯处理模块插件与外部进程管理模块插件之间通过网络通信。
其中,通过引用方式进行通信,其中的引用方式类似于C++里的引用:对象a在全局已初始化并存在,对象a是osgi bundle插件A的实例,osgi bundle插件B通过A&a指令,指向并调用对象a;其代码为:
B::method1(A& a)
{
a->method_of_A() #调用A内部的method_of_A
} 。
其中,参考图3,通过Osgi框架提供的服务(包括注册、查询、调用等服务)进行通信的过程包括:
由一个功能模块插件(可把该功能模块插件称为第一功能模块插件)定义一个服务接口,然后导出供其它功能模块插件使用;
由定义该服务接口的该功能模块插件(即第一功能模块插件)定义该服务接口对应的服务内容;
该定义该服务接口的功能模块插件(即第一功能模块插件)启动后,将服务内容注册到 osgi框架;
另一个功能模块插件调用该服务接口实现注册、查询或调用的服务。
在本实施例中,图3中的服务总线的功能是由QT主程序实现的。
其中,通过基于Osgi的事件服务进行通信的过程包括:
由一个功能模块插件发布一个事件,由订阅该事件的另一个功能模块插件相应地接收消息。
以下是一种示例性的通过基于Osgi的事件服务进行通信的代码:
EventAdmin eventAdmin = (EventAdmin) bundleContext.getService(sr);//Get message
management service
Event eventSended = new Event(“needservicebundle/WhoCare”,new HashMap<String,
String >());//Generate message
Event eventPosted = new Event(“needservicebundle/AnyBody”, newHashMap< String,
String >());
eventAdmin.sendEvent(eventSended);// Send message synchronously
eventAdmin.postEvent(eventPosted);// Send message asynchronously。
其中,发送事件消息(发布事件)有两种方法:SendEvent和PostEvent。前者是同步调用,在处理所有事件处理程序之前不会返回。后者是一个异步调用,不必等待事件处理程序的返回。优选采用后一种方法,调用方无需空等,降低cpu消耗。
在一些实施方式中,建功能模块插件还包括HttpServer管理模块插件;从而,基于osgi插件机制构建多个功能模块插件,功能模块插件为osgi bundle插件的步骤包括:
将HttpServer管理程序封装为osgi bundle插件,得到HttpServer管理模块插件。
当使用html和JavaScript文件(包括“three.js”文件)来构建虚拟仿真的三维模型时,需要将这些页面发布到HttpServer(Http服务器)。此处,把HttpServer管理程序封装为osgi bundle插件,在服务器(Http服务器)运行后,可通过webbrowser或QWebEngine访问服务器。其中,如果使用QWebEngine访问服务器,网页和QwebEngine会通过QWebChannel相互通信;QWebChannel填补了C++应用程序和HTML/JavaScript应用程序之间双向通信方案的空白;通过将QObject派生的对象发布到QWebChannel,并在HTML端使用“QWebChannel.js”,可以透明地访问QObject的属性、公共插槽和方法。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种基于osgi的虚拟仿真平台构建方法,其特征在于,所述基于osgi的虚拟仿真平台构建方法基于osgi框架实现,包括:
基于osgi插件机制构建多个功能模块插件,所述功能模块插件为osgi bundle插件;各所述功能模块插件具有独立的目录;
用QT主程序加载所述功能模块插件形成虚拟仿真平台;所述QT主程序用于提供环境初始化、主机程序启动、注销和功能模块插件注册的功能。
2.根据权利要求1所述的基于osgi的虚拟仿真平台构建方法,其特征在于,所述用QT主程序加载所述功能模块插件形成虚拟仿真平台的步骤包括:
运行启动后,遍历各所述功能模块插件的目录,将包含插件宏定义的接口文件标识为需用插件,并根据所述接口文件中的插件信息创建插件对象;
安装完所有包含插件宏定义的接口文件后,加载所述接口文件中指定的程序集并启动所述需用插件。
3.根据权利要求1所述的基于osgi的虚拟仿真平台构建方法,其特征在于,所述功能模块插件包括通讯处理模块插件、业务流模块插件和界面模块插件。
4.根据权利要求3所述的基于osgi的虚拟仿真平台构建方法,其特征在于,所述通讯处理模块插件包括ROS消息收发处理模块插件、kafka消息收发处理模块插件、mqtt消息收发处理模块插件、TCP/UDP消息收发处理模块插件中的至少一项。
5.根据权利要求3所述的基于osgi的虚拟仿真平台构建方法,其特征在于,所述业务流模块插件包括OpenGL三维建模引擎处理模块插件、业务处理模块插件中的至少一项。
6.根据权利要求3所述的基于osgi的虚拟仿真平台构建方法,其特征在于,所述界面模块插件包括UI基本控件集模块插件。
7.根据权利要求6所述的基于osgi的虚拟仿真平台构建方法,其特征在于,所述基于osgi插件机制构建多个功能模块插件,所述功能模块插件为osgi bundle插件的步骤包括:
将UI的基本控件的扩展集合封装为osgi bundle插件,得到所述UI基本控件集模块插件。
8.根据权利要求3所述的基于osgi的虚拟仿真平台构建方法,其特征在于,在所述虚拟仿真平台中,所述业务流模块插件和所述界面模块插件之间、各业务流模块插件之间均通过osgi框架提供的服务或基于osgi的事件服务进行通信;所述通讯处理模块插件与所述业务流模块插件之间通过引用方式或基于osgi的事件服务进行通信;所述通讯处理模块插件与外部进程管理模块插件之间通过网络通信。
9.根据权利要求8所述的基于osgi的虚拟仿真平台构建方法,其特征在于,通过Osgi框架提供的服务进行通信的过程包括:
由一个功能模块插件定义一个服务接口,然后导出供其它功能模块插件使用;
由定义所述服务接口的所述功能模块插件定义所述服务接口对应的服务内容;
定义所述服务接口的所述功能模块插件启动后,将服务内容注册到 osgi框架;
另一个功能模块插件调用所述服务接口实现注册、查询或调用的服务。
10.根据权利要求8所述的基于osgi的虚拟仿真平台构建方法,其特征在于,通过基于Osgi的事件服务进行通信的过程包括:
由一个功能模块插件发布一个事件,由订阅所述事件的另一个功能模块插件相应地接收消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210451925.2A CN114546538B (zh) | 2022-04-27 | 2022-04-27 | 一种基于osgi的虚拟仿真平台构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210451925.2A CN114546538B (zh) | 2022-04-27 | 2022-04-27 | 一种基于osgi的虚拟仿真平台构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114546538A true CN114546538A (zh) | 2022-05-27 |
CN114546538B CN114546538B (zh) | 2022-08-02 |
Family
ID=81667317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210451925.2A Active CN114546538B (zh) | 2022-04-27 | 2022-04-27 | 一种基于osgi的虚拟仿真平台构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546538B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153909A1 (en) * | 2008-12-16 | 2010-06-17 | International Business Machines Corp. | Method and System for Building and Application |
CN103019763A (zh) * | 2012-11-06 | 2013-04-03 | 深圳中兴网信科技有限公司 | 插件扩展装置和插件扩展方法 |
CN106873972A (zh) * | 2016-12-30 | 2017-06-20 | 中国电力科学研究院 | 基于插件的电网规划仿真平台计算模块接入方法及系统 |
CN109298851A (zh) * | 2018-07-25 | 2019-02-01 | 中国电子科技集团公司第二十九研究所 | 一种OSGi异构软件框架的扩展机制适配方法 |
CN112235639A (zh) * | 2020-08-31 | 2021-01-15 | 福州智象信息技术有限公司 | 一种易升级可扩展的Linux智能电视操作系统 |
CN113986206A (zh) * | 2021-11-12 | 2022-01-28 | 成都统信软件技术有限公司 | 插件加载系统的构建方法、插件加载系统及计算设备 |
-
2022
- 2022-04-27 CN CN202210451925.2A patent/CN114546538B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100153909A1 (en) * | 2008-12-16 | 2010-06-17 | International Business Machines Corp. | Method and System for Building and Application |
CN103019763A (zh) * | 2012-11-06 | 2013-04-03 | 深圳中兴网信科技有限公司 | 插件扩展装置和插件扩展方法 |
CN106873972A (zh) * | 2016-12-30 | 2017-06-20 | 中国电力科学研究院 | 基于插件的电网规划仿真平台计算模块接入方法及系统 |
CN109298851A (zh) * | 2018-07-25 | 2019-02-01 | 中国电子科技集团公司第二十九研究所 | 一种OSGi异构软件框架的扩展机制适配方法 |
CN112235639A (zh) * | 2020-08-31 | 2021-01-15 | 福州智象信息技术有限公司 | 一种易升级可扩展的Linux智能电视操作系统 |
CN113986206A (zh) * | 2021-11-12 | 2022-01-28 | 成都统信软件技术有限公司 | 插件加载系统的构建方法、插件加载系统及计算设备 |
Non-Patent Citations (1)
Title |
---|
吴越等: "一种面向服务的插件框架", 《中国仪器仪表》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114546538B (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102209111B (zh) | 云计算移动网络终端设备开放性跨平台系统 | |
AU769815B2 (en) | Distributed objects for a computer system | |
US5548723A (en) | Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack | |
US6622175B1 (en) | System and method for communications in a distributed processing environment | |
US6951021B1 (en) | System and method for server-side communication support in a distributed computing environment | |
US6629128B1 (en) | System and method for distributed processing in a computer network | |
US5499343A (en) | Object-oriented networking system with dynamically configurable communication links | |
US20050229189A1 (en) | Inter-process communication using different programming languages | |
WO1995017718A1 (en) | Object-oriented remote procedure call networking system | |
MX2007015887A (es) | Flujos de trabajos centricos de datos. | |
US6405363B1 (en) | Class casting support for run-time extensible items in an object oriented framework | |
JP2000504868A (ja) | 管理インターワーキング・ユニットおよびかかるユニットの形成方法 | |
CN110851237A (zh) | 一种面向国产平台的容器跨异构集群重构方法 | |
US8495664B2 (en) | System, method and program product for invoking a remote method | |
KR20110130611A (ko) | 이기종 운영체제 계층 모듈에서 동작하는 웹기반어플리케이션의 연동이 가능한 모바일 단말기용 웹 플랫폼 유닛 | |
CN114546538B (zh) | 一种基于osgi的虚拟仿真平台构建方法 | |
CN115934076B (zh) | 跨平台客户端的微服务提供装置、方法和电子设备 | |
CN103677842A (zh) | 软件工具配置式集成扩展调用方法与系统 | |
CN115328679A (zh) | 异构函数库的自动化集成方法、计算设备及其系统 | |
Ling et al. | Research and implementation of OPC server based on data access specification | |
Bouraqadi-Saâdani et al. | A reflective infrastructure for coarse-grained strong mobility and its tool-based implementation | |
EP1855195A2 (en) | Method of and system for data interaction in a web-based database application environment | |
US10678608B2 (en) | Interacting with a source object via a virtual object | |
Padilla | Self-adaptation for Internet of things applications | |
CN112181401A (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 |