CN113360136B - 一种基于sca核心框架控制接口的实现方法 - Google Patents

一种基于sca核心框架控制接口的实现方法 Download PDF

Info

Publication number
CN113360136B
CN113360136B CN202110602695.0A CN202110602695A CN113360136B CN 113360136 B CN113360136 B CN 113360136B CN 202110602695 A CN202110602695 A CN 202110602695A CN 113360136 B CN113360136 B CN 113360136B
Authority
CN
China
Prior art keywords
class
interface
name
function
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.)
Active
Application number
CN202110602695.0A
Other languages
English (en)
Other versions
CN113360136A (zh
Inventor
许忠文
邵力强
袁瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Xieying Technology Co ltd
Original Assignee
Chengdu Xieying Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Xieying Technology Co ltd filed Critical Chengdu Xieying Technology Co ltd
Priority to CN202110602695.0A priority Critical patent/CN113360136B/zh
Publication of CN113360136A publication Critical patent/CN113360136A/zh
Application granted granted Critical
Publication of CN113360136B publication Critical patent/CN113360136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4492Inheritance

Abstract

本发明公开了一种基于SCA核心框架控制接口的实现方法,本方法采用统一的IDL映射,把文件中定义的接口及其属性、方法、异常统一地映射到客户端和服务端的类及成员和函数,并通过构建插件类,方便ORB对象初始化和管理,实现基于SCA核心框架控制接口。采用本方法实现核心框架控制接口逻辑清晰,设计规范,接口统一,使其开发效率大大提高,有利于推广到其它接口设计。

Description

一种基于SCA核心框架控制接口的实现方法
技术领域
本发明涉及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 (1)

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或其它基类;
步骤S1中服务器端为POA_CF命名空间下的一个类,接口名称映射为类名称;客户端为CF命名空间下的两个类,一个类名称与接口名称相同,另一个类为前一个类的派生类,其名称为接口名称添加后缀_stub。
CN202110602695.0A 2021-05-31 2021-05-31 一种基于sca核心框架控制接口的实现方法 Active CN113360136B (zh)

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 CN113360136A (zh) 2021-09-07
CN113360136B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501713B (zh) * 2023-06-26 2023-09-22 成都谐盈科技有限公司 一种分布式文件系统的实现方法

Citations (8)

* Cited by examiner, † Cited by third party
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
CN102081545A (zh) * 2011-01-07 2011-06-01 中国电子科技集团公司第十研究所 在嵌入式平台上实现软件通信架构的方法
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核心框架的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167872B2 (en) * 2003-01-08 2007-01-23 Harris Corporation Efficient file interface and method for providing access to files using a JTRS SCA core framework
US8707277B2 (en) * 2011-05-02 2014-04-22 Raytheon Company Systems, methods, and language for SCA CORBA descriptor files

Patent Citations (8)

* Cited by examiner, † Cited by third party
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
CN102081545A (zh) * 2011-01-07 2011-06-01 中国电子科技集团公司第十研究所 在嵌入式平台上实现软件通信架构的方法
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)

* Cited by examiner, † Cited by third party
Title
SCA软件平台通知服务的设计与实现;廖文瑜等;《通信技术》;第49卷(第2期);第233-237页 *
SDRPHY - XML description for SDR physical layer;E. Grayver等;《2010 - MILCOM 2010 MILITARY COMMUNICATIONS CONFERENCE》;第1140-1146页 *
软件无线电系统中CORBA 中间件关键技术研究与实现;雷鹏斌;《中国优秀硕士学位论文全文数据库信息科技辑》(第3期);I136-933 *

Also Published As

Publication number Publication date
CN113360136A (zh) 2021-09-07

Similar Documents

Publication Publication Date Title
US6609158B1 (en) Component architecture in a computer system
US6023579A (en) Computer-implemented method for generating distributed object interfaces from metadata
KR101219855B1 (ko) 동적 서비스 대리자
JP5259924B2 (ja) レガシーコンポーネントのための動的サービスの生成
US20060029054A1 (en) System and method for modeling and dynamically deploying services into a distributed networking architecture
KR100881985B1 (ko) 상황 인식 시스템을 위한 OSGi 기반 동적 서비스 관리방법
US6466974B1 (en) Environment for creating and managing network management software objects
CA2495396C (en) System and method for customized provisioning of application content
EP0915419A2 (en) Remote object access
US20070124475A1 (en) Creating proxies from service description metadata at runtime
US20040205771A1 (en) System and method of generating and using proxy beans
JPH08263292A (ja) オブジェクト指向プログラミング・インターフェース及びマップする方法
US6427153B2 (en) System and method for implementing Java-based software network management objects
CN113360136B (zh) 一种基于sca核心框架控制接口的实现方法
US20060200800A1 (en) Aggregation of non blocking state machines on enterprise java bean platform
US7512674B1 (en) Framework for enabling dynamic construction of a network element management mechanism
Hauck et al. A flexible and extensible object middleware: CORBA and beyond
Little et al. Building configurable applications in Java
Moore et al. Building evolvable systems: the ORBlite project
Jololian et al. A framework for a meta-semantic language for smart component-adapters
Steele et al. XML-based mobile agents
Yahya et al. An overview of service interface design approaches for interoperability of traditional system integration patterns
Thompson et al. Comparisons between corba and dcom: architectures for distributed computing
Ban Towards an object-oriented framework for multi-domain management
US20060161618A1 (en) Abstract mechanism for constructing commands for the command pattern

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