KR20080049513A - 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환방법 및 장치 - Google Patents

브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환방법 및 장치 Download PDF

Info

Publication number
KR20080049513A
KR20080049513A KR1020060120166A KR20060120166A KR20080049513A KR 20080049513 A KR20080049513 A KR 20080049513A KR 1020060120166 A KR1020060120166 A KR 1020060120166A KR 20060120166 A KR20060120166 A KR 20060120166A KR 20080049513 A KR20080049513 A KR 20080049513A
Authority
KR
South Korea
Prior art keywords
library
brew
conversion
wipi
file
Prior art date
Application number
KR1020060120166A
Other languages
English (en)
Other versions
KR100878044B1 (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 KR1020060120166A priority Critical patent/KR100878044B1/ko
Publication of KR20080049513A publication Critical patent/KR20080049513A/ko
Application granted granted Critical
Publication of KR100878044B1 publication Critical patent/KR100878044B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • 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/4482Procedural
    • G06F9/4484Executing subprograms
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Landscapes

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

Abstract

브루 및 위피 간의 호환 방법 및 장치가 개시된다. 본 발명의 일측면에 따르면, 위피(WIPI) 및 브루(BREW) 플랫폼 간의 호환성을 제공하기 위해 호환 장치가 입력된 프로젝트 파일의 변환 방법에 있어서, 입력된 프로젝트 파일의 특정 포맷의 소스 파일을 추출하는 단계; 소스 파일의 헤더를 분석하여, 변환 라이브러리 중 목표 플랫폼에 따라 지원 가능한 라이브러리를 추출하는 단계; 및 라이브러리를 이용하여 소스 파일을 변환하여 변환 소스 파일을 생성하는 단계를 포함하는 어플리케이션 변환 방법이 제공된다. 본 발명에 따르면, 브루 및 위피 중 어느 하나로 제작된 어플리케이션의 소스 및 리소스를 이용하여 그 중 다른 플랫폼에 따른 어플리케이션 소스 및 리소스를 생성하는 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환 방법 및 장치를 제공할 수 있다.
Figure P1020060120166
BREW, WIPI, 플랫폼, 단말기

Description

브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환 방법 및 장치{Application translating method for providing compatible BREW and WIPI and device thereof}
도 1은 본 발명의 일 실시예에 따른 브루 및 위피의 호환을 위한 장치의 기능에 따른 구성을 개략적으로 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 소스분석 과정을 도시한 도면.
도 3 내지 도 5는 본 발명의 일 실시예에 따른 프로젝트 파일들을 예시한 도면.
도 6은 본 발명의 일 실시예에 따른 컴파일러부의 소스 변환기의 처리 과정을 도시한 도면.
도 7은 본 발명의 일 실시예에 따른 호환 장치의 이벤트 처리기에서의 이벤트 처리의 일례를 도시한 도면.
도 8은 본 발명의 일 실시예에 따른 BREW, WIPI-C, WIPI-Java의 변화율을 예시한 도면.
도 9는 본 발명의 일 실시예에 따른 호환 장치가 입력된 프로젝트 파일을 분석하여 목표한 플랫폼에 상응하는 어플리케이션을 생성하는 과정을 도시한 도면.
<도면의 주요 부분에 대한 부호 설명>
100 : 호환 장치
110 : 컴파일러부
112, 소스 분석기 114 : 전처리기 116 : 소스 변환기
130 : 변환 라이브러리부
132 : BREW to WIPI 변환 라이브러리
134 : WIPI to BREW 변환 라이브러리
136 : C++ to C 변환 라이브러리
150 : 리소스 처리부
152 : 이미지 변환기 154 : 음원 변환기
본 발명은 이종 플랫폼(platform)간의 호환에 관한 것으로서, 좀 더 상세하게는 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환 방법 및 장치에 관한 것이다.
위피는 영어 'Wireless Internet Platform for Interoperability'의 를 딴 것이다. 업체들이 같은 을 사용하도록 함으로써 국가적 낭비를 줄이자는 목적으로 우리나라에서 2001년부터 국책사업으로 추진되기 시작하였다. 플랫폼이란 에서 의 (OS)와 같은 역할을 하는 를 말한다.
한국의 이동통신 업체들은 그 동안 회사마다 각기 다른 방식으로 무선인터넷 플랫폼을 만들어 사용하였기 때문에 제공업체들도 같은 콘텐츠를 여러 개의 플랫폼으로 만들 수밖에 없었다. 따라서 콘텐츠 제작과 서비스에 따르는 여러 가지 불필요한 낭비 요소가 발생하였는데, 위피는 국가적인 차원에서 이러한 낭비 요소를 줄일 목적으로 탄생한 것이다.
브루는 미국 퀄컴(Qualcomm)사가 (CDMA) 방식의 이동 통신용으로 개발한 이다. 와 마찬가지로 휴대폰으로 프로그램 (download)나 , 저장, 삭제는 물론 이메일, 단순 메시지, 탐색, 대화, 단체 게임 등을 편리하게 이용할 수 있는 환경을 제공한다. 자바 기반의 기존 플랫폼과는 달리 이용자들이 원하는 소프트웨어를 에 직접 내려 받아 쓸 수 있는 점이 특징이며, 마다 플랫폼이 달라 많은 문제를 초래하고 있는 이동 분야의 기술 표준으로 활성화에 크게 기여하고 있다.
상기한 위피 및 브루는 그 방식이 서로 상이하여, 위피가 적용된 단말기로는 브루 방식의 응용 프로그램(Application program)이 실행되지 않으며, 마찬가지로 브루가 적용된 단말기로는 위피 방식의 응용 프로그램을 실행하지 못한다. 즉, 위피 및 브루에 따른 응용 프로그램을 생성하기 위해서는, 각기 다른 환경으로 소스 코드 작성 및 컴파일 등이 실행된다. 따라서, 응용 프로그램 개발자는 동일한 기능을 수행하는 응용 프로그램에 대해서도 브루 및 위피에 상응하도록 각각의 소스 코드를 제작해야 하는 불편이 있었다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 브루 및 위피 중 어느 하나로 제작된 어플리케이션의 소스 또는 리소스를 이용하여 그 중 다른 플랫폼에 따른 어플리케이션 소스 또는 리소스를 생성하는 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환 방법 및 장치를 제공하기 위한 것이다.
또한, 본 발명은 브루에 따른 어플리케이션 또는 위피에 따른 어플리케이션 중 어느 하나를 이용하여 다른 하나의 플랫폼에 따른 어플리케이션을 자동으로 생성하여, 기존과 같이 개발자가 오랜 시간 동안 수작업을 수행할 필요가 없는 개발 효율성을 제공할 수 있는 할 수 있는 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환 방법 및 장치를 제공하기 위한 것이다.
본 발명의 다른 목적들은 이하에 서술되는 바람직한 실시예를 통하여 보다 명확해질 것이다.
상술한 목적을 달성하기 위한 본 발명의 일측면에 따르면, 위피(WIPI) 및 브루(BREW) 플랫폼 간의 호환성을 제공하기 위해 호환 장치가 입력된 프로젝트 파일의 변환 방법에 있어서, 입력된 프로젝트 파일의 특정 포맷의 소스 파일을 추출하 는 단계; 상기 소스 파일의 헤더를 분석하여, 변환 라이브러리 중 목표 플랫폼에 따라 지원 가능한 라이브러리를 추출하는 단계; 및 상기 라이브러리를 이용하여 상기 소스 파일을 변환하여 변환 소스 파일을 생성하는 단계를 포함하는 어플리케이션 변환 방법 및 그 방법을 실행하는 프로그램이 기록된 기록매체가 제공된다.
상술한 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, 위피(WIPI) 및 브루(BREW) 플랫폼 간의 호환성을 제공하기 위해 입력된 프로젝트 파일을 변환하는 장치에 있어서, 상기 위피 및 브루 플랫폼에 상응하는 라이브러리를 포함하며, 상기 위피 및 브루 간의 소스 변환을 위한 변환 라이브러리를 포함하는 변환 라이브러리부; 및 프로젝트 파일의 특정 포맷의 소스 파일을 추출하고, 상기 소스 파일의 헤더를 분석하여, 상기 변환 라이브러리 중 목표 플랫폼에 따라 지원 가능한 라이브러리를 추출하며, 상기 추출된 라이브러리를 이용하여 상기 소스 파일을 변환하여 변환 소스 파일을 생성하는 컴파일러부를 포함하는 어플리케이션 변환 장치가 제공된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 실시예들을 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어 도면 부호에 상관없이 동일하거나 대응하는 구성 요소는 동일한 참조번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시예에 따른 브루 및 위피의 호환을 위한 장치의 기능에 따른 구성을 개략적으로 도시한 도면이고, 도 2는 본 발명의 일 실시예에 따른 소스분석 과정을 도시한 도면이고, 도 3 내지 도 5는 본 발명의 일 실시예에 따른 프로젝트 파일들을 예시한 도면이다.
도 1을 참조하면, 본 실시예에 따른 브루 및 위피 간의 호환을 제공하는 장치(100, 이하 호환 장치)는 컴파일러부(110), 변환 라이브러리부(130) 및 리소스 처리부(150)를 포함한다.
여기서, 호환 장치(100)는 반드시 하드웨어적으로 구현될 필요는 없으며, 컴퓨터 등에 인스톨되어 실행될 수 있는 프로그램과 같이 소프트웨어적으로 구현될 수도 있다.
호환 장치(100)가 브루 및 위피에 따른 응용 프로그램 소스 또는 리소스를 변환하기 위해서는 다음과 같은 세가지 요소가 고려되어야 한다.
첫째로, 플랫폼 고유 라이브러리 분석 및 플랫폼간 라이브러리 비교, 변환, 구현 방법이다. 예를 들어, 어플리케이션 개발에 사용되는 함수 API(Application Programming Interface) 목록이나 자원 목록 등의 분석이다.
둘째로, 응용 프로그램의 리소스의 처리 및 변환 방안이다. 예를 들어, 브루 에서 사용하는 바(BAR)와 같은 이미지 리소스의 위피에서의 처리 방법 등이다.
셋째는 언어적인 측면의 소스 변환 방법이다. 언어적인 측면의 변환이라 함은 변환된 소스에 대한 실행보다는 언어의 신텍스(Syntax)나 시맨틱(Semantic)적인 변환을 만족하는지에 중점을 두는 것이다. 이를 위해 전통적인 컴파일러의 단계를 만족하도록 구현할 수 있다. 예를 들어, WIPI_Java의 경우 이를 C++로 변환하는 방법이다.
본 실시예에 따르면, 상기한 첫 번째의 경우에는 래퍼(wrapper, 즉 변환 라이브러리)를 이용하여 API 변환을 수행할 수 있다. 또한 두 번째의 경우 이미지의 포맷, 크기, 색 등의 변환과 mp3, wav, mmf 등의 음원 변환이 해당된다. 세 번째는 BREW C에서 WIPI C(또는 WIPI C에서 BREW C)로의 소스 변환, 그리고 WIPI_Java에서 BREW C++ 로의 소스 변환이 해당된다.
변환 라이브러리부(130), 리소스 처리부(150) 및 컴파일러부(110)는 상기한 세가지 요소를 수행하기 위한 구성 요소들이다. 변환 라이브러리부(130) 및 컴파일 러부(110)는 위피 및 브루와 밀접한 관련이 있는 부분으로 해당 플랫폼에 대한 선행 분석을 통해 세부 기능 모듈의 설계가 가능하다. 소스 분석은 소스 변환을 위한 해당 프로젝트 파일(어플리케이션일 수 있음)을 분석하여 프로젝트에 포함되어 있는 또는 프로젝트가 참조하는 파일을 찾아냄으로써 수행될 수 있다. 컴파일러부(110)의 소스 변환기(116)는 'BREW to WIPI 변환라이브러리', 'WIPI to BREW 변환 라이브러리'를 이용하여 플랫폼간의 소스 변환을 수행한다. 특히, 컴파일러부(110)는 언어 고유의 컴파일러 영역으로 변환 라이브러리부(130) 및 리소스 처리부(150)와 기능적인 측면으로 연동되어 기능한다.
이하, 호환 장치(100)의 각 구성부의 기능을 설명하기로 한다.
도면에 도시된 바와 같이, 호환 장치(100)의 컴파일러부(110)는 소스 분석기(112), 전처리기(114) 및 소스 변환기(116)를 포함할 수 있다.
소스 분석기(112)는 소스 변환을 위한 해당 프로젝트 파일을 분석하여 프로젝트에 포함되어 있는 또는 해당 프로젝트가 참조하는 파일을 추출하는 기능을 수행한다.
소스 분석기(112)의 처리 대상이 되는 프로젝트 유형은 예를 들어 브루(BREW)를 위한 마이크로소프트(Microsoft)사의 비쥬얼 스튜디오(Visual Studio) 프로젝트 파일(이하 MSVC), WIPI_C, WIPI_Java를 위한 KTF Integrated SDK 프로젝트 파일(이하 KIS) 등이 있을 수 있다. 이하, 설명의 편의를 위해 프로젝트 파일로는 상기한 MSVC와 KIS 두 가지가 존재하는 경우를 가정하여 설명하기로 한다.
도 2를 참조하면, 소스 분석기(112)의 입력 인자가 되는 프로젝트 파일은 MSVC의 프로젝트 파일과 KIS의 프로젝트 파일이다. 그런데 MSVC의 프로젝트 파일인. dsw와 KIS의 프로젝트 파일인 .prj 파일은 공통적으로 .dsp 파일을 참조하고 있다.
즉, 프로젝트에 사용하거나 참조하고 있는 소스에 대한 목록을 담고 있는 파일은 프로젝트 파일인. dsw와 .prj 파일이 아닌 공통적으로 .dsp 파일을 사용하고 있다. 따라서 프로젝트에 포함되어 있는 소스 파일 목록을 가져오기 위해서는 실질적으로 .dsp 파일을 분석하는 것이며, .dsw 파일과 .prj 파일은 .dsp 파일의 위치와 파일명을 가져오기 위한 용도로 사용된다.
.dsw 파일, .prj 파일 및 .dsp 파일의 예가 도 3 내지 도 5에 도시되어 있다.
도 3 및 도 4를 참조하면, .dsw 파일 및 .prj 파일에는 프로젝트를 구성하는 소스목록이 존재하지 않음을 확인할 수 있다.
프로젝트 파일이 .dsw 파일인 경우, 우선 .dsw 파일의 내용 중 하기 코드에 해당되는 라인을 프로젝트(project)라고 하는 키워드를 이용하여 탐색한다.
[ Project: "jumpse"=".\jumpse.dsp" - Package Owner=<4> ]
다음, "프로젝트명"을 키워드로 하여 ".\jumpse.dsp" 항목을 찾고, "\"을 키워드로 하여 디렉터리와 파일을 분리한다. 이후, .dsp 파일의 풀 패스(Full Path) 명을 리턴(return)하고, .dsp 파일을 분석하여 소스 목록을 추출한다.
한편, 프로젝트 파일이 .prj 파일인 경우, xml 포맷으로 구성되어 있으나 .prj와 .dsp는 같은 디렉터리에 동일한 프로젝트 명으로 구성되므로 굳이 xml 파 일을 작성할 필요 없이 사용할 수도 있다.
우선, .prj 파일에서 <PRJ_HOME> 태그와 <PRJ_NAME> 태그를 이용하여 프로젝트의 폴더 명과 프로젝트 명을 얻어온다.
[ <PRJ_HOME>C: \Trans\jumpse</PRJ_HOME>
<PRJ_NAME>jumpse</PRJ_NAME> ]
다음, 폴더명\프로젝트명.dsp 파일이 존재하는 지를 확인하고, .dsp 파일의 풀 패쓰 명을 리턴 한 후, .dsp 파일을 분석하여 소스 목록을 추출한다.
또한, 프로젝트 파일이 .dsp 파일인 경우의 처리 과정을 살펴보면, "Source="라고 하는 키워드를 이용하여 소스 목록이 있는 라인을 추출하고, "\"을 키워드로 하여 디렉터리와 파일을 분리한다. 여기서, "\"인 경우는 .dsp 파일이 있는 디렉터리와 동일한 디렉터리를 의미한다. 이후, 해당 소스의 풀 패쓰 명을 리턴한다.
다시 도 1을 참조하면, 전처리기(114)는 BREW와 WIPI_C의 변환 라이브러리를 위한 헤더 파일을 분석하고 처리하는 모듈이다.
변환 라이브러리를 위한 헤더파일 분석 및 처리는 소스 변환 시 발생하는 플랫폼 별 지원 가능 라이브러리를 분석하여 사용 가능(혹은 사용 불가능) 함수들에 대한 처리를 수행하는 절차로, 헤더파일은 include 파일에 대한 주석처리 및 코멘트를 이용하고 관련 소스는 래퍼(wrapper, 즉 변환 라이브러리)를 지원할 수 있도록 헤더 파일을 추가한다.
WIPI 플랫폼에서는 표준 C 라이브러리 함수 중 일부를 지원한다. 이러한 함 수는 string.h, stdlib.h, stdarg.h, time.h 파일을 include하여 사용한다. 그러나 BREW 플랫폼에서는 표준 C 라이브러리 함수를 지원하지 않기 때문에 사용할 수 없으며, 이와 관련된 헤더 파일을 include 하게 되면 링크 시점에서 에러가 발생하게 되므로 WIPI에서 선언한 헤더 파일을 모두 주석 처리한다.
헤더 파일 분석 및 처리 과정을 설명하자면, WIPI C를 BREW C로 변환하기 위해서는 include 파일의 지원 여부를 판단하고 지원하지 않는 파일들에 대한 처리를 수행해야 하며, 분석 및 처리 절차는 다음과 같다.
우선, (비)표준 C 라이브러리 include 파일들에 대한 분석 및 DB 작성을 수행한다. 즉, BREW to WIPI 라이브러리와 WIPI to BREW 라이브러리의 참조 데이터로 작성한다. 이후, 프로젝트 폴더의 대상 파일 목록 분석을 수행하고, 작성한 라이브러리 DB를 통해 WIPI C -> BREW C(혹은 BREW C -> WIPI C, 이하 변환으로 대체)로의 변환 시, DB를 통해 사용 가능 및 불가능 파일을 검사한다. 불가능 include 파일에 대해서는 주석처리 및 코멘트를 추가하고, 래퍼 사용을 위한 헤더 파일("W2BE.h")을 추가한다.
소스 변환기(116)는 'BREW to WIPI 변환라이브러리', 'WIPI_C to BREW 변환 라이브러리'를 이용하여 BREW 소스를 WIPI환경에서 구동한 상태로 그리고 WIPI_C를 BREW환경에서 구동 가능한 상태로 변환한다. 또한, 소스 변환기(116)는 WIPI_Java to C++ 변환기를 이용하여 WIPI_Java를 BREW환경에서 구동 가능한 상태로 변화하는 플랫폼간의 소스 변환을 수행하기 위한 모듈이다.
래퍼는 원본 소스에서 사용되는 API를 실행 대상 환경에 거의 유사한 형태로 동일 기능을 구현한 변환 라이브러리이다. 이를 통해, 브루(BREW) 용으로 작성된 소스코드를 변환 래퍼와 함께 빌드(build)하여, 위피(WIPI)가 탑재된 단말에서 실행될 수 있도록 지원한다(혹은 WIPI 소스 코드를 BREW 단말에서 실행 될 수 있도록 지원). 다만 원본 환경에서 제공되는 기능이 변환 대상환경에서 제공되지 않는 항목은 포함하지 않는다.
이와 같은 이유로, WIPI 플랫폼에서 제공하는 모든 API들을 BREW 플랫폼에서 변환 라이브러리로 구현 (또는 BREW 플랫폼에서 제공하는 모든 API들을 WIPI 플랫폼에서 변환 라이브러리로 구현)하는 것은 불가능하며, 따라서 소스 변환기(116)에서는 이러한 변환이 불가능한 API에 대한 처리가 요구될 뿐만 아니라 플랫폼의 특성에 따라 지원해야 하는 기능이 요구된다.
이러한 기능 중에 대표적인 것이 전역변수에 대한 처리이다.
도 6은 본 발명의 일 실시예에 따른 컴파일러부의 소스 변환기의 처리 과정을 도시한 도면이다.
도 6을 참조하면, 단계 610에서 소스 변환기(116)의 래퍼 처리모듈은 .csv 파일을 이용하여 래퍼의 토큰을 등록하고, 래퍼 지원 및 지원 불가능 테이블을 생성한다. 래퍼 치리모듈은 지원 불가 API가 함수의 조건절(if, switch 등)이나 루프절(for, while 등)안에 위치한 경우 주석 처리에 대한 범위를 설정하고, 사용된 래퍼 소스 목록을 생성한다.
변환종류가 위피에서 브루로의 변환인 경우, 단계 620에서 소스 변환기(116) 의 전역변수 처리모듈은 Define, extern, struct 등의 전역변수 처리 토큰을 등록하고, 전역변수 분석 및 전역변수에 대한 블록을 정의한다. 또한, 전역변수 처리모듈은 전역변수 변환을 위한 중간 단계의 파일을 생성하고(예를 들어, .tmp1, .tmp2 등), 전역변수 블록을 주석 처리한다. 이후 단계 640으로 진행된다.
만일, 변환종류가 브루에서 위피로의 변환인 경우, 단계 630에서 소스 변환기(116)의 PRJ 생성모듈은 프로젝트 환경을 분석하여 프로젝트 환경 값 및 Xml 기반의 .prj 파일을 생성한다.
단계 640에서 소스 변환기(116)의 DSP 생성모듈은 dsp 환경 분석 및 환경 값을 생성하고, 변환 소스 및 래퍼 리스트 정보를 생성한다. 또한, DSP 생성모듈은 환경 값 및 리스트 정보를 이용하여 .dsp 파일을 생성한다.
이후, 단계 650에서 소스 변환기(116)의 변환 처리모듈은 원본 소스에 헤더 처리, 전역변수 처리, 변환불가 항목에 대한 처리가 완료된 변환 소스 및 변환 리포트를 생성한다.
여기서, 소스 변환 시 관련 API들에 대한 변환 라이브러리 대체를 위해 가능한 API들의 분석 및 처리가 수행되어야 한다. 우선, 소스 변환기(116)는 프로젝트 폴더의 대상 파일들에 대한 목록을 분석하고, 변환 라이브러리 지원가능 API들을 분석하고 DB를 작성한다. 즉, 소스 변환기(116)는 BREW to WIPI 라이브러리와 WIPI to BREW 라이브러리의 참조 데이터로 작성하며 이는 추후 업데이트 가능하다. 또한, 소스 변환기(116)는 변환 소스 파일의 API 및 관련 변수를 분석하고, 불가능 API 및 변수들에 대한 주석처리 및 코멘트 추가를 수행한다.
래퍼 라이브러리 API 검사 및 처리에 따른 하나의 예를 들면, 변환 전 WIPI 소스가 "... M_Int32 currentMode = MC_imGetCurrentMode(); ..."인 경우, 하기와 같은 BREW 소스로 변환될 수 있다.
"...
//WC2B - 사용 불가능한 API
//M_Int32 currentMode = MC_imGetCurrentMode(); ..."
변환 처리모듈은 WIPI 플랫폼과 달리 BREW 플랫폼은 전역 변수 지원을 허용하지 않는다. 이는 전역 변수를 사용하는 WIPI 플랫폼 기반의 소스를 BREW 플랫폼 기반의 소스로 변환 시, 문제가 발생 될 수 있다.
따라서, 전역 변수 처리를 통해 WIPI 소스에 사용된 전역변수들을 사전에 정의된 구조체에 설정하고 BREW 어플리케이션에서 접근할 수 있는 방법을 제공해야 하며 사전에 정의된 함수에 의해 초기화시켜야 한다.
전역 변수를 처리하기 위해서는 변환을 위한 WIPI 소스의 전역 변수를 분석하고 미리 정의한 구조체 및 함수에 관련 변수를 추가하고 변환 소스에 반영해야 한다.
따라서, 소스 변환기(116)의 전역변수 처리모듈은 WIPI 프로젝트 폴더의 대상 파일들을 분석하여 전역 변수 목록을 작성하고, 전역 변수 대체를 위한 사전 정의 함수에 변수를 등록하고 변환 소스에 추가시킨다. 즉, 사전에 정의한 함수는 W2Bgen.c 및 W2Bgen.h 파일을 생성하여 전역 변수를 등록하여 초기화될 수 있다. 또한, 전역변수 처리모듈은 변환을 위한 소스의 전역 변수를 대체하고 코멘트를 추가한다.
도 1에 도시된 호환 장치(100)의 변환 라이브러리부(130)는 상기한 바와 같은 변환 라이브러리들을 포함한다. 변환 라이브러리(즉 래퍼)는 원본 콘텐츠(Contents)가 원본 플랫폼 환경에서 제공받던 런타임(Runtime) 환경과 플랫폼에서 제공하는 API를 대상 플랫폼 환경에서 에뮬레이션 가능하게 하는 기능으로, 도면에도 도시된 바와 같이, BREW to WIPI, WIPI to BREW 및 C++ to C로 크게 세가지 타입(type)의 기능이 요구된다.
도 1에는 도시되지 않았으나, 변환 라이브러리부(130)는 이벤트 처리기 및 API 래퍼를 더 포함할 수 있다. 변환 라이브러리부(130)의 이벤트 처리기는 각 플랫폼의 실행방식이나 흐름제어가 각각의 특성을 가지고 있으므로 원본 소스코드의 구성을 대상 환경에서 원활하게 실행되도록 구성하기 위한 것으로 최소한의 영역을 가진다. 또한, API 래퍼는 각 플랫폼에서 제공되는 API를 대상 환경에서 사용하기 위한 라이브러리로 동일 역할의 기능으로 대응시키거나 요구되는 역할을 수행하도록 추가적으로 작성되는 라이브러리이다.
이벤트 처리기는 각 플랫폼의 실행방식이나 흐름제어가 서로 다르므로 원본 소스 코드의 구성을 대상 환경에서 원활하게 실행되도록 이벤트를 구성하는 역할을 하는 모듈로서 WIPI 또는 BREW의 플랫폼에서 이벤트가 발생한 경우 이를 이벤트 처리기인 Event Dispatcher가 전달 받아 이를 다시 어플리케이션에 전달함으로써 이 벤트에 대한 처리가 가능하도록 구성한다.
이벤트 처리기는 WIPI용 이벤트 처리기와 BREW용 이벤트 처리기로 나눌 수 있다. WIPI용 이벤트 처리기는 WIPI 플랫폼에서 발생하는 이벤트를 받아서 BREW 어플리케이션(Application)에서 사용할 수 있는 이벤트로 변환하여 전달한다. WIPI 플랫폼에서 발생하는 기본적인 이벤트는 startClet(시작), pauseClet(일지 정지), resumeClet(다시 시작), destroyClet(종료), paintClet (화면 갱신)이며 각 이벤트를 BREW 어플리케이션에서 처리할 수 있는 이벤트로 변환하여 전달한다.
도 7은 본 발명의 일 실시예에 따른 호환 장치의 이벤트 처리기에서의 이벤트 처리의 일례를 도시한 도면이고 도 8은 본 발명의 일 실시예에 따른 BREW, WIPI-C, WIPI-Java의 변화율을 예시한 도면이다.
도 7을 참조하면, WIPI 플랫폼에서 어플리케이션 실행 시에 발생하는 startClet 이벤트를 받아서 BREW에서 사용할 수 있는 EVT_APP_START를 변환하여 전달 하기 위해 IShell, IModule, HelperFuncs, IApplet, IDisplay 등의 기본 이벤트를 생성하고 이벤트를 받을 Callback 함수를 등록하여 BREW 어플리케이션으로 EVT_APP_START를 전달한다
변환 라이브러리부(130)의 API 래퍼는 각 플랫폼에서 사용되는 API를 다른 환경에서 사용하기 위한 라이브러리로 동일 역할의 기능으로 대응시키거나 요구되는 역할을 수행하도록 추가적으로 작성되는 라이브러리이다. 예를 들면, BREW의 어플리케이션이 WIPI 플랫폼 상에서 동작되도록 하기 위해서 실행 시에 참조하게 될 WIPI API로 작성된 BREW API와 동일한 이름을 갖는 라이브러리를 의미한다.
API 래퍼 라이브러리는 BREW의 경우 인터페이스 단위로, WIPI-C의 경우 기능 단위로, WIPI-Java의 경우에는 클래스 단위로 작성된다.
도 8에 전체 BREW, WIPI-C, WIPI-Java에 대한 변환율이 예시되어 있다.
다시 도 1을 참조하면, 변환 라이브러리부(130)의 BREW to WIPI 변환 라이브러리(132)는 BREW 어플리케이션을 WIPI 플랫폼에서 동작 가능하도록 환경을 제공해주는 라이브러리를 의미한다. BREW to WIPI 변환 라이브러리(132)는 BREW에서 사용하는 각 API를 WIPI의 API로 구현한다. 따라서 WIPI 플랫폼 상에서 또는 SDK(Software Development Kit)에서 지원하지 않는 기능의 경우에는 변환 라이브러리를 작성할 수 없으며, 이에 대한 제약 사항을 갖는다.
WIPI to BREW 변환 라이브러리(134)는 WIPI-C 어플리케이션을 BREW 플랫폼에서 동작 가능하도록 환경을 제공해주는 라이브러리를 의미한다. 따라서 WIPI to BREW 변환 라이브러리(134)는 WIPI에서 사용하는 각 API를 BREW의 API로 구현한다. 따라서 BREW 플랫폼 상에서 또는 SDK에서 지원하지 않는 기능의 경우에는 Wrapper 라이브러리를 작성할 수 없으며, 이에 대한 제약 사항을 갖는다.
C++ to C 변환 라이브러리(136)는 WIPI Java 어플리케이션을 BREW 플랫폼에서 동작 가능하도록 환경을 제공해주는 라이브러리를 의미한다. 따라서 C++ to C 변환 라이브러리(136)는 WIPI에서 사용하는 각 API를 BREW의 API로 구현한다. 따라서 BREW 플랫폼 상에서 또는 SDK에서 지원하지 않는 기능의 경우에는 변환 라이브러리를 작성할 수 없으며, 이에 대한 제약 사항을 갖는다.
호환 장치(100)의 리소스 처리부(150)는 이미지 변환기(152) 및 음원 변환기(154)를 포함할 수 있다.
이미지 변환기(152)는 BREW 또는 WIPI에서 사용한 이미지를 다른 플랫폼에서 사용하기 위해서 해당 플랫폼 또는 해당 플랫폼의 단말기 사양에 맞도록 이미지 속성의 일부를 자동으로 변환하도록 기능한다. 이러한 이미지 변환기(152)가 갖는 기능은 이미지 포맷의 변환, 이미지의 크기 변환, 이미지의 색상 변환 등 3가지이다.
이미지 포맷의 변환은, WIPI to BREW의 경우 JPEG, PNG(애니메이션 제외), BMP 모두 BMP로 변환할 수 있으며, BREW to WIPI의 경우 BCI 포맷, SIS 포맷을 제외하고는 모든 형태로의 변환이 가능하다. BCI의 경우에는 퀄컴의 자체 포맷이며, SIS의 경우 네오엠텔의 자체 포맷을 사용하기 때문에 해당 포맷에 대해서 임의로 변환할 수 없어 자동 변환에 대해서는 지원할 수 없으며, 해당 이미지 포맷의 경우 다른 툴을 이용하여 BMP, PNG 등의 포맷으로 변경한 후에 사용할 수 있다.
이미지 포맷에 대한 변환은 변환기 차원에서의 변환을 의미하며, 실질적으로 단말기 상에서 구동이 가능한지의 여부는 JPEG과 GIF의 경우 해당 단말기에 JPEG과 GIF에 대한 디코더가 설치되어 있는 경우에 한해서 동작이 가능하게 된다.
이미지 크기의 변환은, 원본 이미지의 크기를 변환하고자 하는 크기를 지정한 대로 변환하는 것을 의미한다. 원본 크기 대비 축소/확대 모두 지원 가능하지만 작은 이미지를 큰 이미지로 변환 시 변환 비율에 따라 이미지가 선명하게 표현되지 못할 수 있다.
이미지 색상의 변환은, 고해상도 이미지를 저해상도 이미지로 변환하는 것을 의미하며, 256칼라의 경우 고정 팔레트를 사용하는데 이 고정 팔레트는 제조사마다 조금씩 다른 팔레트를 사용하고 있으므로 변환이 제대로 이루어지기 위해서는 해당 고정 팔레트가 있어야만 한다.
음원 변환기(154)는 단말기에서 사용할 수 있는 포맷으로 음원을 변환해 주도록 기능한다. 단말기에서 사용되는 포맷은 예를 들어 MMF일 수 있다. 음원 변환의 경우에는 WAVE to MMF, MIDI to MMF, MP3 to MMF만을 지원한다. MP3의 경우에는 먼저 MP3를 WAVE 파일로 변환한 후에 MMF로 변환한다. WAVE to MMF의 경우에는 야마하에서 제공하는 WAVE to MMF 변환 라이브러리를 제공 받아 개발 하였으며, 따라서 WAVE to MMF에 대한 변환 제약 사항은 야마하에서 제공하는 라이브러리에 대한 제약 사항과 동일하게 된다.
도 9는 본 발명의 일 실시예에 따른 호환 장치가 입력된 프로젝트 파일을 분석하여 목표한 플랫폼에 상응하는 어플리케이션을 생성하는 과정을 도시한 도면이다.
도 9를 참조하면, 호환 장치(100)는 입력된 프로젝트 파일을 분석하여 포함된 원본 소스를 추출한다(단계 910). 즉, 전술한 바와 같이, 호환 장치(100)의 소스 분석기(112)는 .dsp 파일을 추출 및 분석하여, 프로젝트 파일에 포함된 원본 소스를 추출한다.
호환 장치(100)는 추출된 원본 소스에 따른 플랫폼 및 변환하고자 하는 목표 플랫폼을 인식한다(단계 920). 이후, 호환 장치(100)는 원본 소스에 따른 변환 라 이브러리를 위한 헤더 파일을 분석하여 해당 플랫폼 별 지원 가능한 라이브러리를 분석하며, 헤더 파일의 추가가 필요한 경우 이를 처리한다(단계 930).
이후, 호환 장치(100)는 상응하는 래퍼(즉, 변환 라이브러리)를 이용하여 원본 소스가 변환된 변환 소스를 생성한다(단계 940). 즉, 호환 장치(100)는 BREW to WIPI 또는 WIPI to BREW 등에 따른 래퍼를 이용하여 원본 소스에 헤더 처리, 전역변수 처리 및 변환불가 항목에 대한 처리가 완료된 변환 소스를 생성한다.
호환 장치(100)는 프로젝트 파일에 포함된 리소스(즉, 이미지 및/또는 음원 데이터)를 상응하는 플랫폼에 따른 포맷으로 변환한다(단계 950). 리소스의 변환 방법은 상술하였으므로 상세한 설명은 생략한다. 여기서, 단계 950은 상기한 모든 단계들에 우선하여 수행될 수도 있으며, 만일 리소스가 포함되지 않은 경우 수행되지 않을 수도 있다.
호환 장치(100)는 변환 소스를 컴파일링하여 포맷이 변환된 이미지/음원 데이터를 포함하는 목표 플랫폼에 따른 어플리케이션을 생성한다(단계 960).
따라서, 호환 장치(100)는 BREW 또는 WIPI-C, WIPI-Java로 작성된 어플리케이션을 WIPI나 BREW 플랫폼에서도 구동될 수 있도록 변환할 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드디스크, 광자기디스크 등)에 저장될 수 있다.
본 발명은 상기한 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.
이상에서 상술한 바와 같이 본 발명에 따르면, 브루 및 위피 중 어느 하나로 제작된 어플리케이션의 소스 및 리소스를 이용하여 그 중 다른 플랫폼에 따른 어플리케이션 소스 및 리소스를 생성하는 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환 방법 및 장치를 제공할 수 있다.
또한, 본 발명은 브루에 따른 어플리케이션 또는 위피에 따른 어플리케이션 중 어느 하나를 이용하여 다른 하나의 플랫폼에 따른 어플리케이션을 자동으로 생성할 수 있어, 기존과 같이 개발자가 오랜 시간 동안 수작업을 수행할 필요가 없어 개발 효율성을 제공할 수 있는 효과가 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 위피(WIPI) 및 브루(BREW) 플랫폼 간의 호환성을 제공하기 위해 호환 장치가 입력된 프로젝트 파일의 변환 방법에 있어서,
    (a) 입력된 프로젝트 파일의 특정 포맷의 소스 파일을 추출하는 단계;
    (b) 상기 소스 파일의 헤더를 분석하여, 변환 라이브러리 중 목표 플랫폼에 따라 지원 가능한 라이브러리를 추출하는 단계; 및
    (c) 상기 라이브러리를 이용하여 상기 소스 파일을 변환하여 변환 소스 파일을 생성하는 단계를 포함하는 어플리케이션 변환 방법.
  2. 제 1항에 있어서,
    상기 변환 소스 파일을 컴파일하여 상기 목표 플랫폼에 상응하는 어플리케이션 프로그램을 생성하는 단계를 더 포함하는 어플리케이션 변환 방법.
  3. 제 1항에 있어서,
    상기 프로젝트 파일에 포함된 리소스를 상기 목표 플랫폼에 상응하도록 미리 지정된 포맷으로 변환하는 단계를 더 포함하는 어플리케이션 변환 방법.
  4. 제 1항에 있어서,
    상기 특정 포맷은 .dsp 인 것을 특징으로 하는 어플리케이션 변환 방법.
  5. 제 1항에 있어서,
    상기 변환 라이브러리는 BREW to WIPI 라이브러리, WIPI to BREW 라이브러리 및 C++ to C 라이브러리 중 하나 이상을 포함하는 것을 특징으로 하는 어플리케이션 변환 방법.
  6. 제 1항에 있어서, 상기 단계 (b)는,
    상기 변환 라이브러리를 지원하는 하나 이상의 상기 소스 파일의 API(Application Programming Interface)를 인식하는 단계; 및
    상기 API에 대한 상기 목표 플랫폼에 따른 라이브러리를 추출하는 단계를 포함하는 것을 특징으로 하는 어플리케이션 변환 방법.
  7. 위피(WIPI) 및 브루(BREW) 플랫폼 간의 호환성을 제공하기 위해 입력된 프로젝트 파일을 변환하는 장치에 있어서,
    상기 위피 및 브루 플랫폼에 상응하는 라이브러리를 포함하며, 상기 위피 및 브루 간의 소스 변환을 위한 변환 라이브러리를 포함하는 변환 라이브러리부; 및
    프로젝트 파일의 특정 포맷의 소스 파일을 추출하고, 상기 소스 파일의 헤더를 분석하여, 상기 변환 라이브러리 중 목표 플랫폼에 따라 지원 가능한 라이브러리를 추출하며, 상기 추출된 라이브러리를 이용하여 상기 소스 파일을 변환하여 변환 소스 파일을 생성하는 컴파일러부를 포함하는 어플리케이션 변환 장치.
  8. 제 7항에 있어서,
    상기 컴파일러부는 상기 변환 소스 파일을 컴파일하여 상기 목표 플랫폼에 상응하는 어플리케이션 프로그램을 생성하는 것을 특징으로 하는 어플리케이션 변환 방법.
  9. 제 7항에 있어서,
    상기 프로젝트 파일에 포함된 리소스를 상기 목표 플랫폼에 상응하도록 미리 지정된 포맷으로 변환하는 리소스 처리부를 더 포함하는 어플리케이션 변환 장치.
  10. 위피(WIPI) 및 브루(BREW) 플랫폼 간의 호환성을 제공하기 위해 호환 장치가 입력된 프로젝트 파일의 변환 방법을 수행하기 위해 디지털 판독 장치에 의해 실행 가능한 명령어들이 유형적으로 구현되어 있으며, 디지털 판독 장치에 의해 판독 가능한 프로그램이 기록된 기록매체에 있어서,
    입력된 프로젝트 파일의 특정 포맷의 소스 파일을 추출하는 단계;
    상기 소스 파일의 헤더를 분석하여, 변환 라이브러리 중 목표 플랫폼에 따라 지원 가능한 라이브러리를 추출하는 단계; 및
    상기 라이브러리를 이용하여 상기 소스 파일을 변환하여 변환 소스 파일을 생성하는 단계를 실행하는 프로그램이 기록된 기록매체.
