KR100834759B1 - 목적 파일을 이용한 컴포넌트 구현 장치 및 방법 - Google Patents

목적 파일을 이용한 컴포넌트 구현 장치 및 방법 Download PDF

Info

Publication number
KR100834759B1
KR100834759B1 KR1020060075829A KR20060075829A KR100834759B1 KR 100834759 B1 KR100834759 B1 KR 100834759B1 KR 1020060075829 A KR1020060075829 A KR 1020060075829A KR 20060075829 A KR20060075829 A KR 20060075829A KR 100834759 B1 KR100834759 B1 KR 100834759B1
Authority
KR
South Korea
Prior art keywords
dependency
source files
source
files
symbol
Prior art date
Application number
KR1020060075829A
Other languages
English (en)
Other versions
KR20080014309A (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 KR1020060075829A priority Critical patent/KR100834759B1/ko
Publication of KR20080014309A publication Critical patent/KR20080014309A/ko
Application granted granted Critical
Publication of KR100834759B1 publication Critical patent/KR100834759B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/433Dependency analysis; Data or control flow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers

Landscapes

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

Abstract

목적 파일을 이용한 컴포넌트 구현 장치 및 방법을 제공한다. 목적 파일을 이용한 컴포넌트 구현 장치는 소스 파일을 컴파일하여 목적 파일로 변환시키는 컴파일러부와 목적 파일에 포함된 심볼 중에서 소스 파일간 의존 관계를 형성하는 심볼을 기반으로 의존성 정보를 생성하는 의존성 정보 생성부와 의존성 정보를 이용하여 소정의 심볼을 인터페이스에 기술하여 소스 파일간의 의존 관계를 정의하는 기술부와 인터페이스에 정의된 소스 파일간의 의존 관계에 따라 컴포넌트를 구현하는 구현부를 포함한다.
레거시 소프트웨어, 컴포넌트, 레거시 시스템

Description

목적 파일을 이용한 컴포넌트 구현 장치 및 방법{Apparatus and method for implementing component by using object file}
도 1은 종래 레거시 소프트웨어의 소스 코드를 재사용하기 위한 과정을 도시한다.
도 2는 본 발명의 일 실시예에 따른 목적 파일을 이용한 컴포넌트 구현 장치의 블록도이다.
도 3은 상기 도 2를 이용하여 목적 파일을 이용하여 컴포넌트를 구현하는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 소스 파일간 의존 관계를 정의하는 인터페이스의 일 예를 도시한다.
도 5는 본 발명의 일 실시예에 따른 컴포넌트내 소스 파일간의 의존 관계를 도시한다.
<도면의 주요 부분에 관한 부호의 설명>
210: 컴파일러부 215: 의존성 정보 생성부
245: 출력부 250: 입력부
260: 기술부 270: 구현부
280: 검증부
본 발명은 목적 파일을 이용한 컴포넌트 구현 장치 및 방법에 관한 것으로서, 더욱 상세하게는 소스 파일을 컴파일한 목적 파일을 이용하여 재사용할 소스 파일들을 컴포넌트로 구현하는 컴포넌트 구현 장치 및 방법에 관한 것이다.
하드웨어의 눈부신 발전은 제조사들이 고성능의 다양한 기능을 갖춘 기기를 더 짧은 시간 내에 제조할 수 있게 했으며, 이는 업체간의 기술격차를 작게 만들었다. 그리고, 이와 같은 기기를 운영하기 위해서 필요한 소프트웨어의 개발은 많은 시간과 비용을 필요로 하는 일이므로, 결국 소프트웨어의 차별화가 제품의 성공을 좌우하게 되었다. 그러나 고성능 하드웨어를 운영하는데 걸맞은 소프트웨어를 개발할 능력이 있는 회사라 하더라도 개발주기가 짧아지고, 다양해진 하드웨어들에 맞춘 소프트웨어를 매번 개발하는 일은 쉬운 일이 아니다. 그러므로 이미 많은 시간과 비용을 투입해 개발된 레거시 소프트웨어의 소스 코드를 재사용할 필요성이 대두되었다. 이미 개발된 레거시 소프트웨어의 재사용을 위해서는 각 레거시 소프트웨어의 모듈이 컴포넌트로 구성되어야 한다. 컴포넌트는 외부적으로 자신의 특성을 보여주면서 다른 컴포넌트들과의 의존 관계를 나타내는 인터페이스에 의해 접근되고, 캡슐화(encapsulation)된다. 상기 인터페이스는 컴포넌트가 제공하는 서비스들의 패키지를 정의(define)할 수 있으며, 상수와 함수의 셋(set)으로 구성될 수 있다.
도 1은 종래 레거시 소프트웨어의 소스 코드를 재사용하기 위한 과정을 도시한다.
개발자가 레거시 소프트웨어내의 기능을 재사용하기 위해 먼저 레거시 소프트웨어의 구조를 분석한다(S11).
그리고, 개발자는 레거시 소프트웨어내에 구현된 기능 중 다른 시스템이나 프로그램에서 다시 재사용할 기능을 선택한다(S21).
다음 단계에서, 개발자는 재사용할 기능을 호출하기 위해서 상기 기능을 포함하고 있는 레거시 소프트웨어의 인터페이스를 선택한다(S31).
또한, 개발자는 상기 인터페이스를 포함하고 있는 소스파일 및 상기 소스 파일과 의존 관계를 가지고 있는 파일들을 선택한다(S41).
다음 단계에서, 개발자는 상기 파일들을 다른 시스템이나 프로그램으로 이동시키고, 이동된 소스들이 새로운 환경에서 오류 없이 동작하는 지 빌드(build) 및 실행 과정을 통해 검증한다(S51). 만약, 오류가 발생할 경우 빌드(build) 및 실행 과정에서 디버깅(debugging)을 수행하고 이와 같은 디버깅을 오류가 제거될 때까지 반복한다.
그러나, 종래에는 개발자의 직관에 의지하여 레거시 소프트웨어의 구조를 분석하므로, 정확하게 소스간의 의존 관계를 파악하여 재사용할 기능 및 상기 기능과 관련된 소스 파일들을 선택하기 힘든 문제점이 있다. 그리고, 레거시 소프트웨어에 사용된 언어에 상관없이 보다 정확하게 재사용할 소스 파일들을 컴포넌트화 시킬 필요성이 제기된다.
본 발명은 목적 파일을 이용한 컴포넌트 구현 장치를 제공하여, 소스 파일을 컴파일한 목적 파일을 이용하여 재사용할 소스 파일들을 컴포넌트로 구현하는 데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 목적 파일들을 이용한 컴포넌트 구현 장치는 다수의 소스 파일들을 컴파일하여 그에 상응하는 다수의 목적 파일들로 변환시키는 컴파일러부와 상기 다수의 목적 파일들에 포함된 각 심볼을 이용하여 상기 다수의 소스 파일들간 의존 관계를 분석하고 상기 다수의 소스 파일들간 의존 관계를 형성하는 심볼을 추출하여, 상기 추출된 심볼을 기반으로 의존성 정보를 생성하는 의존성 정보 생성부와 상기 의존성 정보를 이용하여 소정의 심볼을 소정의 소프트웨어 인터페이스에 기술하여 상기 다수의 소스 파일들 간의 의존 관계를 정의하는 기술부와 상기 소정의 소프트웨어 인터페이스에 정의된 상기 다수의 소스 파일들 간의 의존 관계에 따라 컴포넌트를 구현하는 구현부를 포함한다.
본 발명의 실시예에 따른 목적 파일들을 이용한 컴포넌트 구현 방법은 다수의 소스 파일들을 컴파일하여 그에 상응하는 다수의 목적 파일들로 변환시키는 단계와 상기 다수의 목적 파일들에 포함된 각 심볼을 이용하여 상기 다수의 소스 파일들간 의존 관계를 분석하고 상기 다수의 소스 파일들간 의존 관계를 형성하는 심볼을 추출하여, 상기 추출된 심볼을 기반으로 의존성 정보를 생성하는 단계와 상기 의존성 정보를 이용하여 소정의 심볼을 소정의 소프트웨어 인터페이스에 기술하여 상기 다수의 소스 파일들 간의 의존 관계를 정의하는 단계와 상기 소정의 소프트웨어 인터페이스에 정의된 상기 다수의 소스 파일들 간의 의존 관계에 따라 컴포넌트를 구현하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 목적 파일을 이용한 컴포넌트 구현 장치의 블록도이다.
목적 파일을 이용한 컴포넌트 구현 장치(200)는 컴파일러부(210), 의존성 정보 생성부(215), 출력부(245), 입력부(250), 기술부(260), 구현부(270), 및 검증부(280)를 포함한다.
컴파일러부(210)는 레거시 소프트웨어의 소스 파일을 컴파일(compile)하여 목적 파일(object file)로 변환시킨다. 이때, 목적 파일은 상기 레거시 소프트웨어의 소스 파일마다 일대일로 대응되도록 생성될 수 있다.
의존성 정보 생성부(215)는 목적 파일에 포함된 심볼 중에서 소스 파일간 의존 관계를 형성하는 심볼을 기반으로 의존성 정보를 생성한다. 의존성 정보는 소스 파일간의 의존 관계에 대한 정보를 나타내며, 그래프, 도표, 다이어그램, 텍스트 등의 형태로 사용자에게 제공될 수 있다. 의존성 정보 생성부(215)는 분석부(220), 추출부(230), 및 생성부(240)를 포함한다. 이하, 의존성 정보 생성부(215)를 구성하는 구성요소의 세부 내용을 설명하기로 한다.
분석부(220)는 목적 파일에 포함된 심볼을 이용하여 소스 파일간 의존 관계를 분석한다. 상기 심볼(symbol)은 예를 들어 함수, 상수, 변수 등의 형태로서 크게 익스포트(exported) 심볼과 임포트(imported) 심볼로 나눌 수 있다. 임포트 심볼은 목적 파일(예를 들어 목적 파일 A)에 정의되지 않은 심볼을 의미하며, 익스포트 심볼은 외부로 서비스하는 심볼로서 목적 파일 A내에 정의된 심볼을 의미한다. 따라서, 목적 파일 A는 자신이 사용하기만 하고 정의하지 않은 심볼을 정의하고 있는 목적 파일 B에 대해 의존 관계를 갖게 된다. 이를 통해 레거시 소프트웨어의 소스 파일간 의존 관계를 파악할 수 있게 된다. 따라서, 소스 파일에 사용된 언어에 상관없이 컴파일을 통해 바이너리(binary) 코드로 변환된 목적 파일을 사용하여 소스 파일간 의존 관계를 파악할 수 있다. 이때, 분석부(220)는 Unix/Linux 운영 체제의 경우 ‘nm’ 또는 ‘objectdump’ 와 같은 분석 툴(tool)을 사용하여 소스 파일간 의존 관계를 분석할 수 있다.
추출부(230)는 목적 파일에서 소스 파일간의 의존 관계를 형성하는 심볼들을 추출한다. 추출부(230)는 소스 파일간의 의존 관계를 형성하지 않는 목적 파일내의 심볼을 외부 소스 파일을 참조하는 심볼로 판단하고 추출할 수 있다. 이를 통해 추출부(230)는 상대적으로 소스 파일간의 의존 관계를 형성하는 심볼들을 추출할 수 있게 된다. 외부 소스 파일은, 예를 들어 C 라이브러리 파일(library file)과 같이 소스 파일이 외부로부터 참조하는 파일로서 소스 파일간의 의존 관계를 형성하는 심볼외의 심볼이 참조하는 파일을 의미한다. 이때, 바람직하게는 목적 파일내의 심볼들을 따로 테이블로 형성하고, 해당 테이블에서 추출부(230)를 통해 외부 소스 파일을 참조하는 심볼을 추출할 수 있다. 따라서 이후, 재사용될 소스 파일들이 다른 외부 소스 파일과 무관하게 독립적으로 배포될 수 있다.
생성부(240)는 소스 파일간의 의존 관계를 형성하는 심볼을 기반으로 의존성 정보를 생성한다. 의존성 정보는 소스 파일간의 의존 관계에 대한 정보를 나타내며, 그래프, 도표, 다이어그램, 텍스트 등의 형태로 사용자에게 제공될 수 있다.
출력부(245)는 상기 생성된 의존성 정보를 화면에 출력한다. 출력부(245)는 그래프, 도표, 다이어그램, 텍스트 등의 형태로 의존성 정보를 출력할 수 있다. 예를 들어 그래프는 시각화되어 화면에 표현되므로, 사용자는 소스 파일간의 의존 관계를 시각적으로 확인할 수 있다. 또한 사용자는 그래프 형태뿐 아니라 텍스트 등 다양한 경로를 통해 상기 의존 관계를 확인할 수 있다.
입력부(250)는 상기 의존성 정보 중에서 소스 파일간의 의존 관계를 정의하는 인터페이스에 기술될 심볼을 입력받는다. 예를 들어 사용자는 의존성 정보를 나타내는 그래프에서 상기 인터페이스에 기술될 심볼을 선택하고, 입력부(250)는 선택된 심볼을 입력받는다.
기술부(260)는 입력받은 심볼을 인터페이스에 기술하여 소스 파일간의 의존 관계를 정의한다.
구현부(270)는 인터페이스에 정의된 소스 파일간의 의존 관계에 따라 컴포넌트를 구현한다. 예를 들어 소스 파일 A는 자신이 사용하기만 하고 정의하지 않은 심볼을 정의하고 있는 소스 파일 B에 대해 의존 관계를 갖게 된다. 따라서 소스 파일 A가 정상적으로 동작하기 위해서는 소스 파일 B가 필요하므로, 구현부(270)는 컴포넌트 구현시 소스 파일 B를 포함하게 된다.
검증부(280)는 소스 파일간의 의존 관계에 따라 컴포넌트가 구현되었는 지 여부를 검증한다. 검증부(280)는 인터페이스에 정의된 소스 파일간의 의존 관계를 조사하여 올바로 컴포넌트가 구현되었는 지 여부를 검증할 수 있다. 예를 들어 소스 파일 A가 소스 파일 B에 정의된 함수나 변수들(심볼)을 임포트하고 있다면, 소스 파일 A가 소스 파일 B를 의존하는 관계에 있게 된다. 따라서 검증부(280)는 소스 파일 A를 포함하고 있는 컴포넌트가 의존 관계에 따라 소스 파일 B를 포함하고 있는 지 여부를 검증하게 된다.
도 2에서 도시된 각각의 구성요소는 일종의 '모듈'로 구성될 수 있다. 상기 '모듈'은 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있 다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
이하 도 3에서는, 목적 파일을 이용한 컴포넌트 구현 과정을 각 단계별로 설명하기로 한다.
도 3은 상기 도 2를 이용하여 목적 파일을 이용하여 컴포넌트를 구현하는 순서도이다.
컴파일러부(210)는 레거시 소프트웨어의 소스 파일을 컴파일하여 목적 파일로 변환시킨다(S301).
분석부(220)는 목적 파일에 포함된 심볼을 이용하여 소스 파일간 의존 관계를 분석한다(S311).
추출부(230)는 소스 파일간의 의존 관계를 형성하는 심볼을 추출한다(S321).
생성부(240)는 추출된 심볼을 기반으로 소스 파일간의 의존 관계를 나타내는 의존성 정보를 생성한다(S331). 상기 생성된 의존성 정보는 출력부(245)를 통해 화면에 출력될 수 있다.
입력부(250)는 의존성 정보 중에서 소스 파일간의 의존 관계를 정의하는 인 터페이스에 기술될 심볼을 입력받는다(S341). 예를 들어 사용자는 의존성 정보를 나타내는 그래프에서 상기 인터페이스에 기술될 심볼을 선택하고, 입력부(250)는 선택된 심볼을 입력받는다.
기술부(260)는 입력받은 심볼을 인터페이스에 기술하여 소스 파일간의 의존 관계를 정의한다(S351).
구현부(270)는 인터페이스에 정의된 소스 파일간의 의존 관계에 따라 컴포넌트를 구현하고, 검증부(280)는 소스 파일간의 의존 관계에 따라 컴포넌트가 구현되었는 지 여부를 검증한다(S361).
도 4는 본 발명의 일 실시예에 따른 소스 파일간 의존 관계를 정의하는 인터페이스의 일 예를 도시한다.
‘KKK’란 이름의 인터페이스(402)가 복수개의 소스 파일간의 의존 관계에 대한 정의를 포함하고 있다. ‘KKK’ 인터페이스(402)에 포함된 소스 파일간의 의존 관계는 상기 S301 내지 S351단계를 통해 정의될 수 있다. ‘KKK’ 인터페이스(402)는 컴포넌트내에 포함될 수 있으며, 다른 외부 컴포넌트는 ‘KKK’ 인터페이스(402)를 통해 컴포넌트내의 소스 파일에 접근할 수 있다. 도시된 바와 같이, 인터페이스는 소스 파일 B에 정의된 함수(404) 및 소스 파일 C에 정의된 함수(406)를 임포트하고 있으며, 소스 파일 A에 정의된 함수(408)를 외부로 서비스하기 위해 정의하고 있다. 이때, 소스 파일 A가 상기 소스 파일 B 및 소스 파일 C에 정의된 함수(404, 406)을 필요로 한다고 하자. 따라서 컴포넌트를 구현하기 위해서는 소스 파일 B와 소스 파일 C를 필요로 한다. 또한 인터페이스는 컴포넌트내에 정의된 변 수(410)와 상수(412) 등을 외부로 서비스하기 위해 정의하고 있다.
도 5는 본 발명의 일 실시예에 따른 컴포넌트내 소스 파일간의 의존 관계를 도시한다.
도시된 바와 같이, 소스 파일 A(502)가 상기 소스 파일 B(504) 및 소스 파일 C(506)에 정의된 함수를 필요로 한다고 하자. 또한, 소스 파일 B(504)는 소스 파일 C(506)에 정의된 함수를 필요로 한다. 따라서 소스 파일 A(502)는 소스 파일 B(504) 및 소스 파일 C(506)에 대해 의존 관계를 갖고, 소스 파일 B(504)는 소스 파일 C(506)에 대해 의존 관계를 갖는다. 구현부(270)는 세 파일(502, 504, 506)이 서로 의존 관계에 있으므로, 모두 포함하여 컴포넌트(500)를 구현한다. 이때, 소스 파일 간의 의존 관계는 상기 도 4와 같이 인터페이스내에 정의되어 있다. 또한, 검증부(280)는 예를 들어 소스 파일 A(502)가 소스 파일 B(504) 및 소스 파일 C(506)에 정의된 함수를 의존하고 있으므로, 소스 파일 A(502)가 필요로 함수를 실제로 소스 파일 B(504) 및 소스 파일 C(506)가 정의하고 있는 지 여부를 검증한다. 이를 통해, 검증부(280)는 소스 파일간의 의존 관계에 따라 컴포넌트가 구현되었는 지 여부를 검증할 수 있다. 이때, 검증부(280)는 인터페이스내에 정의된 소스 파일간의 의존 관계를 조사하여 올바로 컴포넌트가 구현되었는 지 여부를 검증할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
상기한 바와 같은 본 발명의 목적 파일을 이용한 컴포넌트 구현 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
첫째, 사용자가 시각화된 소스 파일간의 의존 관계를 보고 간편하게 독립적인 기능을 수행할 컴포넌트를 구현할 수 있는 장점이 있다.
둘째, 사용자가 소스 파일이 사용하고 있는 언어에 상관없이 보다 정확하게 소스 파일간의 의존 관계에 대한 정보를 얻어 컴포넌트화 시킬 수 있는 장점도 있다.

Claims (5)

  1. 다수의 소스 파일들을 컴파일하여 그에 상응하는 다수의 목적 파일들로 변환시키는 컴파일러부;
    상기 다수의 목적 파일들에 포함된 각 심볼을 이용하여 상기 다수의 소스 파일들간 의존 관계를 분석하고 상기 다수의 소스 파일들간 의존 관계를 형성하는 심볼을 추출하여, 상기 추출된 심볼을 기반으로 의존성 정보를 생성하는 의존성 정보 생성부;
    상기 의존성 정보를 이용하여 소정의 심볼을 소정의 소프트웨어 인터페이스에 기술하여 상기 다수의 소스 파일들 간의 의존 관계를 정의하는 기술부;
    상기 소정의 소프트웨어 인터페이스에 정의된 상기 다수의 소스 파일들 간의 의존 관계에 따라 컴포넌트를 구현하는 구현부를 포함하는, 다수의 목적 파일들을 이용한 컴포넌트 구현 장치.
  2. 제 1항에 있어서,
    상기 의존성 정보를 그래프, 도표, 다이어그램, 및 텍스트 중 적어도 어느 하나의 형태로 출력하는 출력부; 및
    상기 출력된 의존성 정보를 이용하여 상기 소정의 소프트웨어 인터페이스에 기술될 심볼을 입력받는 입력부를 더 포함하는, 다수의 목적 파일들을 이용한 컴포넌트 구현 장치.
  3. 다수의 소스 파일들을 컴파일하여 그에 상응하는 다수의 목적 파일들로 변환시키는 단계;
    상기 다수의 목적 파일들에 포함된 각 심볼을 이용하여 상기 다수의 소스 파일들간 의존 관계를 분석하고 상기 다수의 소스 파일들간 의존 관계를 형성하는 심볼을 추출하여, 상기 추출된 심볼을 기반으로 의존성 정보를 생성하는 단계;
    상기 의존성 정보를 이용하여 소정의 심볼을 소정의 소프트웨어 인터페이스에 기술하여 상기 다수의 소스 파일들 간의 의존 관계를 정의하는 단계;
    상기 소정의 소프트웨어 인터페이스에 정의된 상기 다수의 소스 파일들 간의 의존 관계에 따라 컴포넌트를 구현하는 단계를 포함하는, 다수의 목적 파일들을 이용한 컴포넌트 구현 방법.
  4. 제 3항에 있어서,
    상기 의존성 정보를 화면에 출력하는 단계; 및
    상기 출력된 의존성 정보를 이용하여 상기 소정의 소프트웨어 인터페이스에 기술될 심볼을 입력받는 단계를 더 포함하는, 다수의 목적 파일들을 이용한 컴포넌트 구현 방법.
  5. 제 4항에 있어서,
    상기 의존성 정보는,
    그래프, 도표, 다이어그램, 및 텍스트 중 적어도 어느 하나의 형태로 출력되는, 다수의 목적 파일들을 이용한 컴포넌트 구현 방법.
KR1020060075829A 2006-08-10 2006-08-10 목적 파일을 이용한 컴포넌트 구현 장치 및 방법 KR100834759B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060075829A KR100834759B1 (ko) 2006-08-10 2006-08-10 목적 파일을 이용한 컴포넌트 구현 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060075829A KR100834759B1 (ko) 2006-08-10 2006-08-10 목적 파일을 이용한 컴포넌트 구현 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080014309A KR20080014309A (ko) 2008-02-14
KR100834759B1 true KR100834759B1 (ko) 2008-06-05

Family

ID=39341623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060075829A KR100834759B1 (ko) 2006-08-10 2006-08-10 목적 파일을 이용한 컴포넌트 구현 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100834759B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101461183B1 (ko) * 2013-09-23 2014-11-28 장우용 디지털 콘텐트 생성 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315159A (ja) 1999-04-30 2000-11-14 Nec Corp オブジェクト生成装置およびオブジェクト生成方法
KR20040052886A (ko) * 2004-05-12 2004-06-23 허세진 정보 처리 방법, 프로그램, 매채, 장치
KR20070024760A (ko) * 2005-08-23 2007-03-08 한국방송공사 데이터 방송 애플리케이션 저작 시스템 및 그 방법,저작툴, 컴포넌트 개발 에디터, 컴포넌트 생성방법 및 방법프로그램을 기록한 저장매체
JP2007080207A (ja) 2005-09-16 2007-03-29 Ricoh Co Ltd プログラム開発支援システム及びリンカ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000315159A (ja) 1999-04-30 2000-11-14 Nec Corp オブジェクト生成装置およびオブジェクト生成方法
KR20040052886A (ko) * 2004-05-12 2004-06-23 허세진 정보 처리 방법, 프로그램, 매채, 장치
KR20070024760A (ko) * 2005-08-23 2007-03-08 한국방송공사 데이터 방송 애플리케이션 저작 시스템 및 그 방법,저작툴, 컴포넌트 개발 에디터, 컴포넌트 생성방법 및 방법프로그램을 기록한 저장매체
JP2007080207A (ja) 2005-09-16 2007-03-29 Ricoh Co Ltd プログラム開発支援システム及びリンカ

Also Published As

Publication number Publication date
KR20080014309A (ko) 2008-02-14

Similar Documents

Publication Publication Date Title
US7954059B2 (en) Automatic conversion of text-based code having function overloading and dynamic types into a graphical program for compiled execution
Binkley et al. ORBS: Language-independent program slicing
US7975233B2 (en) Automatic conversion of a textual language into a graphical program representation
Schätz et al. Model-based development of embedded systems
KR100501410B1 (ko) 서블릿 프로그램의 재사용 가능한 비즈니스 로직으로부터이제이비 컴포넌트를 생성하는 시스템 및 방법
US9081586B2 (en) Systems and methods for customizing optimization/transformation/ processing strategies
JP2007515013A (ja) あらゆるソースプラットフォームからあらゆるターゲットプラットフォームへのソフトウェアコードのマイグレーション及び変換装置
KR101706425B1 (ko) 코드의 단위 테스트를 위한 장치 및 방법
EP1089172A2 (en) Compiler and method for compiling specification language into implementation language
Hua et al. Sketchfix: a tool for automated program repair approach using lazy candidate generation
EP3244306B1 (en) A computer-implemented method for allowing modification of a region of original code
WO2016163901A1 (en) An apparatus for processing an abstract syntax tree being associated with a source code of a source program
CN111459786A (zh) 一种基于变异fuzz的智能合约安全测试方法
Heuzeroth et al. Generating design pattern detectors from pattern specifications
CN107622017B (zh) 一种通用自动化软件测试的解析方法
Palyart et al. MDE4HPC: an approach for using model-driven engineering in high-performance computing
Fischer et al. Abstract syntax trees-and their role in model driven software development
US20150020051A1 (en) Method and apparatus for automated conversion of software applications
KR100834759B1 (ko) 목적 파일을 이용한 컴포넌트 구현 장치 및 방법
CN107180193B (zh) 一种将程序代码转换成数据约束的方法和装置
Al-Kofahi et al. Escaping AutoHell: a vision for automated analysis and migration of autotools build systems
Kalinov et al. Using AËМ specification for automatic test suite generation for mpC parallel programming language compiler
Shokri A program synthesis approach for adding architectural tactics to an existing code base
KR100791303B1 (ko) 빌드 단위의 컴포넌트 생성 장치 및 방법
Abdelmalek et al. A Bimodal Approach for the Discovery of a View of the Implementation Platform of Legacy Object-Oriented Systems under Modernization Process.

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
LAPS Lapse due to unpaid annual fee