KR100871563B1 - 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법 - Google Patents

컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법 Download PDF

Info

Publication number
KR100871563B1
KR100871563B1 KR1020070015485A KR20070015485A KR100871563B1 KR 100871563 B1 KR100871563 B1 KR 100871563B1 KR 1020070015485 A KR1020070015485 A KR 1020070015485A KR 20070015485 A KR20070015485 A KR 20070015485A KR 100871563 B1 KR100871563 B1 KR 100871563B1
Authority
KR
South Korea
Prior art keywords
component
build
level component
level
language
Prior art date
Application number
KR1020070015485A
Other languages
English (en)
Other versions
KR20080076058A (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 KR1020070015485A priority Critical patent/KR100871563B1/ko
Priority to US11/848,647 priority patent/US20080196004A1/en
Publication of KR20080076058A publication Critical patent/KR20080076058A/ko
Application granted granted Critical
Publication of KR100871563B1 publication Critical patent/KR100871563B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법에 관한 것으로서, 더욱 상세하게는 식별된 컴포넌트를 컴포넌트 표현 언어로 정의하고 재사용하기 위한 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 컴포넌트 기반의 소프트웨어 개발을 위한 장치는, 소스 코드와 빌드 파일을 분석하여 빌드 레벨 컴포넌트와 기능 레벨 컴포넌트로 분리하는 컴포넌트 분리 모듈, 상기 빌드 레벨 컴포넌트, 상기 기능 레벨 컴포넌트 및 상기 기능 레벨 컴포넌트의 인터페이스를 정의하는 언어의 무결성을 검사하는 무결성 검사 모듈, 및 적어도 하나의 상기 기능 레벨 컴포넌트로 이루어지는 아키텍쳐에서 각 기능 레벨 컴포넌트에 대응하는 상기 빌드 레벨 컴포넌트를 결합하는 컴포넌트 결합 모듈을 포함한다.
컴포넌트, 소프트웨어, 빌드 레벨 컴포넌트, 기능 레벨 컴포넌트

Description

컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법{Apparatus and method for developing software based on component}
도 1은 종래의 기술에 따른 소프트웨어 개발 방법이 도시된 순서도.
도 2는 본 발명의 실시예에 따른 컴포넌트 기반의 소프트웨어 개발을 위한 장치가 도시된 블록도.
도 3은 본 발명의 실시예에 따른 빌드 레벨 컴포넌트를 정의하는 BCDL이 도시된 도면.
도 4는 본 발명의 실시예에 따른 기능 레벨 컴포넌트를 정의하는 CDL이 도시된 도면.
도 5는 본 발명의 실시예에 따른 기능 레벨 컴포넌트의 인터페이스를 정의하는 IDL이 도시된 도면.
도 6은 본 발명의 실시예에 따른 인터페이스의 속성이 제공인 경우, IDL과 소스코드간에 발생된 오류가 도시된 개략도.
도 7은 본 발명의 실시예에 따른 인터페이스의 속성이 요구인 겨웅, IDL과 소스코드간에 발생된 오류가 도시된 개략도.
도 8은 본 발명의 실시예에 따른 합성 기능 레벨 컴포넌트를 정의하는 CDL이 도시된 도면.
도 9는 본 발명의 실시예에 따른 합성 빌드 레벨 컴포넌트를 정의하는 BCDL이 도시된 도면.
도 10은 본 발명의 실시예에 따른 기능 레벨 컴포넌트를 생성하는 방법이 도시된 순서도.
도 11은 본 발명의 실시예에 따른 빌드 레벨 컴포넌트를 생성하는 방법이 도시된 순서도.
도 12는 본 발명의 실시예에 따른 합성 컴포넌트를 생성하는 방법이 도시된 순서도.
<도면의 주요 부분에 관한 부호의 설명>
111: 컴포넌트 분리 모듈 112: 언어 생성 모듈
113: 무결성 검사 모듈 114: 헤더 파일 생성 모듈
115: 빌드 스크립트 생성 모듈 116: 저장 모듈
117: 컴포넌트 결합 모듈
본 발명은 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법에 관한 것으로서, 더욱 상세하게는 식별된 컴포넌트를 컴포넌트 표현 언어로 정의하고 재사용하기 위한 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법에 관한 것이다.
디지털 컨버전스 제품의 등장으로 CE(Consumer Electronics) 제품들이 다양화되고 내장된 소프트웨어의 용량이 급격하게 증가하는 추세이다. 컨버전스 제품의 특징은 동일 기능의 소프트웨어가 약간의 변화를 거쳐 다양한 제품에 사용될 수 있다는 점이다. 통상적으로 CE 제품을 구성하는 소프트웨어는 많은 부분이 기존 제품의 소스와 동일하다. 따라서, 기존에 개발된 소프트웨어를 최대한 재활용하고 새롭게 추가된 기능만을 개발한다면 소프트웨어의 개발 시간 및 비용 측면에서 매우 큰 이득을 가져오게 된다.
도 1은 종래의 기술에 따른 소프트웨어 개발 방법이 도시된 순서도이다.
도시된 바와 같이, 종래의 기술에 따른 소프트웨어 개발 방법은, 먼저 의뢰인의 요구 사항으로부터 소프트웨어의 요구 모델을 정의하고(S11), 정의된 요구 모델을 바탕으로 소프트웨어의 기능을 컴포넌트들의 관계로 표현하여 소프트웨어의 구조를 설계한다(S12).
이후, 소프트웨어 구조를 바탕으로 컴포넌트를 세분화하고 그 기능을 상세하게 명시한다(S13).
상세 설계를 입력으로 어플리케이션이 구동될 타겟 플랫폼(Platform)을 지정하여 코드를 생성하고(S14), 생성된 코드를 빌드하여 어플리케이션을 생성하게 된다(S15).
이러한 종래의 기술에 따른 소프트웨어 개발 방법은, 객체 지향 모델로부터 소스를 생성하기 때문에 객체 지향 개념 없이 개발된 소프트웨어는 적용이 불가능하고, 하향식만을 지원하기 때문에 기존의 소스를 컴포넌트로 변경하는 상향식 개 발에서 유용한 무결성 검사 기능을 제공하지 않는다.
한편, 마이크로 소프트사에 의해 제안된 COM(Component Object Model) 컴포넌트 모델은 바이너리 컴포넌트마을 지원하며 윈도우 기반의 운영체제에서만 동작하기 때문에 다양한 플랫폼을 지원하는 CE 환경에는 맞지 않는다. 또한, KOALA는 필립스사에서 개발된 컴포넌트 모델로서, CE 소프트웨어를 위한 모델이지만, 함수 이름에 제약이 있기 때문에 기존의 소스 코드를 재활용하기 위해서는 기존 코드를 모델에 맞게 수정해야 한다.
한국 공개 특허 2003-0021554는 리파지토리 기반의 응용프로그램을 컴포넌트화하여 관리 및 재사용하고, 지리적으로 분산되어 있는 개발자간의 협력 개발을 가능하도록 할 수 있는 응용프로그램 구축 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 개시하고 있으나, 소스 형태의 컴포넌트를 지원하는 컴포넌트 모델을 이용하여 다양한 플랫폼에 적용하고, 상향식 개발에서의 무결성 검사 기능에 대해서는 제안되고 있지 않다.
본 발명은 컴포넌트를 논리적인 기능 및 물리적인 기능을 분리하여 관리함으로써, 컴포넌트를 다양한 환경에 쉽게 이식할 수 있는 컴포넌트 기반의 소프트웨어를 개발하기 위한 장치 및 방법을 제공하는데 그 목적이 있다.
또한, 본 발명은 컴포넌트 생성 과정에서 컴포넌트의 무결성을 검사하여 컴포넌트 결합 과정에서 발생하는 오류를 사전에 검사하여 안정된 소프트웨어를 개발할 수 있는 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 컴포넌트 기반의 소프트웨어를 개발하기 위한 장치는, 소스 코드와 빌드 파일을 분석하여 빌드 레벨 컴포넌트와 기능 레벨 컴포넌트로 분리하는 컴포넌트 분리 모듈, 상기 빌드 레벨 컴포넌트, 상기 기능 레벨 컴포넌트 및 상기 기능 레벨 컴포넌트의 인터페이스를 정의하는 언어의 무결성을 검사하는 무결성 검사 모듈, 및 적어도 하나의 상기 기능 레벨 컴포넌트로 이루어지는 아키텍쳐에서 각 기능 레벨 컴포넌트에 대응하는 상기 빌드 레벨 컴포넌트를 결합하는 컴포넌트 결합 모듈을 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 컴포넌트 기반의 소프트웨어를 개발하기 위한 방법은, 소스 코드와 빌드 파일을 분석하여 빌드 레벨 컴포넌트와 기능 레벨 컴포넌트로 분리하는 단계, 상기 빌드 레벨 컴포넌트, 상기 기능 레벨 컴포넌트 및 상기 기능 레벨 컴포넌트의 인터페이스를 정의하는 언어의 무결성을 검사하는 단계, 및 적어도 하나의 상기 기능 레벨 컴포넌트로 이루어지는 아키텍쳐에서 각 기능 레벨 컴포넌트에 대응하는 상기 빌드 레벨 컴포넌트를 결합하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있 다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션 들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 2는 본 발명의 실시예에 따른 컴포넌트 기반의 소프트웨어 개발을 위한 장치가 도시된 블록도이다.
도시된 바와 같이, 본 발명의 실시예에 따른 컴포넌트 기반의 소프트웨어 개발을 위한 장치(100)는, 컴포넌트 분리 모듈(111), 언어 생성 모듈(112), 무결성 검사 모듈(113), 헤더 파일 생성 모듈(114), 빌드 스크립트 생성 모듈(115), 저장 모듈(116) 및 컴포넌트 결합 모듈(117)을 포함할 수 있다.
컴포넌트 분리 모듈(111)는 소스 코드와 빌드 파일을 분석하여 이를 빌드 레 벨 컴포넌트(Build-level Component)와 기능 레벨 컴포넌트(Functional-level Component)로 분리할 수 있다.
본 발명의 실시예에서 빌드 레벨 컴포넌트는, 컴포넌트를 구성하는 소스 파일(Source File)과 라이브러리(Library), 그리고 이들을 다양한 설정으로 빌드하는데 필요한 빌드 스크립트(Build Script) 등을 포함하는 물리적으로 표현된 소프트웨어 컴포넌트로 설정을 쉽게 적용하고, 빌드할 수 있도록 설정 인터페이스(Configuration Interface)와 빌드 인터페이스(Build Interface)를 제공할 수 있다. 이때, 설정 인터페이스는 빌드 레벨 컴포넌트의 설정을 변경시킬 수 있도록 하는 것으로, 가변 파라미터의 값을 설정하여 빌드 타임에 컴포넌트의 구성을 변경할 수 있다. 또한, 빌드 인터페이스는 컴포넌트의 빌드 액션(Build Action)을 실행시킬 수 있는 역할을 수행할 수 있다. 이때, 빌드 액션은 빌드 스크립트 파일에 기술되어 있는 타겟명을 의미하며, all, clean, install 등으로 이해될 수 있다.
한편, 기능 레벨 컴포넌트는 컴포넌트의 논리적인 기능을 표현하는 소프트웨어 컴포넌트로, 논리적 기능의 제공 단위인 다수의 인터페이스를 제공할 수 있다. 동일한 논리적 기능은 여러 가지 알고리즘을 통해 구현하는 것이 가능하기 때문에 하나의 기능 레벨 컴포넌트는 여러 개의 빌드 레벨 컴포넌트로 구현될 수 있으며, 빌드 레벨 컴포넌트는 소트 코드에 정의된 빌드 단위로 구성되기 때문에 하나의 빌드 레벨 컴포넌트는 여러 개의 기능 레벨 컴포넌트로 구현될 수도 있다.
언어 생성 모듈(112)는 분리된 빌드 레벨 컴포넌트와 기능 레벨 컴포넌트 및 기능 레벨 컴포넌트의 인터페이스를 정의하는 언어를 생성할 수 있다.
본 발명의 실시예에서 언어 생성 모듈(112)는 도 3과 같이, 빌드 레벨 컴포넌트를 정의하는 언어로 BCDL(Build-Level Component Definition Language)를 이용하며, BCDL은 빌드 레벨 컴포넌트의 ID, 이름, 속성, 버전 등과 소스 코드를 컴포넌트화하고 빌드하기 위해 필요한 설정 인터페이스, 빌드 인터페이스, 소스 트리, 라이브러리 등을 기술하는 언어이다. 또한, 언어 생성 모듈(112)는 도 4와 같이, 기능 레벨 컴포넌트를 정의하는 언어로 CDL(Component Definition Language)를 이용하며, CDL은 기능 레벨 컴포넌트의 ID, 이름 등과 해당 컴포넌트가 요구 또는 제공하는 인터페이스들을 기술하는 언어이다. 그리고, 언어 생성 모듈(112)는, 도 5와 같이 기능 레벨 컴포넌트가 요구 또는 제공하는 인터페이스를 정의하는 언어로 IDL(Interface Definition Language)를 이용하며, IDL은 인터페이스가 포함하는 기능 수행 단위인 함수와 전역 변수 등을 기술하는 언어이다.
무결성 검사 모듈(113)은 언어 생성 모듈(112)에 의해 생성된 BCDL, CDL 및 IDL의 무결성을 검사할 수 있다. 예를 들어, IDL 의 경우, 도 6과 같이 인터페이스의 속성이 제공인 경우 IDL이 소스 코드에 구현되지 않은 인터페이스를 명시하는 경우 오류를 발생시키고, 도 7와 같이 인터페이스의 속성인 요구인 경우 소스 코드가 IDL에 명시되지 않은 심벌을 사용하면 오류를 발생시킬 수 있다.
한편, 무결성 검사 모듈(113)은 무결성 검사와 더불어 호환성 검사 및 심볼 이름 충돌 검사 등을 수행할 수 있다. 호환성이란, 컴포넌트간에 서로 바꾸어 사용할 수 있는지 또는 인터페이스 간에 연결이 가능한지를 검사하는 것이며, 심볼 이름 충돌 검사는 후술할 합성 컴포넌트를 구성하는 컴포넌트 간에 동일한 심볼 이름 을 가진 인터페이스가 존재하는지를 검사하는 것이다.
헤더 파일 생성 모듈(114)은 전술한 CDL 및 IDL을 이용하여 헤더 파일을 생성할 수 있으며, 빌드 스크립트 생성 모듈(115)는 전술한 BCDL을 이용하여 빌드 레벨 컴포넌트를 빌드할 수 있는 래퍼 빌드 스크립트 파일(Wrapper Build Script File)을 생성할 수 있다. 래퍼 빌드 스크립트 파일은, 기존의 C나 C++ 등의 소스 코드에 존재하는 빌드 스크립트 파일을 재활용하기 위한 것으로 기존의 빌드 스크립트는 그대로 유지한 채 컴포넌트화된 빌드 레벨 컴포넌트를 빌드할 수 있도록 활용되는 것이다.
빌드 스크립트 생성 모듈(115)는 빌드 레벨 컴포넌트에 다양한 설정을 적용하여 래퍼 빌드 스크립트 파일을 이용하여 빌드 테스트를 수행할 수 있다. 이러한 테스트를 통과한 컴포넌트는 패키지화되어 저장 모듈(116)에 저장될 수 있다.
컴포넌트 결합 모듈(117)은 저장 모듈(116)에 저장된 빌드 레벨 컴포넌트 및 기능 레벨 컴포넌트를 이용하여 적어도 하나의 기능 레벨 컴포넌트로 이루어지는 합성 기능 레벨 컴포넌트에 적어도 하나의 빌드 레벨 컴포넌트로 이루어지는 합성 빌드 레벨 컴포넌트를 결합할 수 있다. 본 발명의 실시예에서는 합성 기능 레벨 컴포넌트를 기반으로 합성 빌드 레벨 컴포넌트를 결합하는 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않는다.
컴포넌트 결합 모듈(117)는 새로운 컴포넌트를 구현하는데 필요한 적어도 하나의 기능 레벨 컴포넌트를 저장 모듈(116)로부터 추출할 수 있다. 또한, 컴포넌트 결합 모듈(117)는 추출된 적어도하나의 기능 레벨 컴포넌트의 의존성을 검사할 수 있다. 이때, 의존성 검사란, 추출한 기능 레벨 컴포넌트가 수행되기 위한 컴포넌트의 검사하는 것이다.
언어 생성 모듈(112)은 의존성 검사가 수행되면, 추출된 적어도 하나의 기능 레벨 컴포넌트를 명시하는 CDL을 생성하고, 컴포넌트 결합 모듈(117)은 무결성 검사 모듈(113)에 의해 무결성, 호환성 등이 검사되면, 합성 기능 레벨 컴포넌트를 생성할 수 있으며, 도 8은 생성된 합성 기능 레벨 컴포넌트를 정의하는 CDL이 도시된 일 예이다.
또한, 컴포넌트 결합 모듈(117)는 생성된 합성 기능 레벨 컴포넌트를 기반으로 합성 빌드 레벨 컴포넌트를 생성할 수 있다. 구체적으로, 컴포넌트 결합 모듈(117)은 합성 기능 레벨 컴포넌트를 이루는 각 기능 레벨 컴포넌트에 대응하는 빌드 레벨 컴포넌트를 저장 모듈(116)로부터 추출하여 합성 기능 레벨 컴포넌트를 이루는 각 기능 레벨 컴포넌트에 바인딩하고, 추출된 빌드 레벨 컴포넌의 의존성을 검사할 수 있다.
추출된 빌드 레벨 컴포넌트의 의존성 검사가 수행되면, 무결성 검사 모듈(112)은 추출된 빌드 레벨 컴포넌트의 무결성, 호환성 등을 검사하고, 컴포넌트 결합 모듈(117)은 합성 빌드 레벨 컴포넌트를 생성할 수 있으며, 도 9는 생성된 합성 빌드 레벨 컴포넌트를 정의하는 BCDL의 일 예이다. 이때, 컴포넌트 결합 모듈(117)은 생성된 합성 빌드 레벨 컴포넌트를 합성 기능 레벨 컴포넌트와 바인딩할 수 있다. 이때,
또한, 빌드 스크립트 생성 모듈(115)은 합성 빌드 레벨 컴포넌트를 위한 래 퍼 빌드 스크립트 파일을 생성하고, 다양한 설정을 적용하여 빌드 테스트를 수행할 수 있다.
이러한 빌드 테스트가 수행된 후, 컴포넌트 결합 모듈(117)은 합성 기능 레벨 컴포넌트와 합성 빌드 레벨 컴포넌트가 바인딩된 합성 컴포넌트를 패키징하여 저장 모듈(116)에 저장하거나 타겟 플랫폼에서 사용될 실행 파일을 생성할 수 있다.
도 10은 본 발명의 실시예에 따른 기능 레벨 컴포넌트를 생성하는 방법이 도시된 순서도이다.
도시된 바와 같이, 먼저 컴포넌트 분리 모듈(111)이 소스 코드를 분석하여 심볼들을 추출하고(S110), 언어 생성 모듈(112)은 추출된 심볼로부터 IDL를 생성한다(S120).
무결성 검사 모듈(113)은 생성된 IDL의 무결성을 검사하고(S130), 새로 생성된 인터페이스 또는 기존에 등록되어 있는 인터페이스를 CDL에 기술한다(S140).
또한, 무결성 검사 모듈(113)은 CDL의 무결성을 검사하게 된다(S150).
도 11은 본 발명의 실시예에 따른 빌드 레벨 컴포넌트 생성 방법이 도시된 순서도이다.
도시된 바와 같이, 본 발명의 실시예에 따른 빌드 레벨 컴포넌트 생성 방법은, 먼저 소스 코드 분석 결과와 컴포넌트 분리 모듈(111)에 의해 분리된 빌드 액션, 설정 변수 등의 정보를 BCDL에 기술하여 빌드 레벨 컴포넌트가 생성된다(S210).
생성된 빌드 레벨 컴포넌트는 무결성 검사 모듈(113)에 의해 무결성이 검사되고(S220), 빌드 스크립트 생성 모듈(115)은 무결성 검사에 의해 검증된 BCDL을 기반으로 컴포넌트를 빌드할 수 있는 래퍼 빌드 스크립트 파일을 생성한다(S230).
빌드 스크립트 생성 모듈(115)은 BCDL에 기술된 설정 인터페이스를 기반으로 생성된 빌드 레벨 컴포넌트 다양한 설정값을 설정하고 빌드 테스트를 수행하여 빌드 레벨 컴포넌트를 검증한다(S240).
이후, 검증된 빌드 레벨 컴포넌트는 해당하는 기능 레벨 컴포넌트를 구현하는 관계가 있음을 명시하고 패키지를 생성하여 저장 모듈(116)에 저장된다(S250).
도 12는 본 발명의 실시예에 따른 합성 컴포넌트 생성 방법이 도시된 순서도이다.
도시된 바와 같이, 본 발명의 실시예에 따른 합성 컴포넌트 생성 방법은, 먼저 컴포넌트 결합 모듈(117)이 저장 모듈(116)로부터 새로운 합성 컴포넌트를 생성하는데 필요한 적어도 하나의 기능 레벨 컴포넌트를 추출한다(S310).
컴포넌트 결합 모듈(117)은 추출된 기능 레벨 컴포넌트의 의존성을 검사하게 된다(S320). 즉, 컴포넌트 결합 모듈(117)은 추출된 기능 레벨 컴포넌트가 수행되기 위해 의존하는 컴포넌트를 검사하는 것이다.
컴포넌트 결합 모듈(117)은 추출된 기능 레벨 컴포넌트를 결합하여 합성 기능 레벨 컴포넌트를 결합하고(S330), 언어 생성 모듈(112)은 생성된 결합된 기능 레벨 컴포넌트를 정의하는 CDL을 생성하게 된다(S340).
무결성 검사 모듈(113)은 생성된 CDL의 무결성 및 호환성을 검사하게 된 다(S350). 즉, 무결성 검사 모듈(113)은 각 기능 레벨 컴포넌트간의 결합이 올바른지를 검사하는 호환성 검사와 기능 레벨 컴포넌트를 구성하는 모든 인터페이스가 실제로 존재하는지를 검사하는 것이다.
이후, 컴포넌트 결합 모듈(117)은 무결성 및 호환성의 검사가 완료되면, 합성 기능 레벨 컴포넌트를 생성하게 된다(S360).
또한, 컴포넌트 결합 모듈(117)은 생성된 합성 기능 레벨 컴포넌트를 이루는 각 기능 레벨 컴포넌트에 대응하는 빌드 레벨 컴포넌트를 저장 모듈(116)로부터 추출하여 바인딩시키게 된다(S370).
이때, 컴포넌트 결합 모듈(117)은 추출된 빌드 레벨 컴포넌트의 의존성을 검사하여 오류가 없는 경우 합성 빌드 레벨 컴포넌트를 생성하게 된다(S380).
이후, 무결성 검사 모듈(113)은 생성된 합성 빌드 레벨 컴포넌트의 무결성을 검사하여 오류가 없는 경우 합성 기능 레벨 컴포넌트와 바인딩하게 된다(S390).
이때, 컴포넌트 결합 모듈(117)은 합성 기능 레벨 컴포넌트와 합성 빌드 레벨 컴포넌트의 바인딩시 심볼 이름이 충돌하는지를 검사하게 되고(S400), 빌드 스크립트 생성 모듈(115)은 빌드를 위한 래퍼 빌드 스크립트 파일을 생성하고 다양한 설정을 적용하여 빌드 테스트를 수행하게 된다(S410).
컴포넌트 결합 모듈(117)은 빌드 테스트를 수행한 후, 합성 기능 레벨 컴포넌트와 합성 빌드 레벨 컴포넌트로 이루어지는 합성 컴포넌트를 패키징하여 저장 모듈(116)에 저장하거나 타겟에서 사용될 실행 파일을 생성하게 된다(S420).
본 발명의 실시예에서 사용된 용어 중 '모듈'는 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 역할들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 모듈들에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다.
이상과 같이 본 발명에 따른 컴포넌트 기반의 소프트웨어를 개발하기 위한 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같은 본 발명의 컴포넌트 기반의 소프트웨어를 개발하기 위한 장치 및 방법에 따르면 다음과 같은 효과가 하나 혹은 그 이상 있다.
컴포넌트의 논리적인 기능은 기능 레벨 컴포넌트로 관리하고 빌드와 관련된 물리적인 기능은 빌드 레벨 컴포넌트로 관리하여 컴포넌트를 다양한 환경에서 쉽게 이식할 수 있는 효과가 있다.
또한, 합성 컴포넌트 생성 과정에서 무결성을 검사하기 때문에 컴포넌트의 정의에 기술된 내용과 실제 컴포넌트 구현 사이에서의 불일치를 제거할 수 있는 효과가 있다.

Claims (14)

  1. 소스 코드와 빌드 파일을 분석하여 빌드 레벨 컴포넌트와 기능 레벨 컴포넌트로 분리하는 컴포넌트 분리 모듈;
    상기 빌드 레벨 컴포넌트, 상기 기능 레벨 컴포넌트 및 상기 기능 레벨 컴포넌트의 인터페이스를 각각 정의하는 언어에 있어, 상기 언어에 기술된 인터페이스가 컴포넌트에 실제로 존재하는지를 검사하는 무결성 검사 모듈; 및
    적어도 하나의 상기 기능 레벨 컴포넌트로 이루어지는 아키텍쳐에서 각 기능 레벨 컴포넌트에 대응하는 상기 빌드 레벨 컴포넌트를 결합하는 컴포넌트 결합 모듈을 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 장치.
  2. 제 1 항에 있어서,
    상기 언어를 생성하는 언어 생성 모듈를 더 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 장치.
  3. 제 1 항에 있어서,
    상기 무결성 검사 모듈은, 상기 언어와 상기 소스 코드를 비교하여 상기 무결성을 검사하는 컴포넌트 기반의 소프트웨어 개발을 위한 장치.
  4. 제 2 항에 있어서,
    상기 기능 레벨 컴포넌트를 정의하는 언어 및 상기 기능 레벨 컴포넌트의 인터페이스를 정의하는 언어를 이용하여 헤더 파일을 생성하는 헤더 파일 생성 모듈;
    상기 빌드 레벨 컴포넌트를 정의하는 언어를 이용하여 빌드 스크립트 파일을 생성하는 빌드 스크립트 생성 모듈; 및
    상기 헤더 파일 및 상기 빌드 스크립트 파일을 저장하는 저장 모듈을 더 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 장치.
  5. 제 4 항에 있어서,
    상기 컴포넌트 결합 모듈은, 상기 저장 모듈로부터 소정의 아키텍쳐를 구성하기 위한 적어도 하나의 기능 레벨 컴포넌트를 추출하고,
    상기 추출된 기능 레벨에 대응하는 적어도 하나의 빌드 레벨 컴포넌트를 상기 저장 모듈로부터 추출하여 바인딩하는 컴포넌트 기반의 소프트웨어 개발을 위한 장치.
  6. 제 5 항에 있어서,
    상기 무결성 검사 모듈은, 상기 적어도 하나의 기능 레벨 컴포넌트로 이루어지는 합성 기능 레벨 컴포넌트, 및 상기 적어도 하나의 빌드 레벨 컴포넌트로 이루어지는 합성 빌드 레벨 컴포넌트의 무결성을 검사하는 컴포넌트 기반의 소프트웨어 개발을 위한 장치.
  7. 제 6 항에 있어서,
    상기 빌드 스크립트 생성 모듈은, 상기 합성 빌드 레벨 컴포넌트의 빌드를 위한 빌드 스크립트 파일을 생성하는 컴포넌트 기반의 소프트웨어 개발을 위한 장치.
  8. 소스 코드와 빌드 파일을 분석하여 빌드 레벨 컴포넌트와 기능 레벨 컴포넌트로 분리하는 단계;
    상기 빌드 레벨 컴포넌트, 상기 기능 레벨 컴포넌트 및 상기 기능 레벨 컴포넌트의 인터페이스를 각각 정의하는 언어에 있어, 상기 언어에 기술된 인터페이스가 컴포넌트에 실제 존재하는지를 검사하는 무결성을 검사하는 단계; 및
    적어도 하나의 상기 기능 레벨 컴포넌트로 이루어지는 아키텍쳐에서 각 기능 레벨 컴포넌트에 대응하는 상기 빌드 레벨 컴포넌트를 결합하는 단계를 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 방법.
  9. 제 8 항에 있어서,
    상기 언어를 생성하는 단계를 더 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 방법.
  10. 제 8 항에 있어서,
    상기 무결성을 검사하는 단계는, 상기 언어와 상기 소스 코드를 비교하여 상기 무결성을 검사하는 단계를 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 방법.
  11. 제 9 항에 있어서,
    상기 기능 레벨 컴포넌트를 정의하는 언어 및 상기 기능 레벨 컴포넌트의 인터페이스를 정의하는 언어를 이용하여 헤더 파일을 생성하는 단계;
    상기 빌드 레벨 컴포넌트를 정의하는 언어를 이용하여 빌드 스크립트 파일을 생성하는 단계; 및
    상기 헤더 파일 및 상기 빌드 스크립트 파일을 저장하는 단계를 더 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 방법.
  12. 제 11 항에 있어서,
    상기 컴포넌트를 결합하는 단계는, 소정의 아키텍쳐를 구성하기 위한 적어도 하나의 기능 레벨 컴포넌트를 추출하는 단계; 및
    상기 추출된 기능 레벨에 대응하는 적어도 하나의 빌드 레벨 컴포넌트를 추출하여 바인딩하는 단계를 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 방법.
  13. 제 12 항에 있어서,
    상기 무결성을 검사하는 단계는, 상기 적어도 하나의 기능 레벨 컴포넌트로 이루어지는 합성 기능 레벨 컴포넌트, 및 상기 적어도 하나의 빌드 레벨 컴포넌트로 이루어지는 합성 빌드 레벨 컴포넌트의 무결성을 검사하는 단계를 포함하는 컴 포넌트 기반의 소프트웨어 개발을 위한 방법.
  14. 제 13 항에 있어서,
    상기 빌드 스크립트 파일을 생성하는 단계는, 상기 합성 빌드 레벨 컴포넌트의 빌드를 위한 빌드 스크립트 파일을 생성하는 단계를 포함하는 컴포넌트 기반의 소프트웨어 개발을 위한 방법.
KR1020070015485A 2007-02-14 2007-02-14 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법 KR100871563B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070015485A KR100871563B1 (ko) 2007-02-14 2007-02-14 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법
US11/848,647 US20080196004A1 (en) 2007-02-14 2007-08-31 Apparatus and method for developing component-based software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070015485A KR100871563B1 (ko) 2007-02-14 2007-02-14 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080076058A KR20080076058A (ko) 2008-08-20
KR100871563B1 true KR100871563B1 (ko) 2008-12-02

Family

ID=39686955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070015485A KR100871563B1 (ko) 2007-02-14 2007-02-14 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US20080196004A1 (ko)
KR (1) KR100871563B1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266588B2 (en) * 2007-11-12 2012-09-11 International Business Machines Corporation Creating projects in a rational application developer workspace
US8429604B1 (en) * 2008-05-05 2013-04-23 Adobe Systems Incorporated System and method for extracting behavioral code from a software code file
US8060861B2 (en) * 2009-07-27 2011-11-15 Charles Swires Tool to generate active page interface instructions
US20110041118A1 (en) * 2009-08-11 2011-02-17 Sony Corporation Menu driven component based build system
US8549467B2 (en) * 2009-12-16 2013-10-01 International Business Machines Corporation Integrating software components in a software system using configurable glue component models
KR101324521B1 (ko) * 2011-11-18 2013-11-01 포항공과대학교 산학협력단 어플리케이션 환경구성 시스템
KR102013704B1 (ko) * 2012-11-26 2019-08-23 한국전자통신연구원 로봇용 소프트웨어 컴포넌트 조합 장치 및 방법
KR20140073046A (ko) * 2012-12-06 2014-06-16 인포뱅크 주식회사 컴포넌트 디스플레이 방법 및 그 장치
US20170131980A1 (en) * 2015-11-06 2017-05-11 rift.IO, Inc. Model driven architecture for network management and configuration
US10754761B2 (en) * 2016-11-11 2020-08-25 Atlassian Pty Ltd Systems and methods for testing source code
US20200110584A1 (en) * 2018-10-04 2020-04-09 Electronic Arts Inc. Automated code generation for functional testing of software applications
KR102158687B1 (ko) * 2018-12-28 2020-09-22 아주대학교 산학협력단 FBF(Function Block Feature)를 이용하여 AUTOSAR의 VFB를 설계하는 방법 및 장치
CN110213078A (zh) * 2019-04-26 2019-09-06 深圳市珍爱云信息技术有限公司 业务平台搭建方法、装置、计算机设备和存储介质
KR102275763B1 (ko) * 2021-01-14 2021-07-09 주식회사 누리콘 딥러닝 모델로부터 딥러닝 어플리케이션을 자동으로 생성하는 방법 및 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001048625A1 (en) 1999-12-29 2001-07-05 Baker Hughes Incorporated Method of and system for designing an n-tier software architecture for use in generating software components
US6487713B1 (en) * 1999-09-24 2002-11-26 Phoenix Technologies Ltd. Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation
KR20030050621A (ko) * 2001-12-19 2003-06-25 한국전자통신연구원 절차 지향 프로그램을 컴포넌트 기반의 시스템으로래핑하기 위한 방법 및 그 장치
KR20030059504A (ko) * 2001-12-29 2003-07-10 한국전자통신연구원 컴포넌트 자동 변환 시스템 및 방법
US20050278579A1 (en) * 2001-12-13 2005-12-15 Microsoft Corporation System and method for building a run-time image from components of a software program
KR20060074676A (ko) * 2004-12-28 2006-07-03 (주)나인트론 개발도구의 객체메서드 자동생성방법및 시스템

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4951192A (en) * 1987-06-04 1990-08-21 Apollo Computer, Inc. Device for managing software configurations in parallel in a network
US5325533A (en) * 1993-06-28 1994-06-28 Taligent, Inc. Engineering system for modeling computer programs
US5519866A (en) * 1993-06-28 1996-05-21 Taligent, Inc. Method and apparatus of incrementally linking components of a modeled computer program
US5758160A (en) * 1993-06-28 1998-05-26 Object Technology Licensing Corporation Method and apparatus for building a software program using dependencies derived from software component interfaces
GB9316948D0 (en) * 1993-08-14 1993-09-29 Ibm Programming aid for distributed computing systems
JPH09134282A (ja) * 1995-11-08 1997-05-20 Hitachi Ltd プログラム作成方法
US5956479A (en) * 1995-11-13 1999-09-21 Object Technology Licensing Corporation Demand based generation of symbolic information
JP3763937B2 (ja) * 1996-06-28 2006-04-05 富士通株式会社 オブジェクト指向プログラミング装置、およびオブジェクト結合プログラム記憶媒体
US5995100A (en) * 1997-01-07 1999-11-30 Ncr Corporation Method of automatically generating custom controls for selected modules in a library
US6212673B1 (en) * 1997-03-31 2001-04-03 International Business Machines Corporation Component-neutral builder interface
US6028998A (en) * 1998-04-03 2000-02-22 Johnson Service Company Application framework for constructing building automation systems
US6167563A (en) * 1998-09-17 2000-12-26 Unisys Corporation Method and system for building components in a framework useful in developing integrated business-centric applications
US6167564A (en) * 1998-09-17 2000-12-26 Unisys Corp. Software system development framework
US7152228B2 (en) * 1999-07-08 2006-12-19 Science Applications International Corporation Automatically generated objects within extensible object frameworks and links to enterprise resources
US6571232B1 (en) * 1999-11-01 2003-05-27 Sun Microsystems, Inc. System and method for browsing database schema information
US6560776B1 (en) * 2000-02-18 2003-05-06 Avaya Technology Corp. Software installation verification tool
US6631519B1 (en) * 2000-03-30 2003-10-07 Microsoft Corporation Automated schema and interface generation
US6681383B1 (en) * 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US7150010B1 (en) * 2000-07-06 2006-12-12 Microsoft Corporation Unification of a programming language and a definition language
US6934709B2 (en) * 2001-03-26 2005-08-23 Matrixone, Inc. Interface definition language compiler
US7155702B2 (en) * 2001-09-13 2006-12-26 Axalto Sa Interface and stub generation for code distribution and synthesis
US7353502B2 (en) * 2002-07-03 2008-04-01 The Mathworks, Inc. System and method for creation of software components
US6904591B2 (en) * 2002-11-01 2005-06-07 Oz Development, Inc. Software development system for editable executables
CN1313925C (zh) * 2002-12-31 2007-05-02 上海科泰世纪科技有限公司 构件自描述封装方法及运行的方法
US7620958B2 (en) * 2003-06-30 2009-11-17 Microsoft Corporation Transaction interoperability using host-initiated processing
US7437712B1 (en) * 2004-01-22 2008-10-14 Sprint Communications Company L.P. Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved
US8166483B2 (en) * 2004-08-06 2012-04-24 Rabih Chrabieh Method and apparatus for implementing priority management of computer operations
US7475391B2 (en) * 2004-10-07 2009-01-06 International Business Machines Corporation System and method for revealing remote object status in an integrated development environment
US7533373B2 (en) * 2005-01-25 2009-05-12 Taiwan Semiconductor Manufacturing Co., Ltd Method for prevention of system execution malfunction
US7640533B1 (en) * 2005-03-30 2009-12-29 Emc Corporation System and methods for defining a software build
US20060236310A1 (en) * 2005-04-19 2006-10-19 Domeika Max J Methods and apparatus to iteratively compile software to meet user-defined criteria
EP1875342B1 (en) * 2005-04-21 2018-12-19 Alstom Ferroviaria S.P.A. Control system for railway signalling networks
US7483825B2 (en) * 2005-09-12 2009-01-27 International Business Machines Corporation Method for the creation of a hybrid cycle simulation model
JP2007265089A (ja) * 2006-03-29 2007-10-11 Fujitsu Ltd ソフトウェア保守支援プログラム,処理方法および装置
US8458661B2 (en) * 2006-03-31 2013-06-04 Ebay Inc. Distributed parallel build system
KR20080018011A (ko) * 2006-08-23 2008-02-27 삼성전자주식회사 컴포넌트 구현 장치 및 방법, 컴포넌트 검증 장치 및 방법
US8010803B2 (en) * 2006-10-12 2011-08-30 Black Duck Software, Inc. Methods and apparatus for automated export compliance
US8032877B2 (en) * 2006-10-20 2011-10-04 International Business Machines Corporation Compiler neutral linking solution for C++ code

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487713B1 (en) * 1999-09-24 2002-11-26 Phoenix Technologies Ltd. Software development system that presents a logical view of project components, facilitates their selection, and signals missing links prior to compilation
WO2001048625A1 (en) 1999-12-29 2001-07-05 Baker Hughes Incorporated Method of and system for designing an n-tier software architecture for use in generating software components
US20050278579A1 (en) * 2001-12-13 2005-12-15 Microsoft Corporation System and method for building a run-time image from components of a software program
KR20030050621A (ko) * 2001-12-19 2003-06-25 한국전자통신연구원 절차 지향 프로그램을 컴포넌트 기반의 시스템으로래핑하기 위한 방법 및 그 장치
KR20030059504A (ko) * 2001-12-29 2003-07-10 한국전자통신연구원 컴포넌트 자동 변환 시스템 및 방법
KR20060074676A (ko) * 2004-12-28 2006-07-03 (주)나인트론 개발도구의 객체메서드 자동생성방법및 시스템

Also Published As

Publication number Publication date
KR20080076058A (ko) 2008-08-20
US20080196004A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
KR100871563B1 (ko) 컴포넌트 기반의 소프트웨어 개발을 위한 장치 및 방법
US10025696B2 (en) System and method for equivalence class analysis-based automated requirements-based test case generation
US20090210858A1 (en) Method and apparatus for generating virtual software platform based on component model and validating software platform architecture using the platform
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
US20160266952A1 (en) Automated Qualification of a Safety Critical System
US10733520B2 (en) Making a prediction regarding development of a software product
WO2009044971A1 (en) Method and system for determining interface compatibility based on component model
US20180025162A1 (en) Application program analysis apparatus and method
Oortwijn et al. Formal verification of an industrial safety-critical traffic tunnel control system
US20110047526A1 (en) Method and a system for transforming an object model
JP6169302B2 (ja) 仕様構成装置および方法
EP3608786B1 (en) Systems and methods of requirements chaining and applications thereof
JP2016031622A (ja) ソフトウェア検証システムおよび制御装置
JP2010267024A (ja) テストデータ生成方法及び装置及びプログラム
JP2008305079A (ja) 要求仕様自動検証方式
JP2009087353A (ja) 公開異種分散型アプリケーションから非公開同種非分散型アプリケーションを生成するシステム及び方法
JP6665576B2 (ja) 支援装置、支援方法及びプログラム
Degueule et al. Tooling support for variability and architectural patterns in systems engineering
JPWO2012049816A1 (ja) モデル検査装置、方法及びプログラム
US20100293018A1 (en) Test Model Abstraction For Testability in Product Line Engineering
KR101305706B1 (ko) 모델의 가변성 검증 방법 및 이를 위한 장치
US20170220450A1 (en) Analytic method and analyzing apparatus
Wimmer et al. Optimization techniques for BDD-based bisimulation computation
CN110569031B (zh) 编程实现方法和装置
Ajila et al. Using Model Transformation Semantics for Aspect Composition

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: 20121030

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131030

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141030

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20151029

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181120

Year of fee payment: 11