KR1020060120166A 2006-11-30 2006-11-30 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환방법 및 장치 KR100878044B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060120166A KR100878044B1 (ko) 2006-11-30 2006-11-30 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060120166A KR100878044B1 (ko) 2006-11-30 2006-11-30 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환방법 및 장치

Publications (2)

Publication Number Publication Date
KR20080049513A true KR20080049513A (ko) 2008-06-04
KR100878044B1 KR100878044B1 (ko) 2009-01-13

Family

ID=39805283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060120166A KR100878044B1 (ko) 2006-11-30 2006-11-30 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환방법 및 장치

Country Status (1)

Country Link
KR (1) KR100878044B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101120614B1 (ko) * 2010-01-06 2012-03-20 인크로스 주식회사 어플리케이션 가공방법
WO2017135764A1 (ko) * 2016-02-03 2017-08-10 삼성전자 주식회사 애플리케이션을 상호 연동하는 전자 장치 및 이를 위한 방법
CN111538488A (zh) * 2020-04-17 2020-08-14 荏原冷热系统(中国)有限公司 一种单片机驱动程序生成方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3717172A1 (de) * 1987-05-22 1988-12-08 Bayer Ag Vinylcopolymerisate mit aufgepfropften polycarbonatketten, ihre herstellung und verwendung
KR100738040B1 (ko) * 2005-11-16 2007-07-12 주식회사 케이티프리텔 개방형 모바일 비즈니스 지원 시스템의 api 제공 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101120614B1 (ko) * 2010-01-06 2012-03-20 인크로스 주식회사 어플리케이션 가공방법
WO2017135764A1 (ko) * 2016-02-03 2017-08-10 삼성전자 주식회사 애플리케이션을 상호 연동하는 전자 장치 및 이를 위한 방법
US11210147B2 (en) 2016-02-03 2021-12-28 Samsung Electronics Co., Ltd. Electronic device for performing application-related interoperation, and method therefor
CN111538488A (zh) * 2020-04-17 2020-08-14 荏原冷热系统(中国)有限公司 一种单片机驱动程序生成方法及装置
CN111538488B (zh) * 2020-04-17 2023-05-02 荏原冷热系统(中国)有限公司 一种单片机驱动程序生成方法及装置

Also Published As

Publication number Publication date
KR100878044B1 (ko) 2009-01-13

Similar Documents

Publication Publication Date Title
Young Using aspectj to build a software product line for mobile devices
EP2524306B1 (en) Execution of dynamic languages via metadata extraction
EP2827244A1 (en) Extension mechanism for scripting language compiler
JP2005018777A (ja) 共通問い合わせ実行時システムおよびアプリケーションプログラミングインターフェイス
US8762963B2 (en) Translation of programming code
US20160321055A1 (en) Mapping between local and remote for seamless build and design time experience
CN101185116A (zh) 在软件程序中使用强数据类型表示语音识别语法
CN111427583A (zh) 组件的编译方法、装置和电子设备及计算机可读存储介质
CN111399840A (zh) 一种模块开发方法及装置
CN111045683A (zh) 小程序代码编译方法、装置、设备及介质
CN111813381A (zh) 跨平台生成可运行程序的方法、装置、介质和电子设备
KR100878044B1 (ko) 브루 및 위피 간의 호환성 제공을 위한 어플리케이션 변환방법 및 장치
CN110941443B (zh) 修改sdk中文件名的方法、装置及电子设备
CN110457013B (zh) 程序组件配置装置及方法
CN111913741A (zh) 对象拦截方法、装置、介质及电子设备
CN113641594B (zh) 跨端自动化测试方法以及相关装置
KR20090121949A (ko) 모바일 콘텐츠 변환 방법 및 시스템
KR20090122703A (ko) 변환 프로그램 제공 서버 및 방법
CN112162776B (zh) 依赖关系获取方法及装置
CN113553040B (zh) 可见即可说识别功能的注册实现方法、装置、设备及介质
CN112988260B (zh) 应用冷启动优化方法、装置、计算机设备及存储介质
US20060010452A1 (en) Software application program interface method and system
WO2022057743A1 (zh) 一种代码处理方法、装置及存储介质
CN118041976A (en) Method and device for realizing dynamic generation of REST service by WebService service
JP2002132502A (ja) 言語機能解釈による分散オブジェクト自動生成システム及び方法

Legal Events

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

Payment date: 20121228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140102

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee