KR100918116B1 - 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법 - Google Patents

에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법 Download PDF

Info

Publication number
KR100918116B1
KR100918116B1 KR1020070098704A KR20070098704A KR100918116B1 KR 100918116 B1 KR100918116 B1 KR 100918116B1 KR 1020070098704 A KR1020070098704 A KR 1020070098704A KR 20070098704 A KR20070098704 A KR 20070098704A KR 100918116 B1 KR100918116 B1 KR 100918116B1
Authority
KR
South Korea
Prior art keywords
component
file
application
parser
parsing
Prior art date
Application number
KR1020070098704A
Other languages
English (en)
Other versions
KR20090033604A (ko
Inventor
조은선
박남훈
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020070098704A priority Critical patent/KR100918116B1/ko
Priority to PCT/KR2008/002601 priority patent/WO2009044980A1/en
Priority to US12/681,275 priority patent/US20100242020A1/en
Publication of KR20090033604A publication Critical patent/KR20090033604A/ko
Application granted granted Critical
Publication of KR100918116B1 publication Critical patent/KR100918116B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및 애플리케이션 생성 방법에 관한 것이다.
본 발명에서, 에스시에이 기반 시스템은 애플리케이션 구동과 관련한 파서들을 하나로 통합하여 하나의 통합 파서를 생성하고, 이러한 통합 파서 기능을 수행하는 파서 관리자를 코바 컴포넌트로 구현한다. 이에 따라, 다른 관리자 컴포넌트들은 애플리케이션 구동과 관련한 디스크립터 파일의 정보가 필요한 경우, 새로 파서를 생성할 필요 없이 파서 관리자로 해당 정보를 요청하고, 파서 관리자는 이를 제공한다.
Figure R1020070098704
SCA, 파싱, 파서, 컴포넌트, CORBA, 도메인 관리자, 애플리케이션

Description

에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및 애플리케이션 생성 방법{SCA system, file parsing method and application create method thereof}
본 발명은 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및 애플리케이션 생성 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-012-02, 과제명: SDR 단말용 미들웨어 플랫폼 개발].
에스시에이(Software Communication Architecture, SCA) 규격은 최근까지 발전된 기술을 이용하여 미래의 통신 시스템을 개발하기 위해 설립된 Joint Tactical Radio System (JTRS) Joint Program Office(JPO)에서 통신 시스템간 상호 연동성을 크게 개선하고 개발 및 배치 비용을 줄이고자 제안한 통신 소프트웨어 구조이다. 이러한, SCA 규격은 소프트웨어 및 하드웨어의 이식성과 구성 능력(configurability)을 보장하고, SCA를 사용하여 개발된 제품들간 상호 연동성 보장을 목표로 작성되었다.
SCA는 분산 객체 모델의 산업 표준인 CORBA(Common Object Request Broker Architecture)를 미들웨어(middleware)로 채택하여 이기종의 하드웨어와 소프트웨어의 통합 환경을 제공한다. 이는 특정 시스템에 한정되는 규격이 아니라 독립적인 시스템 디자인 프레임워크이다. SCA 기반의 시스템은 이러한 SCA 구조를 기반으로 이루어진 통신 시스템을 말한다. 예를 들면 SDR(Software Defined Radio)시스템은 소프트웨어 프레임워크의 표준으로 SCA를 채택하고 있다.
SCA에서 애플리케이션(application)은 하나의 웨이브폼(Waveform)의 기능을 수행하며, 여러 개의 컴포넌트들을 하나의 패키지로 묶어 컴포넌트에 대한 정보를 포함하고 있는 도메인 프로파일들을 파싱하여 설치 및 배치하고 구동한다.
한편, 종래의 SCA 규격에서는 이러한 도메인 프로파일들을 파싱하기 위해, 각 관리 컴포넌트들이 필요할 때마다 C++의 클래스 형태의 파서를 생성시켜 사용하였다. 따라서, 관리 컴포넌트들이 파싱 정보를 얻기 위해서는 동일한 C++ 클래스를 여러 번 중복하여 생성하고 동일한 파싱 과정을 여러 번 반복 수행함으로써 메모리 낭비와 시스템 성능이 저하되는 문제점이 발생하였다.
본 발명이 이루고자 하는 기술적 과제는 효율적인 파일 파싱 방법과 애플리케이션 생성 방법을 제공하고, 그에 따라 성능이 향상된 에스시에이 기반 시스템을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 파일 파싱 방법은,
제1 컴포넌트를 구동시키는 단계; 상기 제1 컴포넌트를 네이밍서버에 파싱장치로 등록하는 단계; 및 제2 컴포넌트가 파싱 정보를 요청하는 경우, 상기 제1 컴포넌트를 통해 상기 파싱 정보 요청에 해당하는 파일을 파싱한 파싱 정보를 상기 제2 컴포넌트로 제공하는 단계를 포함한다.
또한, 본 발명의 다른 특징에 따른 에스시에이 기반 시스템에서의 애플리케이션을 생성하는 방법은,
파서 관리자를 코바 컴포넌트로 구현하는 단계; 애플리케이션의 생성 요청을 수신하면, 상기 파서 관리자를 통해 상기 애플리케이션에 해당하는 적어도 하나의 디스크립터 파일을 파싱하는 단계; 및 상기 파싱을 통해 획득한 정보에 기초해 상기 애플리케이션에 해당하는 적어도 하나의 컴포넌트를 배치하는 단계를 포함한다.
또한, 본 발명의 또 다른 특징에 따른 에스시에이 기반 시스템에 구현된 프로그램이 기록된 기록 매체는,
애플리케이션 구동과 관련한 파서 기능들을 통합한 통합 파서 기능을 하나의 코바 컴포넌트로 구현하는 기능; 및
상기 코바 컴포넌트를 통해 상기 애플리케이션 구동과 관련한 적어도 하나의 파일을 파싱하는 기능을 포함한다.
또한, 본 발명의 또 다른 특징에 따른 에스시에이 기반 시스템은,
파싱 대상이 되는 적어도 하나의 디스크립터 파일이 저장된 파일 저장부; 및 코바 컴포넌트로 구현되고, 상기 적어도 하나의 디스크립터 파일을 파싱하는 통합 파서의 기능을 수행하는 파서 관리자를 포함한다.
본 발명에 따르면, 에스시에이 기반 시스템은 애플리케이션 구동과 관련된 디스크립터 파일들을 파싱하기 위한 파서들을 하나의 통합 파서로 통합하고, 이러한 통합 파서 기능을 수행하는 파서 관리자를 코바 컴포넌트로 한번만 생성하여 사용함으로써, 종래에 C++ 클래스 형태의 파서를 중복적으로 생성함으로써 발생하는 메모리 낭비를 방지하고 그로 인해 시스템 성능을 향상시키는 효과가 있다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이제 아래에서는 본 발명의 실시 예에 따른 에스시에이(Software Communications Architecture, SCA) 기반 시스템, 그리고 그의 파일 파싱(parsing) 방법 및 애플리케이션(application) 생성 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 SCA 기반 시스템(100)을 도시한 구조도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 SCA 기반 시스템(100)은 기본적으로 실시간 운영체제(real time operating system)(110)와 SCA 규격에서 규정하고 있는 코바(Common Object Request Broker Architecture, CORBA) 미들웨어(middleware)(120)를 포함한다. CORBA는 이기종의 하드웨어(hardware)와 소프트웨어(software)의 통합 환경을 제공하는, 독립적인 시스템 디자인 프레임워크(Framework)이다.
CORBA 미들웨어(120)는 네이밍서버(Naming Server)(121) 기능을 포함하며, 로그(log) 및 사건(event)을 처리하는 다수의 서비스(로그서비스, 이벤트서비스)(122, 123)를 포함한다. 네이밍서버(121)는 각 컴포넌트(component)로부터 수신 되는 등록 요청(bind)에 따라 해당 컴포넌트를 등록하고, 운용이 중단되는 컴포넌트로부터 등록 취소 요청이 수신되면 해당 컴포넌트의 등록을 취소하는 기능을 수행한다.
실시간 운영체제(110)와 CORBA 미들웨어(120) 위에는 SCA를 기반으로 하는 재구성 코어 프레임워크(Reconfigurable Core Framework, RCF)(130)가 배치된다. 재구성 코어 프레임워크(130)는 파일 시스템을 관리하는 파일 관리자(File Manager)(131), 하드웨어 디바이스를 기능적으로 추상화한 다수의 논리적 디바이스를 관리하는 디바이스 관리자(Device Manager)(132), 애플리케이션의 생성을 담당하는 애플리케이션 팩토리(Application Factory)(133), 디바이스와 애플리케이션의 등록 및 해제를 담당하는 도메인 관리자(Domain Manager)(134) 등의 여러 개의 컴포넌트를 포함하며, 시스템 재구성을 지원한다. 또한, 애플리케이션 관련 엑스엠엘(eXtensible Markup Language, XML) 파일들을 파싱(parsing)하는 파서(parser) 기능을 수행하고, 파싱 과정을 통해 생성된 정보를 관리 컴포넌트들에게 제공하는 기능을 수행하는 코바 컴포넌트 형태의 파서 관리자(135)를 더 포함할 수 있다. 이러한, 파서 관리자(135)는 다른 관리자 컴포넌트(131~134)와 마찬가지로 초기에 한번만 생성되며, 그에 따라 애플리케이션 구동 및 변경에 따른 파서 중복 생성으로 발생하는 메모리 등의 자원 중복 할당을 방지할 수 있다.
SCA 기반 시스템(100)은 다수의 애플리케이션(application)을 포함할 수 있으며, 각 애플리케이션(140)은 다수의 컴포넌트(143a~ 143n)로 구성되어 패키지화 된다. 이때, 재구성 코어 프레임워크(130)의 애플리케이션 팩토리(133)는 도메인 관리자(134)와의 연동을 통해 시스템(100)에 애플리케이션 패키지의 다운로드, 배치 및 구동을 제어하는 운용자 인터페이스를 이용하여 소프트웨어 컴포넌트들을 하나의 애플리케이션 패키지로 구성하고, 이를 구동 디바이스(Executable Device)에 배치하여 구동시키는 기능을 수행한다.
어셈블리 컨트롤러(141)는 SCA 기반 시스템(100) 내의 컴포넌트(144a~144n)의 구동을 제어하고, 파일 저장부(142)는 SCA 기반 시스템(100) 내의 애플리케이션 패키지 정보, 컴포넌트 패키지 정보, 컴포넌트 정보 등이 기술된 XML 파일들을 저장한다.
한편, SCA 기반 시스템(100)은 지유아이(Graphic User Interface, GUI)(미도시)를 통해 사용자로부터 구동 명령 등을 입력 받는다.
도 2는 본 발명의 실시 예에 따른 SCA 기반 시스템(100)에서 정의하고 있는 도메인 프로파일(Domain Profile)의 구조도이다.
SCA 기반 시스템(100)의 도메인을 구성하는 하드웨어 디바이스와 소프트웨어 컴포넌트는 XML 파일 즉, XML 디스크립터(descriptor) 파일에 의해 기술되며, 이러한 XML 파일의 집합을 도메인 프로파일이라 한다.
도 2를 보면, 도메인 프로파일은 디바이스 구성 디스크립터(Device Configuration Descriptor, DCD) 파일, 도메인 관리자 구성 디스크립터(Domain Manager configuration Descriptor, DMD) 파일, 소프트웨어 어셈블리 디스크립터 (Software Assembly Descriptor, SAD) 파일, 소프트웨어 패키지 디스크립터(Software Package Descriptor, SPD) 파일, 소프트웨어 컴포넌트 디스크립 터(Software Component Descriptor, SCD) 파일, 디바이스 패키지 디스크립터(Device Package Descriptor, DPD) 파일, 프로퍼티 디스크립터(Properties Descriptor, PRF) 파일의 총 7개의 XML 디스크립터 파일로 구성된다. 이들 파일들은 각각의 컴포넌트의 타입에 따라 식별자, 능력, 프로퍼티 및 상호의존 관계를 기술한다
DCD 파일은 디바이스 관리자와 결합된 디바이스에 대한 정보, 도메인 관리자를 찾는 방법, 각 디바이스에 대한 구성 정보, 파서 관리자(135)에 대한 정보 등을 포함하며 ".dcd.xml" 확장자를 가진다. 또한, DMD 파일은 도메인 관리자에 대한 구성 정보를 포함하며, ".dmd.xml" 확장자를 가진다.
SAD 파일은 애플리케이션을 구성하는 컴포넌트들에 대한 정보를 포함하고 ".sad.xml" 확장자를 가진다. 또한, SPD 파일은 소프트웨어 패키지에 대한 패키지 명, 패키지 개발자, 프로퍼티 파일 및 구현 코드 정보, 하드웨어와 소프트웨어 간의 의존관계와 같은 일반적인 정보 들을 포함하며, ".spd.xml" 확장자를 가진다. 또한, SCD 파일은 리소스, 리소스 팩토리, 그리고 디바이스와 같은 특정 소프트웨어 컴포넌트에 대한 정보를 포함하고 ".scd.xml" 확장자를 가진다.
DPD 파일은 디바이스의 클래스를 식별하며 이러한 클래스에 대한 특정 프로퍼티들을 포함하고, ".dpd.xml" 확장자를 가진다. 또한, PRF 파일은 구성, 테스트, 구동 그리고 할당 타입과 같은 컴포넌트의 프로퍼티에 대한 정보를 포함하고, ".prf.xml" 확장자를 가진다.
도 3은 본 발명의 실시 예에 따른 애플리케이션(140), 재구성 코어 프레임워 크(130) 내 관리 컴포넌트들(132~134)과 파일 파싱장치인 파서 관리자(XML Parser)(135)와의 관계를 나타낸다.
한편, XML 파일들을 파싱하기 위한 XML 파서 중 DCD 파서, DMD 파서 및 DPD 파서는 SCA 기반 시스템(100)의 도메인 내 관리 컴포넌트들인 도메인 관리자(134), 디바이스 관리자(132) 그리고, 디바이스 또는 서비스를 구성하고 구동시키기 위해 필요한 파서로서, 시스템(100)의 재구성 코어 프레임워크(130)를 구성하기 위해 초기에 한번만 수행된다. 따라서, 애플리케이션의 배치 및 구동과 관련한 나머지 파서들과는 달리 중복해서 생성되고 사용되지 않으므로 본 발명의 실시 예에서는 도 3에 도시된 바와 같이 이들 파서들을 C++ 클래스 타입으로 구현하여 사용한다.
반면에, 애플리케이션(140)은 시스템(100)에 적용하는 웨이브폼(waveform)마다 각각의 다른 애플리케이션 관련 디스크립터를 사용하므로, waveform을 배치할 때마다 파싱해야 하는 파일이 달라진다. 따라서 XML 파서들 중 애플리케이션 관련 파서인 SAD 파서, SPD 파서, SCD 파서, PRF 파서는 파서 관리자(135)에 의해 하나의 통합 파서 기능으로 구현되고, 파서 관리자(135)는 코바 컴포넌트로 구현된다. 따라서, 이후 다른 관리자 컴포넌트(131~134)들은 새로운 파서의 생성 없이 애플리케이션 설치 및 구동과 관련된 XML 디스크립터 파일의 파싱을 파서 관리자(135)로 요청하게 되고, 파서 관리자(135)는 SAD, SPD, SCD 파일 등을 분석하여 해당 정보를 이를 요청한 관리자 컴포넌트들(131~134)로 제공하게 된다.
도 4는 본 발명의 실시 예에 따른 SCA 기반 시스템(100)의 코어 프레임워크 시작 절차를 도시한 흐름도이다.
우선, 사용자가 GUI를 통해 코바 컴포넌트 사용을 위한 네이밍서버(121)의 구동을 요청하면(execute Naming Server)(S101), SCA 기반 시스템(100)은 네이밍서버(121)를 구동시킨다.
이후, 사용자가 GUI를 통해 도메인 관리자(134)의 구동을 요청하면(execute Domain Manager)(S102), SCA 기반 시스템(100)은 도메인 관리자(134)를 구동시키고, 도메인 관리자(134)는 초기화를 수행한 뒤 네이밍서버(121)에 자신의 등록을 요청하기 위해 바인드(bind)를 수행한다(S103).
또한, 사용자가 GUI를 통해 디바이스 관리자(132)의 구동을 요청하면(execute Device Manager)(S104), SCA 기반 시스템(100)은 디바이스 관리자(132)를 구동시키고, 디바이스 관리자(132)는 초기화를 수행한 뒤 네이밍서버(121)에 자신의 등록을 요청하기 위해 바인드를 수행한다(S105). 또한, 디바이스 관리자(132)는 DCD 파서를 생성하고, DCD 파서를 통해 DCD 파일의 정보를 파싱한다. 그리고, DCD 파일을 파싱한 정보로부터 구동 디바이스(Executable Device)를 확인하고 해당 구동 디바이스를 구동시킨다(S106).
이에 따라, 구동 디바이스는 초기화를 수행하고, 네이밍서버(121)에 자신을 등록하기 위한 바인드를 수행한다(S107). 이후, 디바이스 관리자(132)는 DCD 파일의 파싱을 통해 획득한 정보에 기초해 파서 관리자(135)를 구동시킨다(S108). 이에 따라, 파서 관리자(135)는 초기화를 수행한 뒤 네이밍서버(121)에 자신의 등록을 위한 바인드를 수행한다(S109).
이와 같이, 파서 관리자(135)가 코바 컴포넌트로 구현되어 네이밍서버(121) 에 등록됨으로써, 이후 수행되는 애플리케이션 관련 통합 파서의 기능을 수행하게 된다.
도 5는 본 발명의 실시 예에 따른 애플리케이션 설치 방법을 도시한 흐름도이다.
도 5를 참조하면, 사용자가 GUI를 통해 생성하고자 하는 특정 애플리케이션(app1)에 해당하는 SAD 파일(app1_SAD.xml)을 선택하면, 사용자가 선택한 SAD 파일의 정보가 도메인 관리자(134)로 전달된다(installApplication(app1_SAD.xml))(S201). 이를 수신한 도메인 관리자(134)는 파서 관리자(135)로 해당 SAD 파일의 파싱을 요청하고(SAD_getInfo())(S202), 파서 관리자(135)는 통합 파서 기능을 수행하여 해당 SAD 파일을 파싱한 SAD 파일 정보를 도메인 관리자(134)로 제공한다(S203). 이에 따라 도메인 관리자(134)는 수신한 SAD 파일 정보에 기초해 애플리케이션 팩토리(133)를 생성시킨다(new ApplicationFactory(app1_SAD.xml))(S204).
한편, 사용자는 GUI를 통해 시스템(100)에 현재 설치되어 있는 애플리케이션 팩토리들(133)의 정보를 도메인 관리자(134)로 요청할 수 있으며(getApplicationFactories)(S205), 도메인 관리자는 현재 설치되어 있는 모든 애플리케이션 팩토리의 목록을 사용자에게 제공할 수 있다(ApplicationFactoryList)(S206).
이를 확인한 사용자는 제공된 애플리케이션 팩토리 목록 중에서 사용자가 구동시키고자 하는 특정 애플리케이션(app1)에 해당하는 애플리케이션 팩토리(133)를 선택하고, 선택된 애플리케이션 팩토리(133)로 해당 애플리케이션(app1)의 설치를 요청한다(createApplicationInstance(app1))(S207).
이에 따라, 애플리케이션 팩토리(133)는 해당 애플리케이션을 구성하는 컴포넌트들의 정보를 얻기 위해 SAD 파일 정보를 파서 관리자(135)로 요청하고(SAD_getInfo())(S208), 파서 관리자(135)는 통합 파서 기능을 통해 해당 SAD 파일을 파싱하여 SAD 파일 정보를 애플리케이션 팩토리(133)로 제공한다(S209).
이를 수신한 애플리케이션 팩토리(133)는 SAD 파일 정보로부터 구동시킬 컴포넌트들의 정보를 확인하고, 해당 컴포넌트들에 대응되는 SPD 파일 정보를 파서 관리자(135)로 요청한다(SPD_getInfo())(S210). 이에 따라, 파서 관리자(135)는 통합 파서 기능을 수행하여 해당 SPD 파일들을 파싱하고, 획득한 SPD 파일 정보를 애플리케이션 팩토리(133)로 전달한다(S211).
이후, 애플리케이션 팩토리(133)는 SPD 파일 정보로부터 구동시켜야 하는 컴포넌트들의 SCD 파일을 확인하고, 해당 SCD 파일들의 정보를 파서 관리자(135)로 요청한다(SCD_getInfo())(S212). 이에 따라, 파서 관리자(135)는 해당 SCD 파일을 파싱하고, 파싱을 통해 획득한 SCD 파일 정보를 애플리케이션 팩토리(133)로 제공한다(S213). 따라서, 애플리케이션 팩토리(133)는 구동시키고자 하는 애플리케이션에 해당하는 컴포넌트 생성에 필요한 모든 정보를 획득한다.
애플리케이션 팩토리(133)는 이렇게 획득한 정보들을 이용하여 애플리케이션구동에 필요한 모든 컴포넌트들을 구동 디바이스(execute device)의 명시된 위치에 배치시키고 구동시킨다(load and execute components)(S214).
전술한 바와 같이 SCA 기반 시스템(100)에서 애플리케이션 관련 파서들을 하나의 파서로 통합하고, 해당 통합 파서 기능을 하나의 코바 컴포넌트로 구현하는 방법은, 애플리케이션 관련 디스크립터 파일 정보가 필요할 때마다 각각의 관리 컴포넌트들이 C++ 클래스 형태의 파서를 중복적으로 생성하던 기존의 방식과는 달리 초기에 통합 파서를 코바 컴포넌트로 한번만 생성함으로써 시스템의 메모리 낭비를 줄이고 그에 따라 시스템 성능을 향상시키는 효과가 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
도 1은 본 발명의 실시 예에 따른 SCA 기반 시스템의 구조도이다.
도 2는 본 발명의 실시 예에 따른 SCA 기반 시스템에서 정의하고 있는 도메인 프로파일의 구조도이다.
도 3은 본 발명의 실시 예에 따른 관리 컴포넌트들과 파서 관리자간의 관계를 도시한 관계도이다.
도 4는 본 발명의 실시 예에 다른 SCA 기반 시스템의 코어 프레임워크 시작 절차를 도시한 흐름도이다.
도 5는 본 발명의 실시 예에 따른 SCA 기반 시스템의 애플리케이션 생성 방법을 도시한 흐름도이다.

Claims (12)

  1. 제1 컴포넌트를 구동시키는 단계;
    상기 제1 컴포넌트를 네이밍서버에 파싱장치로 등록하는 단계; 및
    제2 컴포넌트가 파싱 정보를 요청하는 경우, 상기 제1 컴포넌트를 통해 상기 파싱 정보 요청에 해당하는 파일을 파싱한 파싱 정보를 상기 제2 컴포넌트로 제공하는 단계
    를 포함하는 파일 파싱 방법.
  2. 제 1항에 있어서,
    상기 구동시키는 단계는,
    제3 컴포넌트를 통해 디바이스 구성 디스크립터 파일을 파싱하는 단계; 및
    상기 디바이스 구성 디스크립터 파일을 파싱한 정보에 기초해 상기 제1 컴포넌트를 구동시키는 단계
    를 포함하는 파일 파싱 방법.
  3. 제 2항에 있어서,
    상기 제3 컴포넌트는 재구성 코어 프레임워크 내의 디바이스 관리자인 파일 파싱 방법.
  4. 제 1항에 있어서,
    상기 파일 파싱 방법은 에스시에이 기반 시스템의 파일 파싱 방법이고, 상기 제1 컴포넌트는 상기 에스시에이 기반 시스템의 재구성 코어 프레임워크 내에 포함되는 코바 컴포넌트인 파일 파싱 방법.
  5. 제 1항에 있어서,
    상기 파싱 정보는, 애플리케이션 배치 및 구동과 관련된 디스크립터 파일을 파싱한 정보인 파일 파싱 방법.
  6. 에스시에이 기반 시스템에서의 애플리케이션을 생성하는 방법에 있어서,
    파서 관리자를 코바 컴포넌트로 구현하는 단계;
    애플리케이션의 생성 요청을 수신하면, 상기 파서 관리자를 통해 상기 애플리케이션에 해당하는 적어도 하나의 디스크립터 파일을 파싱하는 단계; 및
    상기 파싱을 통해 획득한 정보에 기초해 상기 애플리케이션에 해당하는 적어도 하나의 컴포넌트를 배치하는 단계
    를 포함하는 애플리케이션 생성 방법.
  7. 제 6항에 있어서,
    상기 애플리케이션을 설치하기 위한 소프트웨어 어셈블리 디스크립터 파일을 입력 받는 단계; 및
    상기 파서 관리자를 통해 상기 소프트웨어 어셈블리 디스크립터 파일을 파싱한 정보에 기초해 애플리케이션 팩토리를 생성하는 단계
    를 더 포함하고,
    상기 배치는 상기 애플리케이션 팩토리를 통해 수행하는 애플리케이션 생성 방법.
  8. 제 6항에 있어서,
    상기 디스크립터 파일은 소프트웨어 어셈블리 디스크립터 파일, 소프트웨어 패키지 디스크립터 파일 및 소프트웨어 컴포넌트 디스크립터 파일 중 하나인 애플리케이션 생성 방법.
  9. 에스시에이 기반 시스템에 구현된 프로그램이 기록된 기록 매체에 있어서,
    애플리케이션 구동과 관련한 파서 기능들을 통합한 통합 파서 기능을 하나의 코바 컴포넌트로 구현하는 기능; 및
    상기 코바 컴포넌트를 통해 상기 애플리케이션 구동과 관련한 적어도 하나의 파일을 파싱하는 기능
    을 포함하는 프로그램이 기록된 기록 매체.
  10. 파싱 대상이 되는 적어도 하나의 디스크립터 파일이 저장된 파일 저장부; 및
    코바 컴포넌트로 구현되고, 상기 적어도 하나의 디스크립터 파일을 파싱하는 통합 파서의 기능을 수행하는 파서 관리자
    를 포함하는 에스시에이 기반 시스템.
  11. 제 10항에 있어서,
    디바이스 구성 디스크립터 파일을 파싱한 정보에 기초해 상기 파서 관리자를 구동시키는 디바이스 관리자
    를 더 포함하는 에스시에이 기반 시스템.
  12. 제 10항에 있어서,
    상기 파서 관리자는 에스시에이 기반 시스템 내 재구성 코어 프레임워크 내에 포함되는 에스시에이 기반 시스템.
