首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件套件 / 软件组件 / 基于标准的组件化软件开发方法

基于标准的组件化软件开发方法

阅读:1036发布:2020-07-13

专利汇可以提供基于标准的组件化软件开发方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于标准的组件化 软件 开发方法,包括基于OSGI标准的组件模型与生命周期管理方法、基于模板的组件化封装方法、组件化软件交互与协作方法和组件化软件集成方法。通过采用本发明,可以为软件模 块 化提供 基础 ,将软件开发转换为组件开发,提高软件的动态性和灵活性,降低开发成本,提高开发速度,同时实现组件在不同软件之间的无缝迁移,达到可重用软件的目的。,下面是基于标准的组件化软件开发方法专利的具体信息内容。

1.一种基于标准的组件化软件开发方法,其特征在于包括以下方法:
基于OSGI标准的组件模型与生命周期管理方法:用组件模型方式定义OSGi标准组件的形式及OSGi标准组件的装载策略;生命周期管理对内定义了组件访问及执行上下文的方式,对外定义了对组件生命周期的相关操作,为应用软件提供一组管理组件生命周期及运行状态的API;
基于模板的组件化封装方法:采用在继承已定义模板的基础上,通过实现模板的虚接口的方式,生成符合OSGI标准的组件插件
组件化软件交互与协作方法:采用应用编程模型,为组件提供一种面向服务的发布、查找和绑定交互模式,使每个组件同时具有服务提供者和使用者的能
组件化软件集成方法:在OSGI框架的基础上,采用QT开发技术,实现一套满足标准组件生命周期过程执行与管理的基础集成平台,通过读取组件加载配置文件的方式,对组件进行加卸载、启动和集成执行。
2.根据权利要求1所述的一种基于标准的组件化软件开发方法,其特征在于所述组件模通过元数据、类文件和相关资源来构成一个标准OSGi组件的形式。
3.根据权利要求1所述的一种基于标准的组件化软件开发方法,其特征在于所述OSGi标准组件的装载策略为:
组件首先被安装,进入已安装状态;
对已安装状态的组件进行解析,组件将进入已解析状态;
已解析状态的组件所依赖的程序集或者依赖的组件已经满足,组件将进入启动中状态:在启动过程,如果出现异常,则组件会自动转回已解析状态。
如果组件成功启动,则进入激活状态。
停止进入激活状态的组件,组件将进入到另外一个临时状态停止中,然后调用激活器的停止方法后,组件再次进入已解析状态。
对处于已解析状态的组件执行更新或刷新操作,组件将回到已安装状态。
组件处在已安装或已解析状态时,如果卸载组件,则组件进入到已卸载状态。
4.根据权利要求1所述的一种基于标准的组件化软件开发方法,其特征在于所述生命周期管理主要包括运行OSGi组件的最小化配置的标准环境、生命周期层、服务注册层和模块层,标准环境负责提供组件创建和运行所需要的基础环境,组件自动获取某些服务用于执行上下文;生命周期层负责组件在OSGi框架中的动态安装和管理;服务注册层主要负责服务的发布、查找和绑定交互方式处理,为服务发布者提供注册服务,同时为服务使用者提供查找服务;模块层是OSGi框架的最低逻辑层次,定义了模块化单元实现的方式、共享机制以及类加载机制。
5.根据权利要求1所述的一种基于标准的组件化软件开发方法,其特征在于所述组件化封装采用向导或者人工编辑两种方式在模板基础上封装组件。
6.根据权利要求1所述的一种基于标准的组件化软件开发方法,其特征在于所述组件化软件交互与协作方法采用服务提供者将组件发布到服务中心、服务使有者搜索服务中心的方法使每个组件同时具有服务提供者和使用者的能力。
7.根据权利要求1所述的一种基于标准的组件化软件开发方法,其特征在于组件化软件集成方法包含以下步骤:
首先,启动器根据组件模型从组件配置文件中读取组件的基本描述信息,并按照顺序加载组件到计算机内存中;
然后,按照组件生命周期管理调用启动器启动组件;
最后,根据集成配置表中的集成环境集成组件。

说明书全文

基于标准的组件化软件开发方法

技术领域

[0001] 本发明涉及航空电子系统的软件开发技术,特别涉及不同平台和软件之间基于服务的交互和协作的一种组件化软件开发方法。

背景技术

[0002] 航空电子软件开发的复杂性正在不断增加,而这种复杂性大部分是由以下原因导致的:软件研制周期的缩短、软件功能的大幅增加和越来越多的产品平台,同时,航空电子软件开发除了需要设计新的软件功能外,还要设计如何使新的软件功能能够适应已有的环境,使整个系统的功能能够得到更新和升级,另一方面,整个系统中不同的软件可能由不同的团队去开发,也对软件的集成提出了很高的要求。
[0003] 可以看出,针对航空电子软件的平台无关性、易适应性及复杂软件的协同开发等制约软件研制过程和研制费用上升的问题,迫切需要一种能自适应不同平台,易移植、易扩展的软件开发技术,同时兼有支持团队松散耦合的开发模式,而基于OSGI标准的组件化软件开发方法天然具有这样的特点。OSGI标准组件(Bundle)是最小化的软件实体,它允许应用程序提供更小的、可重用的、可协作的组件构件,这些组件能够组装到一个应用程序中运行并部署。使用OSGI标准开发的软件可以实现组件的动态安装、更新和卸载,并且可以为不同组件提供功能共享服务。OSGI组件化、动态性等突出的优点,能够适应需求的变化和软件功能增加所带来的软件模的改动,快速执行新功能的更改和插入。

发明内容

[0004] 为了解决复杂航空电子软件开发的平台无关性、适应性差以及协同开发难等问题,本发明提供了一种基于OSGI标准的组件化软件开发方法,可以将航空电子软件构建成支持跨平台、可重用、可协作的一系列标准组件,缩短软件开发进度,使软件像硬件一样,可以进行按需装配,从而提高软件的重用度,降低软件的开发成本。
[0005] 本发明的发明目的通过以下技术方案实现:
[0006] 一种基于标准的组件化软件开发方法,包括以下方法:
[0007] 基于OSGI标准的组件模型与生命周期管理方法:用组件模型方式定义OSGi标准组件的形式及OSGi标准组件的装载策略;生命周期管理对内定义了组件访问及执行上下文的方式,对外定义了对组件生命周期的相关操作,为应用软件提供一组管理组件生命周期及运行状态的API;
[0008] 基于模板的组件化封装方法:采用在继承已定义模板的基础上,通过实现模板的虚接口的方式,生成符合OSGI标准的组件插件
[0009] 组件化软件交互与协作方法:采用应用编程模型,为组件提供一种面向服务的发布、查找和绑定交互模式,使每个组件同时具有服务提供者和使用者的能
[0010] 组件化软件集成方法:在OSGI框架的基础上,采用QT开发技术,实现一套满足标准组件生命周期过程执行与管理的基础集成平台,通过读取组件加载配置文件的方式,对组件进行加卸载、启动和集成执行。
[0011] 本发明从软件架构设计上解决了复杂航空电子系统软件开发中存在的平台无关性、环境适应力和协同开发能力等问题,提出了一种符合某种标准规范的组件化软件开发方法。通过采用本方法,可以为软件模块化提供基础,将软件开发转换为组件开发,提高软件的动态性和灵活性,降低开发成本,提高开发速度,同时实现组件在不同软件之间的无缝迁移,达到可重用软件的目的。附图说明
[0012] 图1是OSGI组件模型示意图;
[0013] 图2是OSGI组件状态切换示意图;
[0014] 图3是组件生命周期管理示意图;
[0015] 图4是基于模板的组件化封装方法示意图;
[0016] 图5是组件化软件交互与协作方法示意图;
[0017] 图6是组件化软件集成方法示意图。

具体实施方式

[0018] 为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和实施例进一步阐述本发明。
[0019] 本实施例所示一种基于标准的组件化软件开发方法,包括以下工作:基于OSGI标准的组件模型与生命周期管理方法、基于模板的组件化封装方法、组件化软件交互与协作方法、组件化软件集成方法。
[0020] 所述的基于OSGI标准的组件模型与生命周期管理方法,其组件模型定义OSGi标准组件的形式及装载策略;其生命周期管理对内定义了组件访问及执行上下文的方式,对外定义了对组件生命周期的相关操作,为应用软件提供一组管理组件生命周期及运行状态的API。
[0021] 图1描述了本发明提出的OSGI标准的组件模型,包含元数据(描述数据的数据)、类文件和相关资源组成,构成一个标准OSGi组件的形式,OSGi标准组件模型在Java实现可能是一个JAR文件,在C/C++实现中则可能是一个DLL文件,但其一般都具有几种状态,其中,Installed表示组件已安装;Resolved表示已解析;Active表示组件激活中;Uninstalled表示组件已卸载;Starting表示组件启动中;Stopping表示组件停止中。图2描述了组件几种状态之间的切换关系。
[0022] 1)组件首先被安装,进入已安装(Installed)状态。组件进入已安装状态之后,可以更新或刷新,此时的组件依旧在已安装状态;
[0023] 2)对已安装状态的组件进行解析,组件将进入已解析(Resolved)状态,这个状态表示组件依赖的程序集或者依赖的组件已经满足,这个组件可以被正常启动;
[0024] 3)此时启动组件,组件将进入启动中(Starting)状态:在启动过程,如果出现异常,则组件会自动转回Resolved状态。
[0025] 4)如果组件成功启动,则进入激活(Active)状态。
[0026] 5)此状态下停止组件,组件将进入到另外一个临时状态停止中(Stopping),然后调用激活器的Stop方法后,组件再次进入已解析(Resolved)状态。
[0027] 6)对处于已解析(Resolved)状态的组件执行更新或刷新操作,组件将回到Installed状态。
[0028] 7)组件处在已安装或已解析状态时,如果卸载组件,则组件进入到已卸载(Uninstalled)状态,此状态表示组件已经被成功的卸载。
[0029] 图3描述了本发明提出的组件生命周期管理,主要包括用于运行OSGi组件的最小化配置的标准环境,生命周期层,服务注册层和模块层。其运行OSGI组件标准环境主要负责提供组件创建和运行所需要的基础环境,组件可以自动获取某些服务,用于执行上下文;生命周期层主要负责组件在OSGi框架中的动态安装和管理;服务注册层主要负责服务的发布、查找和绑定交互方式处理,为服务发布者提供注册服务,同时为服务使用者提供查找服务;模块层是OSGi框架的最低逻辑层次,定义了模块化单元实现的方式、共享机制以及类加载机制。同时按照生命周期层的定义,对外部应用程序还提供一套管理组件生命周期的API,实现对航空电子组件的动态安装、启动、停止、升级和卸载等进行编程操作。
[0030] 所述的基于模板的组件化封装方法,该方法采用继承已定义模板的基础上,通过实现其虚接口的方式,生成符合OSGI标准的组件插件。
[0031] 图4描述了本发明中基于模板的组件化封装方法。模板一般是按照组件规范提前设计开发好的可重用模块,后续组件开发人员使用模板就可以很方便、快捷的开发出符合标准的功能组件。按照模板可以通过向导或者人工编辑两种方式来封装组件。其一采用向导的方式,只需要在VS2010中创建工程的时候选择创建OSGI组件工程,然后按照向导提供的选择一步步创建,最后点击完成即可创建一个标准的组件模板工程,开发人员在此基础上编程业务代码即可完成组件功能。其二采用人工编辑的方式,通过复制已经生成的标准OSGI组件模板文件,然后在此基础上修改工程的组件信息,包括组件标识、导出接口、元对象等,并添加相关功能代码进入到该组件,即可实现一个符合标准的业务组件。
[0032] 所述的组件化软件交互与协作方法,该方法采用应用编程模型,为组件提供一种面向服务的发布、查找和绑定交互模式,使每个组件同时具有服务提供者和使用者的能力。
[0033] 图5描述了本发明中组件化软件交互与协作方法。主要的概念涉及面向服务的发布、查找和绑定交互模式:服务提供者将服务发布到服务注册中心,然后服务使用者通过搜索服务注册中心,查找可供使用的服务。典型应用如某组件(A)可以向服务中心申请注册服务,注册成功后,组件(B)就可以通过查找的方式订阅该服务,实现与该组件(A)的交互,如果此时有个新的组件(C)也需要使用组件(A)提供的服务,那么只需要组件(C)向服务中心申请订阅该服务,其它组件不需要做任何改动。并且,组件之间还可以通过调用事件通信的方式实现数据的传递,从而完成组建的交互。这种面向服务的交互方式通过基于服务的动态性(服务可以在任何时刻出现或消失)来扩展生命周期层基于组件的动态性。
[0034] 所述的组件化软件集成方法,该方法在OSGI框架的基础上,采用QT开发技术,实现一套满足标准组件生命周期过程执行与管理的基础集成平台,通过读取组件加载配置文件的方式,对组件进行加卸载、启动和集成执行。
[0035] 图6描述了本发明中组件化软件集成方法。主要依托“平台+组件”的开发和集成模式,平台是已经经过测试的组件集成环境,并包含一个让组件运行的启动器,组件的装载、启动、运行、服务等均依赖于该平台。启动器初始化会根据组件模型,从组件配置文件中读取组件的基本描述信息,并按照顺序加载到计算机内存中,然后按照组件生命周期管理调用启动器启动组件,最后根据集成配置表中的集成环境集成组件。集成环境负责每个组件的集成位置、界面格、模态设置等,从而为航空电子软件(组件)的运行提供环境支撑,实现软件的组件化、定制化、灵活集成等。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