一种基于Eclipse的软件通信体系结构集成开发环境的实现方法与流程

文档序号:29688584发布日期:2022-04-16 10:16阅读:210来源:国知局
一种基于Eclipse的软件通信体系结构集成开发环境的实现方法与流程
一种基于eclipse的软件通信体系结构集成开发环境的实现方法
技术领域
1.本技术属于软件通信体系结构(software communication architecture,sca)中的集成开发环境技术领域,尤其涉及一种基于eclipse的软件通信体系结构集成开发环境的实现方法。


背景技术:

2.随着通信技术的飞速发展,用户需求的激增,通信系统频繁更新换代。sca作为嵌入式系统的标准通信软件结构,提供了一种标准、开放、可互操作的无线电通信软件平台,保证了通信软件和硬件模块可移植、可划分、可扩充和可重用性。基于sca开发的产品能够实现互通、互联和互操作。
3.sca虽然详细规范了波形应用程序可使用的操作系统服务、公共对象请求代理体系结构(common object request broker architecture,corba)中间件服务以及核心框架服务等,但并没有对波形组件的开发方法进行规范,不同的开发者可以有不同的开发方法,如不深刻理解sca规范和不充分考虑波形的可移植性与可复用性,有可能开发出的波形组件是与具体平台相关,设计出的波形组件没有可继承性,不能实现跨平台移植和复用。
4.目前,对波形组件化的设计及开发缺乏统一的标准,波形软件及组件的接口虽然在sca规范下实现一定的统一。不同厂家开发的波形软件及组件难以真正做到相互兼容。面对未来系统软、硬件高度协作的开发模式下,构建标准的波形组件设计及开发流程规范势在必行。波形组件化设计涉及到组件功能划分、接口/端口定义以及符合性测试等方面。
5.传统的sca系统开发异常复杂,在开发时需要在多种工具间不断切换。而且传统的无线电开发者在进行sca波形开发时,既需要理解波形的通信功能实现原理,还需要理解面向对象的软件工程思想和下层的corba通信机制。
6.以上这些问题造成传统的sca系统开发方式效率低,开发速度慢,不同人员开发的组件可重用性不高,违背了软件无线电的初衷。
7.eclipse最初是由ibm公司开发的java集成开发环境,其插件机制是轻型软件组件化架构,可以通过插件来提供所有的附加功能。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而绝不仅限于支持各种编程语言。eclipse富客户端平台(rich client platform,rcp)在科学技术和信息管理领域有着广泛的应用,随着软件开发规模越来越大,整合的技术领域越来越多,软件变得错综复杂。基于eclipse rcp及开发服务网关协议(open services gateway initiative,osgi)技术的模块化、即插即用的设计,可以使用现有的技术体系来完成新功能的开发。


技术实现要素:

8.为了解决上述技术问题,本技术提供了一种基于eclipse的软件通信体系结构集成开发环境的实现方法,所述方法包括:
9.生成第一可视化界面;
10.将所述第一可视化界面封装成第一插件;
11.生成第二可视化界面;
12.将所述第二可视化界面封装成第二插件;
13.基于所述第一插件、所述第二插件和可扩展开发平台实现集成开发环境。
14.优选地,所述可扩展开发平台包括eclipse平台。
15.优选地,所述生成第一可视化界面,包括:
16.生成组件属性编辑器;
17.将所述组件属性编辑器和文本编辑器的数据进行绑定,得到所述第一可视化界面。
18.优选地,所述生成第二可视化界面,包括:
19.生成波形模型编辑器;
20.将所述波形模型编辑器和文本编辑器的数据进行绑定,得到所述第二可视化界面。
21.优选地,所述方法还包括:
22.基于所述第一可视化界面开发组件模型。
23.优选地,所述方法还包括:
24.基于预设算法和所述组件模型生成组件;其中,所述预设算法用于自动生成组件框架代码。
25.优选地,所述方法还包括:
26.基于所述第二可视化界面和所述组件模型生成波形模型。
27.优选地,所述第一可视化界面与所述第二可视化界面不同。
28.本技术的有益技术效果:
29.本技术解决了传统的通信体系结构系统开发效率低、速度慢的问题,提高了波形组件的可移植性与可继承性。
附图说明
30.图1是本技术实施例提供的通信体系结构应用开发过程图;
31.图2是本技术实施例提供的一种基于eclipse的软件通信体系结构集成开发环境的实施方式框架图;
32.图3是本技术实施例提供的一种基于eclipse的软件通信体系结构集成开发环境的组件开发功能模块实现流程图;
33.图4是本技术实施例提供的一种基于eclipse的软件通信体系结构集成开发环境的波形开发功能模块实现流程图;
34.图5是本技术实施例提供的一种基于eclipse的软件通信体系结构集成开发环境的功能结构图。
具体实施方式
35.本技术在于提出基于eclipse实现软件通信体系结构集成开发环境方法,满足软
件通信体系结构的系统开发需要,解决了sca系统开发效率低以及可重用性不高的问题,从而提高了波形组件的可移植性、可继承性与可复用性。下面具体描述发明内容。
36.需要说明的是,先给出如下定义:
37.定义1:组件:指一个独立定义的应用或者波形的功能单元,它能够被独立的设计和部署,是一个波形应用中最基本的功能单元
38.定义2:域描述文件:硬件设备和软件组件组成了sca系统的域,他们都由一系列的可扩展标记语言(extensible markup language,xml)描述体来进行描述,这些描述体当作域的描述文件被引用。
39.定义3:软件组件描述体(software component descriptor,scd):描述接口以及使用端口和提供端口。
40.定义4:软件包描述体(software package descriptor,spd):描述一个软件组件的实现情况,如处理器类型、操作系统、执行代码类型和执行文件名等。
41.定义5:属性描述体(properties file,prf):描述组件软件包或设备包的属性。
42.定义6:波形:指由组件连接实现的应用程序。
43.定义7:软件安装描述体(software assembly descriptor,sad):描述波形的软件配置特性和组件间的连接,软件组件不同的配置和连接形成不同的波形应用程序。
44.本技术通过eclipse插件开发,实现软件通信体系结构组件与波形的可视化开发及代码自动生成,提高了软件通信体系结构开发的效率和可复用性。
45.在本技术实施例中,本技术提供一种软件通信体系结构中框架代码自动生成的方法。该方法包含以下步骤:
46.1)新建组件框架代码自动生成项目;
47.2)新建组件代码自动生成类,定义一些符合sca标准的字符串用以实现组件模板;
48.3)在字符串中穿插变量,变量数据来源于模型,即组件可视化开发中编辑器输入框中的内容以及域描述文件中的内容,包含组件的基本属性以及端口;
49.4)通过实现数据传递,将这些字符串与变量的值合并,生成符合sca标准的组件代码;
50.5)利用eclipse中c/c++开发工具(c/c++development toolkit,cdt),调用函数为组件创建项目名称及工作空间,并生成c/c++项目,实现组件项目工程文件的自动生成。
51.在本技术实施例中,本技术提供一种软件通信体系结构中使用可视化界面进行组件开发的方法。该方法包含以下步骤:
52.1)开发新建组件工程向导界面,并将向导入口添加至新建项目工程界面;
53.2)实现新建组件工程的功能,生成包含组件概述、组件模型、spd文件、prf文件及scd文件的组件工程项目文件,将组件工程添加至项目资源管理器;
54.3)进行组件编辑器的开发,编辑器包含五个页签,对应组件概要描述页面,组件模型代码页面以及spd、prf、scd文件查看页面;
55.4)实现组件概要描述页面,页面应包含基本信息、代码生成、程序实现和端口定义这四部分。基本信息部分应包含设置组件id、组件名称、组件版本、prf文件、scd文件等组件基础属性的输入框;代码生成部分用于选择组件生成使用的编程语言和sca代码类型;程序实现部分用于选择组件使用的处理器和操作系统等相关信息;端口定义部分用于设置组件
的端口,以列表的形式为组件添加、设置、删除端口的相关内容;
56.5)实现组件编辑器数据同步功能,将组件概述页输入框数据与组件模型页中的变量绑定,用以实现图形化开发组件的功能;
57.6)实现生成组件项目文件功能,利用上文提到的软件通信体系结构中框架代码自动生成方法,生成组件模型文件;
58.7)实现组件库功能,设置生成组件项目文件路径为eclipse的工作空间下的组件库文件夹,实现组件库视图,组件库视图中显示组件库文件夹中的文件层级结构;
59.8)将组件开发功能封装成为eclipse插件,生成.class文件并封装为jar包,任何eclipse通过jar包导入该插件都可以实现组件开发功能。
60.在本技术实施例中,本技术提供一种软件通信体系结构中使用可视化界面进行波形建模的方法。该方法包含以下步骤:
61.1)开发新建波形工程向导界面,并将向导入口添加至新建项目工程界面;
62.2)实现新建波形工程的功能,生成包含波形模型文件和波形软件安装描述体的波形工程项目文件,将波形工程添加至项目资源管理器;
63.3)进行波形编辑器的开发,编辑器应包含波形建模页与波形软件安装描述体这两个页签;波形建模页为利用eclipse图形编辑框架实现的图形编辑器;波形软件安装描述体页使用eclipse原生的文本编辑器。
64.4)实现波形编辑器数据同步功能,将波形建模页的二维模型数据与波形软件安装描述体页中的xml源码绑定,用以实现图形化开发波形的功能;
65.5)实现波形编辑器功能视图界面,功能视图中应包含波形图形化建模需要用到功能和组件模型库;图形建模需要选择、选取框、连接这三项功能;组件模型库以树形结构显示组件库中存在的所有组件,并支持拖拽组件至波形建模图形编辑器;
66.6)实现组件属性视图功能,组件属性视图包含描述组件各项属性的文本框;将组件属性视图与波形建模图形编辑器中的组件模型数据绑定,组件属性视图中显示选中的组件模型的属性;
67.7)将波形开发功能封装成为eclipse插件,生成.class文件并封装为jar包,任何eclipse通过jar包导入该插件都可以实现波形开发功能。
68.本技术基于eclipse的软件通信体系结构集成开发环境,利用功能强大且可通过插件扩展的eclipse平台,通过组件及波形可视化建模功能、组件框架代码自动生成功能的开发,为软件通信体系结构的系统开发提供便捷;本技术提出的组件与波形可视化建模方法,可满足软件通信体系结构的系统开发需要,解决了传统的通信体系结构系统开发效率低、速度慢的问题,提高了波形组件的可移植性与可继承性。
69.同时,本技术设计的框架代码自动生成的方法,可实现组件项目工程和源代码的自动生成,使波形组件的开发过程更加规范,从而提高了波形组件的可复用性。
70.在一种可行的实现方式中,本实施方案的系统中由以下几个模块构成:
71.1.eclipse开发环境;
72.2.eclipse建模框架(eclipse modeling framework,emf)
73.3.graphiti图形工具框架;
74.4.插件开发环境(plug-in development environment,pde);
75.5.cdt开发工具;
76.第一步框架代码自动生成功能模块的实现
77.1)创建一个组件框架代码自动生成项目;
78.2)新建组件代码自动生成类,定义一些符合sca标准的字符串用以实现组件基本模板;
79.3)在字符串中穿插变量,变量数据来源于模型,调用pagechange函数获取组件属性编辑器的输入框中的组件属性值,包含组件的基本属性以及端口;
80.4)将获取到的组件属性值与组件模板字符串合并,生成符合sca标准的组件代码;
81.5)调用cdt开发工具的createcdtproject函数为创建出组件c/c++项目,通过为projectname与projectpath赋值实现组件项目工程文件名称和路径的设置,实现组件框架代码及项目工程文件的自动生成。
82.第二步基于eclipse的组件开发功能模块的实现
83.1)创建一个插件开发项目,设置插件名称为components-project,id为components,版本号为1.0,选择wizard模板进行向导开发,在actovator中定义插件的启动和停止;
84.2)设置组件开发向导入口。利用org.eclipse.ui.newwizards扩展点注册资源创建向导扩展,创建向导作为“新建”对话框中的选项出现,通过更改icon和name的属性指定向导入口的图标和名称,利用org.eclipse.ui.navigator.navigatorcontent扩展,更改variable参数,指定向导入口在视图中可见。
85.3)设置组件开发向导基本配置,通过org.eclipse.ui.ide插件导入并依赖basicnewresourceswizard类,获取向导的基本框架,通过org.eclipse.iface继承wizardpage类,指定一个向导界面。继承createcontrol方法实现本向导页面的总体架构,添加输入框用于组件名称及id标识的输入;继承addpages方法实现添加向导页面,添加输入框用以进行组件接口配置及属性设置;继承performcancel方法处理退出事件;继承performfinish方法处理完成事件,生成自定义组件模型代码类,类名为组件id,类中定义字符串文本用以显示组件名称,类中函数包含组件接口的各项属性参数,然后打开组件开发编辑器。
86.4)设置组件开发编辑器界面,分为5个页签,分别是组件源码页,组件属性编辑页,spd、prf、scd文件查看页。其中组件源码页与spd、prf、scd文件查看页通过组件源码编辑器实现,组件属性编辑页通过组件属性编辑器实现。页签通过自定义继承multipageeditorpart抽象类的custommultipageeditor类来实现,调用createpages方法,来创建多个页面并加入自己的编辑器。
87.5)组件源码编辑器通过依赖org.eclipse.ui.editors插件的xmleditor类实现。通过performfinish方法显示利用向导生成的自定义组件模型代码;通过调用idocument类中的createdocument方法实现代码文档创建;通过调用pagechange方法实现组件源码编辑器和组件属性编辑器的数据同步。
88.6)组件属性编辑器通过依赖org.eclipse.ui.forms,继承multipageeditorpart抽象类的formeditor类实现。通过添加按钮,输入框,选择框等swt控件,实现包括组件名称、id、版、端口等组件属性的输入,通过调用pagechange方法实现组件源码编辑器和组件
属性编辑器的数据同步。
89.7)利用上文提到的软件通信体系结构中框架代码自动生成方法,生成组件代码;利用file类实现项目文件的生成,通过调用mkdirs函数生成多级文件夹,调用createnewfile函数生成文件并将组件代码写入文件。将组件项目添加至组件模型库文件夹。
90.8)将组件开发功能导出为eclipse插件,生成.class文件并封装jar包。
91.第三步基于eclipse的图形化波形开发功能模块的实现
92.1)创建一个插件开发项目,设置插件名称为waves-project,id为waves,版本号为1.0,模板选择multi-page editor,在actovator中定义插件的启动和停止。
93.2)波形开发功能界面分为波形源码页和波形模型页这2个页签,页签通过自定义继承multipageeditorpart抽象类的custommultipageeditor类来实现,调用createpages方法,来创建多个页面并加入自己的编辑器。
94.3)波形源码编辑器通过依赖org.eclipse.ui.editors插件的xmleditor类实现。通过调用idocument类中的createdocument方法实现代码文档创建;通过调用pagechange方法实现与模型的数据同步。
95.4)波形模型页使用graphicaleditorwithflyoutpalette作为编辑器内置好的画板工具栏。通过调用initializegraphicalviewer方法为波形模型编辑器添加使用选择工具拖动目标的事件监听。实现getpalettepreferences方法,返回一个flyoutpreferences实例,设置调色板的位置、大小和是否展开等状态信息。继承graphicaleditorwithflyoutpalette类添加模型组件工具箱,继承ipatheditorinput来设置编辑器输入来源。
96.6)重写编辑器工程,将模型组件放入工厂中代管理。创建图形编辑器继承abstractgraphicaleditpart类,调用createfigure函数将模型添加到画面上。继承connection类实现图形间的连接,并存储连接的源和目标,通过调用disconnect或reconnect方法可以修改连接。
97.7)将波形开发功能导出为eclipse插件,生成.class文件并封装jar包。
98.本技术提出基于eclipse实现软件通信体系结构集成开发环境的方法,利用eclipse插件开发技术,实现图形化开发波形组件以及组件代码自动生成的功能,满足软件通信体系结构的系统开发需要。解决了传统sca系统开发过程复杂以及可重用性不高的问题,使软件通信体系结构开发过程更加规范化,从而提高波形组件的可移植性、可继承性与可复用性。
99.本技术实现的sca集成开发环境,解决了传统sca系统开发过程复杂以及可重用性不高的问题,使软件通信体系结构开发过程更加规范化,提高波形组件的可重用性。基于sca的软件无线电是未来无线电技术的发展方向,市场前景广阔,经济效益可观。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1