KR1020070098704A 2007-10-01 2007-10-01 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법 KR100918116B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020070098704A KR100918116B1 (ko) 2007-10-01 2007-10-01 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법
PCT/KR2008/002601 WO2009044980A1 (en) 2007-10-01 2008-05-08 Sca-based system, and file parsing method and application generation method thereof
US12/681,275 US20100242020A1 (en) 2007-10-01 2008-05-08 Sca-based system, and file parsing method and application generation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070098704A KR100918116B1 (ko) 2007-10-01 2007-10-01 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법

Publications (2)

Publication Number Publication Date
KR20090033604A KR20090033604A (ko) 2009-04-06
KR100918116B1 true KR100918116B1 (ko) 2009-09-22

Family

ID=40526377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070098704A KR100918116B1 (ko) 2007-10-01 2007-10-01 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법

Country Status (3)

Country Link
US (1) US20100242020A1 (ko)
KR (1) KR100918116B1 (ko)
WO (1) WO2009044980A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100142480A1 (en) * 2008-12-05 2010-06-10 Electronics And Telecommunications Research Institute Method of seamless vertical handover for sdr terminal and sca based sdr terminal for the same
KR100947089B1 (ko) 2009-05-19 2010-03-10 엘아이지넥스원 주식회사 에스디알 기반 통신 시스템에서 모뎀 디바이스들을 제어하는 방법과 그 에스씨에이 구조, 및 상기 방법을 구현하는 프로그램이 기록된 기록매체
US8707277B2 (en) 2011-05-02 2014-04-22 Raytheon Company Systems, methods, and language for SCA CORBA descriptor files
US8813092B2 (en) 2011-10-12 2014-08-19 Raytheon Company CORBA embedded inter-orb protocol (EIOP)
US8719813B2 (en) * 2011-11-29 2014-05-06 Raytheon Company Optimized SCA CORBA descriptor for SCA CORBA descriptor files
US9166629B1 (en) 2013-08-30 2015-10-20 The Boeing Company Method and apparatus for using profile structures to deploy components on a software defined radio
US9195447B2 (en) 2014-03-10 2015-11-24 Raytheon Company Optimized SCA descriptors with run-time deployment additions
WO2017030353A1 (ko) * 2015-08-18 2017-02-23 한양대학교 산학협력단 통합 라디오 어플리케이션 인터페이스를 이용하는 재구성 가능한 모바일 장치 및 그 작동 방법
CN109324912B (zh) * 2018-09-21 2022-05-17 中国航空无线电电子研究所 面向软件通信体系结构的应用管理类软件的通信方法
CN111596898B (zh) * 2020-05-08 2024-01-30 湖南智领通信科技有限公司 一种基于corba组件的sca组件及服务器
CN115134767B (zh) * 2021-03-11 2024-02-09 上海大唐移动通信设备有限公司 提升信令软采集设备性能的方法、装置及存储介质
CN113312245B (zh) * 2021-05-28 2023-08-25 成都谐盈科技有限公司 一种可集成的波形管理终端及管理方法
CN116684243B (zh) * 2023-07-28 2023-10-24 成都谐盈科技有限公司 管理sca组件的方法及终端

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100519916B1 (ko) 2003-12-26 2005-10-10 한국전자통신연구원 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법
KR100611580B1 (ko) 2004-12-11 2006-08-10 한국전자통신연구원 다중 모드 이동단말 장치 및 이의 다중 모드 처리 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1412851A4 (en) * 2001-07-27 2007-12-19 Raytheon Co RADIO SYSTEM WITH OPEN SYSTEM SOFTWARE SUPPORT
US7945691B2 (en) * 2003-09-15 2011-05-17 Sap Ag Data conveyance management
KR100545633B1 (ko) * 2003-11-27 2006-01-24 한국전자통신연구원 에스시에이 기반 시스템에서의 소프트웨어 패키지 디스크립터 파일을 위한 저장 매체 및 그의 파일 파싱 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100519916B1 (ko) 2003-12-26 2005-10-10 한국전자통신연구원 에스씨에이 기반 시스템의 파일 파싱 장치, 그리고 그의파일 파싱 및 데이터 저장 방법
KR100611580B1 (ko) 2004-12-11 2006-08-10 한국전자통신연구원 다중 모드 이동단말 장치 및 이의 다중 모드 처리 방법

Also Published As

Publication number Publication date
WO2009044980A1 (en) 2009-04-09
KR20090033604A (ko) 2009-04-06
US20100242020A1 (en) 2010-09-23

Similar Documents

Publication Publication Date Title
KR100918116B1 (ko) 에스시에이 기반 시스템 그리고 그의 파일 파싱 방법 및애플리케이션 생성 방법
KR100903999B1 (ko) Sdr 단말용 코아 프레임워크에서 데이터베이스를 이용한도메인 프로파일의 운용 시스템 및 방법
Rellermeyer et al. R-OSGi: Distributed applications through software modularization
US20090113437A1 (en) Translating declarative models
Göbel et al. The COMQUAD component model: enabling dynamic selection of implementations by weaving non-functional aspects
US20070061277A1 (en) Method, system, and storage medium for providing dynamic deployment of grid services over a computer network
KR100590730B1 (ko) 에스시에이 기반 시스템의 파일 시스템, 및 그의소프트웨어 컴포넌트 파일 배치 및 관리 방법
Kon et al. Design, implementation, and performance of an automatic configuration service for distributed component systems
Falcarin et al. Software architecture evolution through dynamic aop
Zalila et al. Towards automatic middleware generation
Polakovic et al. Building reconfigurable component-based OS with THINK
Gama et al. Towards dynamic component isolation in a service oriented platform
Brada The CoSi component model: Reviving the black-box nature of components
Haja et al. Location, proximity, affinity–the key factors in FaaS
Irmert et al. Towards Runtime Adaptation in a SOA Environment.
Zhang et al. Re-factoring middleware systems: A case study
Abdellatif et al. Reengineering j2ee servers for automated management in distributed environments
Liu et al. Mobile code enabled web services
KR101271213B1 (ko) 휴대 단말기의 신규 디바이스 컴포넌트 관리장치 및 그 방법
Maia et al. OiL: An object request broker in the Lua language
Shen et al. A dynamic update framework for OSGi applications
Piessens et al. Support for Metadata-driven Selection of Run-time Services in .NET is Promising but Immature
Rudametkin et al. A framework for managing dynamic service-oriented component architectures
Estublier et al. Deployment descriptions in a world of COTS and open source
Paulino et al. A mobile agent service-oriented scripting language encoded on a process calculus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120910

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee