CN100424640C - 家庭网络中间件开发装置及其代码转换方法 - Google Patents
家庭网络中间件开发装置及其代码转换方法 Download PDFInfo
- Publication number
- CN100424640C CN100424640C CNB2006100219461A CN200610021946A CN100424640C CN 100424640 C CN100424640 C CN 100424640C CN B2006100219461 A CNB2006100219461 A CN B2006100219461A CN 200610021946 A CN200610021946 A CN 200610021946A CN 100424640 C CN100424640 C CN 100424640C
- Authority
- CN
- China
- Prior art keywords
- analysis module
- module
- code
- template file
- template
- 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.)
- Expired - Fee Related
Links
- 238000011161 development Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 title claims description 9
- 238000006243 chemical reaction Methods 0.000 title claims description 7
- 230000008676 import Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 4
- 239000000344 soap Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及计算机应用技术,特别涉及一种中间件技术。解决的技术问题是为了实现基于IGRS协议栈的家庭网络中异构程序和网络中间件之间的互操作性。提供一种家庭网络中间件开发装置,包括图形用户接口、文件解析模块、模板解析模块、闪联服务输出端。图形用户接口分别与文件解析模块、模板解析模块相连;文件解析模块通过模板解析模块与闪联服务输出端相连;本发明还提供一种家庭网络中间件开发装置代码转换方法,通过图形界面的用户接口,输入符合文件解析的WSDL文件,选择合适的文件模板,进行自动编译流程,最后生成目标代码。本发明的有益效果是,在符合闪联协议栈的基础上,屏蔽了中间代码转换,为闪联标准在家庭网络中的普及提供便利。
Description
技术领域
本发明涉及计算机应用技术,特别涉及一种基于闪联协议栈的数字家庭网络中间件技术。
背景技术
家庭网络被定义为利用电脑、网络和综合布线技术,通过家庭信息管理装置将与家居生活有关的各种子系统有机地结合的一个系统。
高科技和信息技术正在由智能大厦走向智能住宅小区,进而走进家庭。现代社会的家庭正在以家庭智能化带来的多元信息和安全、舒适、便利的生活环境,作为一个理想的目标来追求。其间出现了不少的实施方案,例如我们可以把把个人计算机PC变异为HDC(Home Data Center)家庭数据处理中心,即家庭的网关,所有的信息家电将变为HDC的终端,通过HDC来控制和改变信息家电的开、关、工作程序和状态。通过电话线和ISDN系统等与外界相连。
闪联IGRS(Intelligent Grouping and Resource Sharing),即资源共享协同服务标准,其目标是在有限范围网络域(有线、无线)内支持多种信息设备、家用电器、通讯设备之间的设备自动发现、动态组网、资源共享和协同服务。
企业、公共场所及家庭的信息设备互联时,遵循共同资源及接口标准,使设备能有效实现资源开放及服务协同,提高设备互操作性,增强设备间组合服务的功能。该标准是建立在TCP/IP之上的应用层协议,以实现不同硬件和软件统一,方便信息设备和传统电器的有效互联,自动发现和寻找可用设备和服务。
基于闪联协议栈的家庭网络服务的编程、实现流程主要包括以下几个方面:(1)编写闪联服务WSDL(Wed Service描述语言)文件,(2)修饰WSDL文件,得到准确描述家庭网络服务的WSDL文件(3)根据WSDL文件产生所需要的中间件转化代码,(4)编写实现所需的闪联服务,(5)部署闪联服务。
基于闪联协议栈的家庭网络服务程序的开发,转化代码部分,即将闪联服务调用请求和消息转换为本地目标程序,是一个繁琐的过程。在构建家庭网络时,每一个服务的调用端和被调用端都需要将程序数据和XML序列之间相互转换,因而需要对每一个调用编写繁琐的数据转化代码。这个工作要求客户有很高的专业知识。这就对设计信息家电以及家庭网络成员的开发人员造成了很大的困难。
中间件(middleware)处于操作系统软件与用户的应用软件的中间。将应用软件所要面临的共性问题进行提炼、抽象,在操作系统之上再形成一个可复用的部分,供成千上万的应用软件重复使用。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。
减少基于IGRS协议栈开发家庭网络的难度就可引入了中间件技术。但目前国内外在这一领域的研究很少,还没有提出针对IGRS协议栈的中间件技术。
发明内容
本发明所解决的技术问题是,为实现基于IGRS协议栈的家庭网络中异构程序和网络中间件之间的互操作性,提供一种家庭网络中间件开发装置。
本发明为解决上述技术问题所采用的技术方案是,家庭网络中间件开发装置,包括图形用户接口、文件解析模块、模板解析模块、闪联服务输出端;文件解析模块包括词法分析模块、语法分析模块,词法分析模块与语法分析模块相连;模板解析模块包括模板文件库、代码生成模块,模板文件库与代码生成模块相连;
图形用户接口分别与词法分析模块、模板文件库相连;语法分析模块与代码生成模块相连;代码生成模块与闪联服务输出端相连。
本发明还提供了家庭网络中间件开发装置的代码转换方法,通过图形界面的用户接口,输入符合文件解析的WSDL文件,选择合适的文件模板,进行自动编译流程,最后生成目标代码,具体包括以下步骤:
a通过图形用户接口输入WSDL文件,选择用户端编程语言;
b模板分析模块根据选择的用户端编程语言,在模板文件库中选择模板文件;
c词法分析模块对输入的WSDL文件进行词法分析,将输入的WSDL文件中的程序字符转化为一系列的单词,包括保留字、标识符、运算符、界符和常量。将可以识别的单词交给语法分析模块;
d语法分析模块生成语法符号的语义值和标签;
e代码生成模块根据语法分析模块输出的语义值对照模板文件得到生成代码,并根据标签将生成的代码存入到解析文件或标准库文件中;
f代码生成模块产生相应的源代码;
g代码生成模块根据用户的设置,生成目标代码;
h目标代码生成后通过闪联服务输出端调用相应服务程序。
本发明的有益效果是在符合闪联协议栈的基础上,利用家庭网络中间件开发装置自动生成代码,屏蔽了中间代码转换,为闪联标准的在家庭网络中的普及提供便利。
附图说明
图1为本发明的结构示意图。
具体实施方式
如图1所示的家庭网络中间件开发装置,包括图形用户接口、文件解析模块、模板解析模块、闪联服务输出端;文件解析模块包括词法分析模块、语法分析模块,词法分析模块与语法分析模块相连;模板解析模块包括模板文件库、代码生成模块,模板文件库与代码生成模块相连;
图形用户接口分别与词法分析模块、模板文件库相连;语法分析模块与代码生成模块相连;代码生成模块与闪联服务输出端相连。
通过图形用户接口的图形化界面输入WSDL文件,选择用户端编程语言,即选择合适的模板;根据图形用户接口输入的参数如:是要求C和XML转化还是C++和XML相互转换,模板分析模块会在模板文件库中选择合适的模板文件进行处理。
从图形用户接口的输入的WSDL文件,在文件解析模块中进行词法、语法分析,得到标签和语义值。文件解析的文法规则如下:出现“$N”形式的标签为模板文件中需要替换的部分,这里N表示数字,如$1,$2。
文件解析的语法定义如下:
词法分析:词法分析模块是把输入的WSDL文件中的程序字符转化为一系列的单词,单词类型包括保留字、标识符、运算符、界符和常量,用单词的类型作为单词的标识;然后把可以识别的单词交给语法分析。
语法分析:语法分析模块有一个语义栈,存放它所分析到的非终结符和终结符的语义值,这里语义值是整型的,当语法分析程序识别出某个句型时,它即用相应的语法规则进行归约,在进行归约之前,先完成用户提供的语义动作,这些语义动作可以是返回语法符号的语义值,也可以是求某些语法符号的语义值;并把标识做为标签,输出到模板解析模块中。
模板解析模块中的代码生成模块根据语法分析的语义值和标签得到目标代码。
代码生成模块的工作原理如下:
代码生成模块读取指定的模板文件,把模板文件导入到字符串缓冲区;
代码生成模块得到语法分析模块输出的语义值;根据语义值生成代码,并根据标签将生成的代码存入到解析文件或标准库文件中去,产生相应的源代码,包括客户端中间件代码和服务器端中间件代码。
目标代码的产生则根据用户的设置:是否对源代码进行修改,如不修改则直接生成目标代码。目标代码生成后通过闪联服务输出端调用相应服务程序。
家庭网络中间件在具体IGRS服务请求中的应用如下,SOAP是基于XML的协议,通过http的80端口传输XML结构化的数据:
(1)启动IGRS协议栈,IGRS服务端发布在线宣告,客户端搜索服务;
(2)创建会话;
(3)客户端调用远端服务;
(4)家庭网络中间件将本地程序语言转化为XML形式的语言,即SOAP消息;
(5)IGRS将请求以SOAP包的形式发送出去,可以是有线或者无线的发送方式;
(6)服务端接收到SOAP请求消息,调用相应的中间件,将XML转化为本地程序语言,调用相应的服务程序处理该请求。
请求响应消息的发送过程与服务请求消息的发送过程类似,不再赘述。
模板解析模块提供标准库编写接口,可以随时编写新的库文件保存在模板文件库中,具有良好的可扩展性。
Claims (3)
1. 家庭网络中间件开发装置,其特征在于,包括用户接口、文件解析模块、模板解析模块、闪联服务输出端;所述文件解析模块包括词法分析模块、语法分析模块,所述词法分析模块与所述语法分析模块相连;所述模板解析模块包括模板文件库、代码生成模块,所述模板文件库与所述代码生成模块相连;
所述用户接口分别与所述词法分析模块、所述模板文件库相连;所述语法分析模块与所述代码生成模块相连;所述代码生成模块与所述闪联服务输出端相连;
所述用户接口用于接收输入的WSDL文件;
所述词法分析模块用于对输入的WSDL文件进行词法分析,将可以识别的标识交给语法分析模块;
所述语法分析模块用于生成语法符号的语义值和标签;
所述模板解析模块根据选择的用户端编程语言,在所述模板文件库中选择模板文件;
所述代码生成模块用于根据语法分析模块输出的语义值对照模板文件得到生成代码,并根据标签将生成的代码存入模块文件库,产生相应的源代码;
所述闪联服务输出端,用于调用相应服务程序。
2. 如权利要求1所述家庭网络中间件开发装置,其特征在于,还包括标准库编写接口,所述标准库编写接口与所述模板文件库相连;
所述标准库编写接口用于将新编写的库文件保存在所述模板文件库中。
3. 家庭网络中间件开发装置的代码转换方法,其特征在于,包括以下步骤:
a通过图形用户接口输入WSDL文件,选择用户端编程语言;
b模板解析模块根据选择的用户端编程语言,在模板文件库中选择模板文件;
c词法分析模块对输入的WSDL文件进行词法分析, 将输入的WSDL文件中的程序字符转化为一系列的单词,包括保留字、标识符、运算符、界符和常量。将可以识别的单词交给语法分析模块;
d语法分析模块生成语法符号的语义值和标签;
e代码生成模块根据语法分析模块输出的语义值对照模板文件得到生成代码,并根据标签将生成的代码存入到解析文件或标准库文件中;
f代码生成模块产生相应的源代码;
g代码生成模块根据用户的设置,生成目标代码;
h目标代码生成后通过闪联服务输出端调用相应服务程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100219461A CN100424640C (zh) | 2006-09-26 | 2006-09-26 | 家庭网络中间件开发装置及其代码转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100219461A CN100424640C (zh) | 2006-09-26 | 2006-09-26 | 家庭网络中间件开发装置及其代码转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1928812A CN1928812A (zh) | 2007-03-14 |
CN100424640C true CN100424640C (zh) | 2008-10-08 |
Family
ID=37858787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100219461A Expired - Fee Related CN100424640C (zh) | 2006-09-26 | 2006-09-26 | 家庭网络中间件开发装置及其代码转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100424640C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571761A (zh) * | 2011-12-21 | 2012-07-11 | 四川长虹电器股份有限公司 | 网络接口的信息传输方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7962598B2 (en) | 2008-04-14 | 2011-06-14 | Hong Kong Applied Science and Technology Research Institute Company Limited | Concurrent IGRS-UPnP |
CN102043624B (zh) * | 2010-12-17 | 2013-07-10 | 青岛海信网络科技股份有限公司 | 中间件通讯接口自动编程方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015809A1 (en) * | 2001-05-18 | 2004-01-22 | Doreen Yining Cheng | Code generation for integrating devices into a middleware framework |
CN1819588A (zh) * | 2006-03-07 | 2006-08-16 | 上海科泰世纪科技有限公司 | 基于中间件平台提供网络服务的方法 |
-
2006
- 2006-09-26 CN CNB2006100219461A patent/CN100424640C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040015809A1 (en) * | 2001-05-18 | 2004-01-22 | Doreen Yining Cheng | Code generation for integrating devices into a middleware framework |
CN1819588A (zh) * | 2006-03-07 | 2006-08-16 | 上海科泰世纪科技有限公司 | 基于中间件平台提供网络服务的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571761A (zh) * | 2011-12-21 | 2012-07-11 | 四川长虹电器股份有限公司 | 网络接口的信息传输方法 |
CN102571761B (zh) * | 2011-12-21 | 2014-08-20 | 四川长虹电器股份有限公司 | 网络接口的信息传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1928812A (zh) | 2007-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103440376B (zh) | 基于组件的分布集中一体化仿真系统运行支撑平台 | |
CN103198009B (zh) | 一种通用测试方法、系统及相应装置 | |
Issarny et al. | A perspective on the future of middleware-based software engineering | |
CA2446809C (en) | General and reusable components for defining net-centric application program architectures | |
Petriu et al. | From UML descriptions of high-level software architectures to LQN performance models | |
Hucka et al. | The ERATO Systems Biology Workbench: enabling interaction and exchange between software tools for computational biology | |
CN102622227B (zh) | 一种支持动态配置的构件模型及构件工厂的装置 | |
US7904111B2 (en) | Mobile exchange infrastructure | |
AU2002319843A1 (en) | General and reusable components for defining net-centric application program architectures | |
JP2006526209A (ja) | コンポーネント基盤環境下で拡張されたメタデータを利用したソフトウェア開発方法及びその開発システム | |
CN102158516B (zh) | 服务组合编译方法及编译器 | |
CN110321236B (zh) | 一种基于OpenDDS的远程方法调用实现方法 | |
JP2009238229A (ja) | コンポーネント基盤環境下で拡張されたメタデータを利用したソフトウェア開発方法及びその開発システム | |
CN110008044B (zh) | 一种嵌入式rtos上分布式实时通信中间件的构建方法 | |
CN100424640C (zh) | 家庭网络中间件开发装置及其代码转换方法 | |
Wu et al. | R-OSGi-based architecture of distributed smart home system | |
CN102253974A (zh) | 一种地理模型网络服务的动态组合方法 | |
Muñoz et al. | Building a software factory for pervasive systems development | |
Pellegrino et al. | Domotic house gateway | |
CN1314225C (zh) | 一种基于xml文档实现开放电信业务的方法 | |
CN112363856A (zh) | 一种基于dds实现深度学习框架与应用程序互操作的方法 | |
EP1832975A1 (en) | Automatic generation of source program | |
CN115774573B (zh) | 应用集成方法、装置、电子设备和存储介质 | |
Jouve et al. | A SIP-based programming framework for advanced telephony applications | |
CN110989977B (zh) | 一种面向残疾人的智能家居环境个性化定制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081008 Termination date: 20210926 |
|
CF01 | Termination of patent right due to non-payment of annual fee |