CN113360136A - 一种基于sca核心框架控制接口的实现方法 - Google Patents
一种基于sca核心框架控制接口的实现方法 Download PDFInfo
- Publication number
- CN113360136A CN113360136A CN202110602695.0A CN202110602695A CN113360136A CN 113360136 A CN113360136 A CN 113360136A CN 202110602695 A CN202110602695 A CN 202110602695A CN 113360136 A CN113360136 A CN 113360136A
- Authority
- CN
- China
- Prior art keywords
- class
- interface
- function
- name
- client
- 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
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 230000005856 abnormality Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 7
- 238000011161 development Methods 0.000 abstract description 6
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- 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/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/4492—Inheritance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于SCA核心框架控制接口的实现方法,本方法采用统一的IDL映射,把文件中定义的接口及其属性、方法、异常统一地映射到客户端和服务端的类及成员和函数,并通过构建插件类,方便ORB对象初始化和管理,实现基于SCA核心框架控制接口。采用本方法实现核心框架控制接口逻辑清晰,设计规范,接口统一,使其开发效率大大提高,有利于推广到其它接口设计。
Description
技术领域
本发明涉及SCA通信领域,具体涉及一种基于SCA核心框架控制接口的实现方法。
背景技术
随着软件无线电(SDR)的技术发展,以及美国联合战术无线电系统(JTRS)发布的软件通信体系结构SCA标准的逐步完善,基于SCA的软件无线电技术应用越来越广泛,对SCA相关的技术和产品的需求越来越多。
软件通信体系结构SCA是当前全球支持力度最大、应用最广泛的软件无线电标准规范,其为通信系统的灵活性、通用性、可重构性和互操作性提供设计规范和可靠保证。
核心框架(CF)是SCA规范中定义的操作系统环境的重要组成部分,其包含一组应用编程接口、组件和配置文件。这些接口和配置文件为嵌入式分布式计算通信系统中的软件应用程序组件的部署、管理、互连和相互通信提供了支持。CF接口采用接口定义语言(IDL)进行定义,包括通用接口、基本应用接口、基本设备接口、框架控制接口和框架服务接口,其中框架控制接口又是核心框架的核心。但是,目前尚未发现关于核心框架控制接口具体实现的研究,这也严重制约了SCA的应用和发展。
发明内容
针对现有技术中的上述不足,本发明提供的一种基于SCA核心框架控制接口的实现方法解决了SCA核心框架控制接口未被具体实现,严重制约了SCA的应用和发展的问题。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种基于SCA核心框架控制接口的实现方法,其包括以下步骤:
S1、将每一个接口都映射为一个ORB对象;ORB对象包括服务器端和客户端;
S2、将有继承关系的接口映射到类的方式与父接口映射到类的方式保持不变;对于没有继承关系的接口,使服务器端从父类PortableServer::ServantBase继承映射到类方式,使客户端从父类CORBA::Stub继承映射到类方式;使每个接口的服务器端同时继承_repository_id、_is_a、_invoke、_dispatch__xxx函数并添加至自己的具体实现;使每个客户端同时继承_duplicate、_is_a、_narrow、_unchecked_narrow、_repository_id函数并添加至自己的具体实现;
其中_repository_id函数用于返回对象的名称标识;_is_a函数用于判断输入的字符串标识是否与对象或父类对象的名称标识一致;_invoke函数用于响应客户端远程调用的接口,并根据请求的操作参数名称调用相应的_dispatch__xxx函数;_duplicate函数用于复制并返回对象指针;_narrow函数用于将输入的对象指针判明名称标识一致时转换成xxx_stub类对象;_unchecked_narrow函数用于将输入的对象指针不经判断直接转换成xxx_stub类对象;
S3、将接口定义的属性映射为类的成员变量,将接口定义的方法映射为类的函数,将接口定义的异常映射为客户端类的成员类,并使该成员类继承父类CORBA::UserException的相关成员和函数;
S4、在客户端构建插件类,通过插件类构建统一的对象接口用于对xxx_stub类进行管理,包括构建、析构、赋值函数指针、取值函数指针、复制和请求标识;其中插件类继承父类EORB::TCPlugin或其它基类。
进一步地,步骤S1中服务器端为POA_CF命名空间下的一个类,接口名称映射为类名称;客户端为CF命名空间下的两个类,一个类名称与接口名称相同,另一个类为前一个类的派生类,其名称为接口名称添加后缀_stub。
本发明的有益效果为:本方法采用统一的IDL映射,把文件中定义的接口及其属性、方法、异常统一地映射到客户端和服务端的类及成员和函数,并通过构建插件类,方便ORB对象初始化和管理。采用本方法实现核心框架控制接口逻辑清晰,设计规范,接口统一,使其开发效率大大提高,有利于推广到其它接口设计。
附图说明
图1为本方法基于SCA核心框架控制接口实现时的框图;
图2为核心框架控制接口UML关系图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
在本发明的一个实施例中,核心框架是开放的应用层接口和服务的基本集合,它们提供了底层系统软件和硬件的抽象。核心框架控件提供域的管理,通过应用管理器组件、应用工厂组件、域管理器组件和设备管理器组件控制系统软件的实例化、管理、析构和删除。这些组件需要实现框架控制接口、框架服务接口、基本应用接口和通用接口,其中核心框架控制接口包括应用管理器接口(ApplicationManager)、部署属性接口(DeployAttributes)、应用工厂接口(ApplicationFactory)、组件注册接口(ComponentRegistry)、域安装接口(DomainInstallation)、域管理器接口(DomainManager)、事件通道注册接口(EventChannelRegistry)、可释放管理器接口(ReleasableManager)。而应用管理器接口又包含生命周期接口(LifeCycle)、端口访问接口(PortAccessor)、属性集接口(PropertySet)、可测试接口(TestableInterface)、可控制接口(ControllableInterface),核心框架控制接口UML关系如图2所示。
本发明所针对的是核心框架控制接口的实现方法,具体描述如下:针对控制接口的进行IDL映射,生成符合公共对象请求代理架构(CORBA)的对象,并注册到核心框架关联的域上以供调用。其特点如下:
(1)如图1所示,每一个接口都映射为一个ORB对象,分为服务器端和客户端,服务器端表现为POA_CF命名空间下的一个类,接口名称映射为类名称;客户端表现为CF命名空间下的两个类,一个类名称与接口名称相同,另一个类为前一个类的派生类,其名称是接口名称添加后缀_stub。
(2)接口的继承关系映射到类时保持不变,没有继承关系的接口进行映射时,服务器端类将从父类PortableServer::ServantBase继承,客户端类将从父类CORBA::Stub继承。每一个接口的服务器端类都会继承_repository_id、_is_a、_invoke、_dispatch__xxx方法并添加自己的具体实现,客户端类都会继承_duplicate、_is_a、_narrow、_unchecked_narrow、_repository_id方法并添加自己的具体实现。
(3)接口定义的属性将映射为类的成员变量,接口定义的方法将映射为类的函数,接口定义的异常将映射为客户端类的成员类,该成员类继承父类CORBA::UserException的相关成员和函数。
(4)服务器端_invoke函数是响应客户端远程调用的接口,并根据请求的操作参数名称调用相应的_dispatch__xxx函数,_dispatch__xxx函数可能是该类的函数,也可能是父类的函数。_repository_id函数返回对象的名称标识,_is_a函数判断输入的字符串标识是否与对象或父类对象的名称标识一致。_dispatch__xxx函数用于实现对象接口操作,其中“xxx”并非具体名称,其为统称,代表不止一个函数,如_dispatch__get_applications函数实现DomainManager对象的applications属性访问。
(5)客户端duplicate函数将复制并返回对象指针,_is_a函数判断输入的字符串标识是否与对象或父类对象的名称标识一致,_narrow函数将输入的对象指针判明名称标识一致时转换成xxx_stub类对象,_unchecked_narrow函数则将输入的对象指针不经判断直接转换成xxx_stub类对象、_repository_id函数返回对象的名称标识,除了以上函数,客户端从接口定义的属性、方法映射出的成员和函数将生成服务端对应成员和函数的存根,当这些成员或函数被调用时,将生成不同参数的调用请求向服务端发送,并触发服务端的_invoke函数调用实际的成员和函数,并获得相应的返回值。xxx_stub类对象为服务器端对象在客户端的存根,如DomainManager_stub是服务器端DomainManager对象的存根。
(6)客户端还包括一个插件类,该插件类继承父类EORB::TCPlugin或其它基类,该插件类的作用构建统一的对象接口用于对xxx_stub进行管理,包括构建、析构、赋值函数指针、取值函数指针、复制、请求标识等。当ORB对象进行初始化时,将注册对象各接口,以及可能存在的异常错误。TCPlugin是一个单向链表类,包含init函数,其作用是完成该插件的初始化;该类的构造函数实现将类实例加入链表,该类的析构函数实现将类实例从链表中删除并释放空间。如CFDomainManager_plugin继承EORB::TCPlugin类。
基于本控制接口的实现方法,服务器端使用流程如下:
1、初始化服务器端类实例,如DomainManager;
2、通过插件类CFDomainManager_plugin将DomainManager的类实例以及相应的接口函数或属性入口加入全局链表;
3、向域注册DomainManager对象,然后等待远程调用;如果有客户端请求调用该对象的接口操作或属性,将通过_dispatch__xxx函数执行具体的操作并返回;
4、调用完成后释放类实例并从链表中删除。
客户端使用流程如下:
1、初始化客户端类实例,如DomainManager_stub;
2、通过名称从域中解析其ORB对象,并判断对象解析是否成功,对象不为空则成功,否则进行释放对象;
3、通过_narrow限定对象并判断对象是否不为空,对象不为空则表示找到对应类型的对象实例可进行下一步,否则进行释放对象;
4、调用对象的方法或属性,如调用DomainManager的applications属性。
综上所述,本方法采用统一的IDL映射,把文件中定义的接口及其属性、方法、异常统一地映射到客户端和服务端的类及成员和函数,并通过构建插件类,方便ORB对象初始化和管理。采用本方法实现核心框架控制接口逻辑清晰,设计规范,接口统一,使其开发效率大大提高,有利于推广到其它接口设计。
Claims (2)
1.一种基于SCA核心框架控制接口的实现方法,其特征在于,包括以下步骤:
S1、将每一个接口都映射为一个ORB对象;ORB对象包括服务器端和客户端;
S2、将有继承关系的接口映射到类的方式与父接口映射到类的方式保持不变;对于没有继承关系的接口,使服务器端从父类PortableServer::ServantBase继承映射到类方式,使客户端从父类CORBA::Stub继承映射到类方式;使每个接口的服务器端同时继承_repository_id、_is_a、_invoke、_dispatch__xxx函数并添加至自己的具体实现;使每个客户端同时继承_duplicate、_is_a、_narrow、_unchecked_narrow、_repository_id函数并添加至自己的具体实现;
其中_repository_id函数用于返回对象的名称标识;_is_a函数用于判断输入的字符串标识是否与对象或父类对象的名称标识一致;_invoke函数用于响应客户端远程调用的接口,并根据请求的操作参数名称调用相应的_dispatch__xxx函数;_duplicate函数用于复制并返回对象指针;_narrow函数用于将输入的对象指针判明名称标识一致时转换成xxx_stub类对象;_unchecked_narrow函数用于将输入的对象指针不经判断直接转换成xxx_stub类对象;
S3、将接口定义的属性映射为类的成员变量,将接口定义的方法映射为类的函数,将接口定义的异常映射为客户端类的成员类,并使该成员类继承父类CORBA::UserException的相关成员和函数;
S4、在客户端构建插件类,通过插件类构建统一的对象接口用于对xxx_stub类进行管理,包括构建、析构、赋值函数指针、取值函数指针、复制和请求标识;其中插件类继承父类EORB::TCPlugin或其它基类。
2.根据权利要求1所述的基于SCA核心框架控制接口的实现方法,其特征在于,步骤S1中服务器端为POA_CF命名空间下的一个类,接口名称映射为类名称;客户端为CF命名空间下的两个类,一个类名称与接口名称相同,另一个类为前一个类的派生类,其名称为接口名称添加后缀_stub。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602695.0A CN113360136B (zh) | 2021-05-31 | 2021-05-31 | 一种基于sca核心框架控制接口的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110602695.0A CN113360136B (zh) | 2021-05-31 | 2021-05-31 | 一种基于sca核心框架控制接口的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360136A true CN113360136A (zh) | 2021-09-07 |
CN113360136B CN113360136B (zh) | 2023-11-03 |
Family
ID=77530512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110602695.0A Active CN113360136B (zh) | 2021-05-31 | 2021-05-31 | 一种基于sca核心框架控制接口的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360136B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501713A (zh) * | 2023-06-26 | 2023-07-28 | 成都谐盈科技有限公司 | 一种分布式文件系统的实现方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040133554A1 (en) * | 2003-01-08 | 2004-07-08 | Linn Charles Alan | Efficient file interface and method for providing access to files using a JTRS SCA core framework |
US6813770B1 (en) * | 2000-04-21 | 2004-11-02 | Sun Microsystems, Inc. | Abstract syntax notation to interface definition language converter framework for network management |
CN102081545A (zh) * | 2011-01-07 | 2011-06-01 | 中国电子科技集团公司第十研究所 | 在嵌入式平台上实现软件通信架构的方法 |
US20120284288A1 (en) * | 2011-05-02 | 2012-11-08 | Raytheon Company | Systems, methods, and language for SCA CORBA descriptor files |
CN103902283A (zh) * | 2014-03-03 | 2014-07-02 | 华东师范大学 | 在corba中利用模型转换实现实时异步通信的方法 |
CN108737190A (zh) * | 2018-05-28 | 2018-11-02 | 中国人民解放军国防科技大学 | 基于sca核心框架的设备管理方法 |
CN108958958A (zh) * | 2018-07-25 | 2018-12-07 | 哈尔滨工业大学 | 一种基于tao的rs422通讯模块远程访问的方法 |
CN109324912A (zh) * | 2018-09-21 | 2019-02-12 | 中国航空无线电电子研究所 | 面向软件通信体系结构的应用管理类软件的通信方法 |
CN111447079A (zh) * | 2020-02-28 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于sca框架的高可用扩展系统和方法 |
CN111443919A (zh) * | 2020-02-24 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Dsp多核处理器上sca核心框架的实现方法 |
-
2021
- 2021-05-31 CN CN202110602695.0A patent/CN113360136B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6813770B1 (en) * | 2000-04-21 | 2004-11-02 | Sun Microsystems, Inc. | Abstract syntax notation to interface definition language converter framework for network management |
US20040133554A1 (en) * | 2003-01-08 | 2004-07-08 | Linn Charles Alan | Efficient file interface and method for providing access to files using a JTRS SCA core framework |
CN102081545A (zh) * | 2011-01-07 | 2011-06-01 | 中国电子科技集团公司第十研究所 | 在嵌入式平台上实现软件通信架构的方法 |
US20120284288A1 (en) * | 2011-05-02 | 2012-11-08 | Raytheon Company | Systems, methods, and language for SCA CORBA descriptor files |
CN103902283A (zh) * | 2014-03-03 | 2014-07-02 | 华东师范大学 | 在corba中利用模型转换实现实时异步通信的方法 |
CN108737190A (zh) * | 2018-05-28 | 2018-11-02 | 中国人民解放军国防科技大学 | 基于sca核心框架的设备管理方法 |
CN108958958A (zh) * | 2018-07-25 | 2018-12-07 | 哈尔滨工业大学 | 一种基于tao的rs422通讯模块远程访问的方法 |
CN109324912A (zh) * | 2018-09-21 | 2019-02-12 | 中国航空无线电电子研究所 | 面向软件通信体系结构的应用管理类软件的通信方法 |
CN111443919A (zh) * | 2020-02-24 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | Dsp多核处理器上sca核心框架的实现方法 |
CN111447079A (zh) * | 2020-02-28 | 2020-07-24 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 基于sca框架的高可用扩展系统和方法 |
Non-Patent Citations (3)
Title |
---|
E. GRAYVER等: "SDRPHY - XML description for SDR physical layer", 《2010 - MILCOM 2010 MILITARY COMMUNICATIONS CONFERENCE》, pages 1140 - 1146 * |
廖文瑜等: "SCA软件平台通知服务的设计与实现", 《通信技术》, vol. 49, no. 2, pages 233 - 237 * |
雷鹏斌: "软件无线电系统中CORBA 中间件关键技术研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 3, pages 136 - 933 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501713A (zh) * | 2023-06-26 | 2023-07-28 | 成都谐盈科技有限公司 | 一种分布式文件系统的实现方法 |
CN116501713B (zh) * | 2023-06-26 | 2023-09-22 | 成都谐盈科技有限公司 | 一种分布式文件系统的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113360136B (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6023579A (en) | Computer-implemented method for generating distributed object interfaces from metadata | |
US6609158B1 (en) | Component architecture in a computer system | |
CA2495396C (en) | System and method for customized provisioning of application content | |
US6044224A (en) | Mechanism for dynamically associating a service dependent representation with objects at run time | |
RU2419837C2 (ru) | Рабочие потоки, ориентированные на данные | |
US20080256225A1 (en) | Osgi-Based Dynamic Service Management Method for Context-Aware Systems | |
US20060029054A1 (en) | System and method for modeling and dynamically deploying services into a distributed networking architecture | |
US7509658B2 (en) | System and method for adaptable provisioning of generic application content | |
CN106547567A (zh) | 一种安卓系统中多业务下进程间通信系统及其实现方法 | |
Cervantes et al. | Beanome: A component model for the osgi framework | |
US20050216917A1 (en) | Method and system for data object transformation | |
CA2498539A1 (en) | A system and method for building component applications using metadata defined mapping between message and data domains | |
CN113360136A (zh) | 一种基于sca核心框架控制接口的实现方法 | |
US7793309B2 (en) | Method and apparatus for a container managed persistent entity bean support architecture | |
CN111596898B (zh) | 一种基于corba组件的sca组件及服务器 | |
AU2019100212A4 (en) | System and method for developing modularized application | |
Ritter et al. | Integrating security policies via container portable interceptors | |
Hauck et al. | A flexible and extensible object middleware: CORBA and beyond | |
Little et al. | Building configurable applications in Java | |
Thompson et al. | Comparisons between corba and dcom: architectures for distributed computing | |
Ban | Towards an object-oriented framework for multi-domain management | |
Kapitza et al. | A framework for adaptive mobile objects in heterogeneous environments | |
JP2003303108A (ja) | Corba分散処理システムおよびcorba分散処理システムの優先度マップ管理方法およびcorba分散プログラム | |
Möller et al. | What are the needs for components in vehicular systems?-An industrial perspective | |
Cotroneo et al. | Object Oriented Design of an Intelligent Building Management System |
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 |