KR20100065046A - 임베디드 기반 시스템의 응용 시험 장치 및 방법 - Google Patents

임베디드 기반 시스템의 응용 시험 장치 및 방법 Download PDF

Info

Publication number
KR20100065046A
KR20100065046A KR1020090041124A KR20090041124A KR20100065046A KR 20100065046 A KR20100065046 A KR 20100065046A KR 1020090041124 A KR1020090041124 A KR 1020090041124A KR 20090041124 A KR20090041124 A KR 20090041124A KR 20100065046 A KR20100065046 A KR 20100065046A
Authority
KR
South Korea
Prior art keywords
application
virtual
application program
target system
environment
Prior art date
Application number
KR1020090041124A
Other languages
English (en)
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 US12/620,755 priority Critical patent/US8549491B2/en
Publication of KR20100065046A publication Critical patent/KR20100065046A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 임베디드 시스템에 장착되는 응용프로그램을 타겟 시스템의 종류와 상관없이 교차 개발하기 위한 임베디드 기반 시스템의 응용 시험 장치에 관한 것으로서, 사용자 인터페이스를 통해 입력된 정보에 기초하여 타겟 시스템에 적용되는 응용 프로그램을 시험하기 위한 가상 환경을 구축하고, 구축된 가상 환경에서 가상의 타겟 시스템을 구성하여 응용 프로그램을 시험하도록 한다. 본 발명에 따르면, 다양한 종류의 임베디드 시스템을 개발하는 환경에서 각 타겟 시스템을 위한 각각의 교차 개발환경을 구축하지 않고 타겟 시스템에 적용되는 응용 프로그램을 개발하고 시험하는 것이 가능하다.

Description

임베디드 기반 시스템의 응용 시험 장치 및 방법{Apparatus and method for application testing of system based on embedded}
본 발명은 임베디드 기반 시스템의 응용 시험 장치 및 방법에 관한 것으로, 특히 임베디드 시스템에 장착되는 응용프로그램을 타겟 시스템의 종류와 상관없이 교차 개발하고, 개발된 환경을 해당 타겟 시스템에 적용하기 위한 시험 장치 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-038-03, 과제명: 모바일 컨버전스 컴퓨팅을 위한 단말적응형 임베디드 운영체제 기술개발].
임베디드 시스템은 일반적인 컴퓨터 시스템과 달리 사용자나 외부의 입력에 대하여 정해진 특정한 응답 또는 처리를 하도록 설계된다. 또한, 임베디드 시스템은 사용하는 응용 프로그램을 직접 개발하지 못하고 다른 컴퓨터 시스템에서 개발한 것을 이용해야 한다.
대부분의 임베디드 시스템은 일반적인 컴퓨터 시스템과 달리 저가의 소형 시스템이기 때문에, 임베디드 시스템에 적용되는 메모리는 그 크기가 작고, 속도가 느리며, 용량이 작다. 따라서, 임베디드 시스템에서 응용 프로그램 개발 및 테스트와 같은 작업을 수행하는 것은 불가능하기 때문에, 임베디드 시스템에 적용되는 응용 프로그램을 개발하기 위한 새로운 컴퓨터 시스템이 필요하다.
그러나, 임베디드 시스템은 필요한 기능만 구비하고 있기 때문에, 하나의 공통적인 개발 환경으로 다양한 임베디드 시스템에 필요한 응용 프로그램을 개발하는 것은 불가능하다. 따라서, 임베디드 시스템에서 응용 프로그램을 개발하기 위해서는, 각 임베디드 시스템마다 응용 프로그램을 개발하기 위한 개발 환경을 구비하고 있어야 한다. 이는, 많은 비용이 드는 문제가 있을 뿐만 아니라, 개발자에게 다양한 시스템에 관한 지식을 요구하는 등의 경제적, 시간적인 비용을 필요로 한다.
일반적으로, 호스트 시스템에서 응용 프로그램을 개발하는 과정은 다음과 같은 순서로 이루어진다.
첫째, 개발자는 호스트 시스템에서 응용 프로그램을 작성한다. 둘째, 호스트 시스템은 작성한 응용 프로그램을 타겟 시스템에 맞는 교차 개발환경을 이용하여 실행 가능한 응용 프로그램을 생성한다. 셋째, 호스트 시스템은 생성된 응용 프로그램을 타겟 시스템으로 전송한다. 넷째, 전송된 응용 프로그램을 타겟 시스템에서 실행한다. 다섯째, 타겟 시스템에서 응용 프로그램을 시험하려는 경우, 시험 프로그램을 별도로 수행하여 개발된 응용 프로그램을 시험한다. 여섯째, 오류가 발생한 경우, 호스트 시스템에서 응용 프로그램을 수정한다. 일곱째, 응용 프로그램이 완벽하게 개발될 때까지 둘째 이후의 과정을 반복한다.
이와 같이, 임베디드 시스템에 필요한 응용 프로그램을 개발하는 과정은 복잡한 형태로 이루어진다. 또한, 타겟 시스템이 변경된 경우 교차 개발환경을 변경된 타겟 시스템에 맞는 것으로 교체하여 설치해야 하며, 동시에 여러 종류의 임베디드 시스템을 개발하려는 경우에는 각 임베디드 시스템에 맞는 개발 환경 및 타겟 시스템을 별도로 모두 구비해 운영해야 하는 일이 생긴다.
따라서, 상기와 같은 방법으로는 다양한 임베디드 시스템을 동시에 개발하는 것은 매우 어려운 일이 되고 있으며, 그에 따라 발생하는 문제점을 찾아낼 수 있는 기술이 강력히 요구된다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로, 임베디드 시스템에서 구동될 수 있는 응용 프로그램을 개발하고, 개발된 응용 프로그램을 시험할 수 있는 임베디드 기반 시스템의 응용 시험 장치 및 방법을 제공함에 그 목적이 있다.
또한, 본 발명은 다양한 종류의 임베디드 시스템을 개발하는 환경에서 각 타겟 시스템을 위한 각각의 교차 개발환경을 구축하지 않고, 타겟 시스템에 사용되는 응용 프로그램을 자동으로 교차 개발하고 시험하는 임베디드 기반 시스템의 응용 시험 장치 및 방법을 제공함에 다른 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 임베디드 기반 시스템의 응용 시험 장치는, 사용자 인터페이스, 상기 사용자 인터페이스를 통해 입력된 정보에 기초하여 상기 타겟 시스템에 적용되는 응용 프로그램을 시험하기 위한 가상 환경을 구축하는 가상 교차개발 환경 관리기, 및 상기 가상 교차개발 환경 관리기에 의해 구축된 가상 환경에서 상기 타겟 시스템에 대응하는 가상의 타겟 시스템을 구성하고, 상기 가상의 타겟 시스템상에서 응용 프로그램을 실행하여 해당 응용 프로그램의 오류 발생 여부를 확인하는 가상 타겟 환경 관리기를 포함한다.
상기 가상 교차개발 환경 관리기는 복수의 타겟 시스템별로 대응하는 복수의 가상 환경을 구축하는 것을 특징으로 한다.
상기 가상 교차개발 환경 관리기는 상기 사용자 인터페이스를 통해 입력된 응용 프로그램 소스를 이용하여, 상기 가상 환경에서 응용 프로그램을 생성하는 응용 프로그램 생성기를 포함하는 것을 특징으로 한다.
상기 가상 교차개발 환경 관리기는 상기 응용 프로그램의 시험 결과를 출력하고, 시험 결과에 대응하는 동작을 수행하도록 제어하는 응용 프로그램 시험기를 더 포함하는 것을 특징으로 한다.
상기 가상 타겟 환경 관리기는 상기 가상의 타겟 시스템에서 상기 가상 교차개발 환경 관리기에 의해 생성된 응용 프로그램을 모의로 실행하는 에뮬레이터를 포함하는 것을 특징으로 한다.
상기 가상 타겟 환경 관리기는 상기 사용자 인터페이스를 통해 입력된 상기 응용 프로그램의 시험정보에 기초하여 상기 에뮬레이터에서 실행되는 응용 프로그램의 오류 발생 여부를 판단하는 것을 특징으로 한다.
상기 응용 프로그램의 시험정보는 상기 응용 프로그램의 실행 시 입력되는 입력값과, 상기 입력값에 대응하는 결과값을 포함하는 것을 특징으로 한다.
상기 타겟 시스템의 환경 설정 정보 및 상기 응용 프로그램 정보가 저장되는 정보 저장소를 더 포함하는 것을 특징으로 한다.
한편, 상기한 목적을 달성하기 위한 본 발명에 다른 임베디드 기반 시스템의 응용 시험 방법은, 타겟 시스템 정보를 입력 받는 단계, 상기 입력된 타겟 시스템 정보에 기초하여 해당 타겟 시스템에 적용되는 응용 프로그램을 시험하기 위한 가상 환경을 구축하는 단계, 상기 가상 환경에서 상기 타겟 시스템에 대응하는 가상 의 타겟 시스템 환경을 설정하고, 상기 가상의 타겟 시스템 환경에서 상기 응용 프로그램을 실행하는 단계, 및 상기 실행하는 단계의 실행 결과에 따라 상기 응용 프로그램의 오류 발생 여부를 확인하는 단계를 포함한다.
상기 가상 환경을 구축하는 단계는 타겟 시스템별로 대응하는 복수의 가상 환경을 구축하는 것을 특징으로 한다.
상기 타겟 시스템에 적용되는 응용 프로그램 소스를 입력 받아 상기 가상 환경에서 응용 프로그램을 생성하는 단계를 더 포함한다.
상기 응용 프로그램의 시험정보를 입력 받는 단계를 더 포함하며, 상기 확인하는 단계는 상기 응용 프로그램의 실행 결과와 상기 응용 프로그램의 시험 정보를 비교하여 해당 응용 프로그램의 오류 발생 여부를 판단하는 것을 특징으로 한다.
상기 응용 프로그램의 시험 정보는 상기 응용 프로그램의 실행 시 입력되는 입력값과, 상기 입력값에 대응하는 결과값을 포함하는 것을 특징으로 한다.
상기 확인하는 단계로부터의 확인 결과, 상기 응용 프로그램의 오류 발생 시 상기 응용 프로그램의 소스를 수정하는 단계를 더 포함하는 것을 특징으로 한다.
상기 수정하는 단계에서 수정된 응용 프로그램의 소스를 적용하여 생성된 응용 프로그램의 오류 발생 여부를 재확인하는 단계를 더 포함하는 것을 특징으로 한다.
상기 확인하는 단계로부터의 확인 결과, 상기 응용 프로그램의 오류가 발생하지 않은 경우, 해당 응용 프로그램을 상기 타겟 시스템으로 전송하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명에 따르면, 사용자는 다양한 종류의 임베디드 시스템에 적용되는 타겟 카테고리별로 환경을 구축하지 않고도, 해당 타겟 시스템에 적용 가능한 응용 프로그램을 개발할 수 있는 이점이 있으며, 개발된 응용 프로그램 또한 실제 타겟 시스템에 적용하기 전에 시험할 수 있는 이점이 있다.
또한, 본 발명은 개발된 응용 프로그램에 오류가 발생한 경우에도 수정이 용이한 이점이 있다. 뿐만 아니라, 최종적으로 개발된 응용 프로그램을 타겟 시스템에 적용하는 것이 용이한 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명에 따른 임베디드 시스템의 응용 프로그램을 개발 및 시험하기 위한 시스템 구성을 도시한 도이다.
도 1에 도시된 바와 같이, 본 발명은 임베디드 기반의 응용 프로그램을 개발하는 호스트 시스템(1)과, 호스트 시스템(1)에서 개발된 응용 프로그램이 실제 적용되는 타겟 시스템(2)으로 구성된다.
호스트 시스템(1)은 임베디드 기반 시스템에 적용할 타겟 시스템(2)에 맞는 가상의 교차 개발환경을 구축한다. 이때, 호스트 시스템(1)은 가상의 교차 개발환경에서 타겟 시스템(2)에 맞는 응용 프로그램을 개발하도록 한다. 또한, 호스트 시스템(1)은 개발된 응용 프로그램의 실제 시험을 위해서 해당 응용 프로그램을 적용할 가상의 타겟 시스템 환경을 설정한다. 따라서, 호스트 시스템(1)은 가상의 타 겟 시스템 환경에서 개발된 응용 프로그램을 시험함으로써, 응용 프로그램을 실제 타겟 시스템(2)에 적용했을 시의 동작을 예측할 수 있게 된다.
즉, 본 발명에 따른 임베디드 기반 시스템의 응용 시험 장치는 호스트 시스템(1) 내에 구현된다. 이에 대한 구체적인 설명은 도 2 내지 도 4를 참조하도록 한다.
호스트 시스템(1)과 타겟 시스템(2)은 유선 또는 무선 방식에 의해 물리적으로 연결된다. 예를 들어, 호스트 시스템(1)과 타겟 시스템(2)은 시리얼 포트 또는 이더넷 포트 등을 이용하여 연결될 수 있으며, 하드웨어적인 제어를 위해 JTAG와 같은 인터페이스를 이용하여 연결될 수도 있다. 호스트 시스템(1)은 타겟 시스템(2)과의 연결이 완료되면, 응용 프로그램을 타겟 시스템(2)으로 전송한다.
타겟 시스템(2)은 임베디드 시스템으로서, 호스트 시스템(1)에 의해 개발된 응용 프로그램이 타겟 시스템(2)에 탑재되면, 타겟 시스템(2)은 해당 응용 프로그램에 의해 동작된다.
도 2는 본 발명의 실시예에 따른 임베디드 기반 시스템의 응용 시험 장치의 구성을 도시한 도이다.
도 2를 참조하면, 본 발명에 따른 임베디드 기반 타겟 시스템의 개발 환경 시험 장치는 사용자 인터페이스(10), 가상 교차개발 환경 관리기(20), 및 가상 타겟 환경 관리기(30)를 포함한다. 또한, 본 발명에 따른 임베디드 기반 시스템의 응용 시험 장치는 정보 저장소(40)를 더 포함한다.
사용자 인터페이스(10)는 본 발명에서 제시하는 임베디드 시스템의 응용 시험 장치로 응용 프로그램의 소스를 입력하고, 해당 응용 프로그램의 개발에 필요한 설정 정보를 입력한다.
가상 교차개발 환경 관리기(20)는 타겟 시스템(2)의 특성에 따라 필요한 가상의 교차개발 환경을 구성하고, 해당 타겟 시스템(2)에 대응하는 가상의 교차개발 환경을 자동으로 선택하여 응용 프로그램을 생성한다.
가상 타겟 환경 관리기(30)는 가상의 교차개발 환경에서 가상 교차개발 환경 관리기(20)에 의해 생성된 응용 프로그램을 동작시키거나 시험하기 위한 가상의 타겟 시스템 환경을 제공한다.
정보 저장소(40)는 복수의 타겟 시스템(2)에 대한 정보가 저장된다. 또한, 정보 저장소(40)는 각 타겟 시스템(2)의 설정정보, 그에 따른 가상 교차개발 환경 관리기(20) 및 가상 타겟 환경 관리기(30)에 대한 설정 정보가 저장된다.
도 3을 참조하여, 가상 교차개발 환경 관리기의 구성을 좀 더 상세히 살펴본다. 도 3은 본 발명의 실시예에 따른 가상 교차개발 환경 관리기의 구성을 도시한 블록도이다.
도 3에 도시된 바와 같이, 가상 교차개발 환경 관리기(20)는 명령어 해석기(21), 가상 환경 생성기(23), 응용 프로그램 생성기(25), 및 응용 프로그램 시험기(27)를 포함한다.
명령어 해석기(21)는 사용자 인터페이스(10)를 통해 입력된 사용자 명령을 해석하고, 해석된 사용자 명령에 따라 필요한 작업을 지시한다.
가상 환경 생성기(23)는 타겟 시스템(2)에서 구동될 응용 프로그램을 제작하기 위한 가상 환경을 생성하고, 생성된 가상 환경을 관리한다. 여기서, 가상 환경이라 함은, 타겟 시스템(2)의 특성에 따라 생성된 가상의 교차개발 환경을 의미하는 것이다. 이때, 응용 프로그램 생성기(25)는 가상 환경 생성기(23)에 의해 생성된 가상 환경에서 응용 프로그램을 생성한다.
응용 프로그램 시험기(27)는 응용 프로그램 생성기(25)로부터 생성된 응용 프로그램에 대해 타겟 시스템(2)에 적용 가능한지를 시험한다. 이를 위해, 응용 프로그램 시험기(27)는 응용 프로그램을 가상 타겟 환경 관리기(30)로 출력하여, 해당 응용 프로그램이 실행되도록 한다. 이때, 응용 프로그램 시험기(27)는 응용 프로그램 실행 시 필요한 입력값과, 그에 대응하는 출력값을 포함하는 시험 정보를 함께 가상 타겟 환경 관리기(30)로 출력한다.
응용 프로그램 시험기(27)는 가상 타겟 환경 관리기(30)로부터 해당 응용 프로그램의 시험 결과를 제공 받는다. 다시 말해, 응용 프로그램 시험기(27)는 해당 응용 프로그램 실행 시 오류 발생 여부를 제공 받는다.
만일, 해당 응용 프로그램의 시험 결과 오류가 발생한 경우, 응용 프로그램 시험기(27)는 시험 결과를 외부로 출력하고, 사용자 인터페이스(10)를 통해 해당 응용 프로그램 소스의 수정이 가능한 상태가 되도록 한다. 한편, 해당 응용 프로그램의 시험 결과 오류가 발생하지 않은 경우, 응용 프로그램 시험기(27)는 해당 응용 프로그램을 타겟 시스템(2)으로 제공하도록 한다.
한편, 도 4를 참조하여 도 2의 가상 타겟 환경 관리기에 대한 구성을 좀 더 상세히 살펴본다. 도 4는 본 발명의 실시예에 따른 가상 타겟 환경 관리기의 구성을 도시한 블록도이다.
도 4에 도시된 바와 같이, 가상 타겟 환경 관리기(30)는 가상 타겟 시스템 제어기(31), 에뮬레이터(33), 및 응용 프로그램 제어기(35)를 포함한다.
가상 타겟 시스템 제어기(31)는 에뮬레이터(33) 및 응용 프로그램 제어기(35)의 동작을 제어하며 가상 타겟 환경을 조작한다.
에뮬레이터(33)는 가상 환경에 가상의 타겟 시스템 환경을 설정한다. 따라서, 가상 환경에서 가상의 타겟 시스템 환경이 구현되도록 한다. 응용 프로그램 생성기(25)에 의해 생성된 응용 프로그램은 에뮬레이터(33)로 전달된다.
응용 프로그램 제어기(35)는 가상 타겟 시스템 제어기(31)의 명령에 따라 에뮬레이터(33)로 응용 프로그램의 구동을 제어하는 신호를 출력한다. 따라서, 에뮬레이터(33)는 응용 프로그램 제어기(35)의 제어 명령에 따라 가상의 타겟 시스템 환경에서 응용 프로그램을 모의 실행하도록 한다. 에뮬레이터(33)는 응용 프로그램의 실행 결과를 응용 프로그램 제어기(35)로 출력한다.
한편, 가상 타겟 환경 관리기(30)는 가상 교차개발 환경 관리기(20)로부터 응용 프로그램이 입력될 때, 응용 프로그램의 시험 정보를 함께 입력 받는다. 이때, 응용 프로그램 시험기(27)로부터 수신된 시험 정보는 해당 응용 프로그램의 실행에 따른 입력값과 출력값을 포함한다.
따라서, 응용 프로그램 제어기(35)는 시험 정보에 포함된 입력값을 에뮬레이터(33)로 전달하고, 에뮬레이터(33)는 전달된 입력값을 이용하여 응용 프로그램을 실행한다. 이때, 응용 프로그램 제어기(35)는 에뮬레이터(33)를 통한 응용 프로그램의 실행 결과값과, 시험 정보에 포함된 출력값을 비교하여 응용 프로그램의 오류 발생 여부를 확인한다.
예를 들어, 응용 프로그램 제어기(35)는 응용 프로그램의 실행 결과값과 시험 정보의 출력값이 일치하면 응용 프로그램에 오류가 발생하지 않은 것으로 판단한다. 반면, 응용 프로그램 제어기(35)는 응용 프로그램의 실행 결과값과 시험 정보의 출력값이 일치하지 않으면 응용 프로그램에 오류가 발생한 것으로 판단한다.
응용 프로그램 제어기(35)는 응용 프로그램의 오류 발생 여부를 확인한 결과를 응용 프로그램 시험기(27)로 제공한다.
상기와 같이 구성되는 본 발명에 따른 임베디드 기반 시스템의 응용 시험 장치에 대한 동작을 살펴보면 다음과 같다.
도 5 및 도 6은 본 발명의 실시예에 따른 임베디드 기반 시스템의 응용 시험 방법에 대한 동작 흐름을 도시한 순서도이다.
먼저, 도 5에 도시된 바와 같이, 사용자 인터페이스(10)를 통해 타겟 시스템 정보 및 응용 프로그램 개발에 필요한 정보가 입력되면, 해당 시험 장치는 입력된 정보를 정보 저장소(40)에 정의한다(S100).
이후, 사용자 인터페이스(10)를 통해 타겟 시스템(2)의 개발 요청이 입력되 면, 정보 저장소(40)에 요청된 타겟 시스템(2)의 정보가 정의되어 있는지를 확인한다(S110).
만일, 'S100' 과정에서 정의된 타겟 시스템 또는 이전에 등록된 타겟 시스템에 대한 개발 요청인 경우, 시험 장치는 정보 저장소(40)에 정의된 해당 타겟 시스템(2)의 정보를 호출하여, 가상 교차개발 환경 관리기(20)에 제공한다(S120).
물론, 요청된 타겟 시스템(2)의 정보가 정보 저장소(40)에 정의되어 있지 않은 경우, 시험 장치는 사용자 인터페이스(10)를 통해 해당 타겟 시스템(2)의 정보를 새로 입력 받는다. 이때, 시험 장치는 입력된 정보를 정보 저장소(40)에 저장한다(S130).
가상 교차개발 환경 관리기(20)는 정보 저장소(40)에서 호출된, 혹은 사용자 인터페이스(10)를 통해 입력된 타겟 시스템(2)의 정보에 기초하여 가상 환경 정보를 설정하고(S140), 설정에 따라 가상 환경을 구축한다(S150). 이때, 가상 환경은 타겟 시스템(2)의 특성에 따라 생성된 가상의 교차개발 환경으로서, 구성하고자 하는 타겟 시스템별로 구축된다. 따라서, 시험 장치에는 동시에 복수개의 가상 환경이 존재할 수 있다.
이후, 가상 교차개발 환경 관리기(20)는 구축된 가상 환경 정보를 가상 타겟 환경 관리기(30)로 제공한다.
가상 타겟 환경 관리기(30)는 가상 교차개발 환경 관리기(20)에 의해 구축된 가상 환경에서 가상의 타겟 시스템 환경을 설정한다(S160). 이때, 에뮬레이터(33)는 정보 저장소(40)에 저장된 타겟 시스템(2)의 정보에 기초하여 가상의 타겟 시스 템을 구성하도록 한다(S170). 여기서, 에뮬레이터(33)에 의해 구성된 가상의 타겟 시스템은 실제의 타겟 시스템(2)과 동일한 환경을 갖는 시스템이며, 동시에 복수개가 존재할 수 있다.
이후, 도 6에 도시된 바와 같이, 사용자 인터페이스(10)는 사용자로부터 타겟 시스템(2)에 적용할 응용 프로그램 소스 및 시험 정보를 입력 받는다(S200). 여기서, 시험 정보는 입력값과 결과값으로 쌍으로 구성된다. 즉, 시험 장치는 응용 프로그램 실행 시, 시험 정보에 포함된 입력값과 그에 대응하는 결과값을 비교하여 해당 응용 프로그램에 오류가 발생하지 않고 올바르게 동작하는지를 확인하게 된다.
가상 교차개발 환경 관리기(20)는 'S200' 과정에서 입력된 응용 프로그램 소스를 응용 프로그램 생성기(25)로 전달한다. 이때, 응용 프로그램 생성기(25)는 가상 환경 생성기(23)로부터 생성된 가상 환경에서, 사용자 인터페이스(10)를 통해 입력된 응용 프로그램 소스를 이용하여 응용 프로그램을 생성한다(S210).
이후, 응용 프로그램 시험기(27)는 'S210' 과정에서 응용 프로그램 생성기(25)를 통해 생성된 응용 프로그램과, 'S200' 과정에서 사용자 인터페이스(10)를 통해 입력된 시험 정보를 가상 타겟 환경 관리기(30)로 제공한다.
가상 타겟 환경 관리기(30)는 'S170' 과정에서 구현된 가상의 타겟 시스템 환경에서 응용 프로그램을 실행시킨다(S220).
이때, 응용 프로그램 제어기(35)는 응용 프로그램 실행 결과와 시험 정보를 비교하여, 시험 정보에 포함된 입력값에 대응하는 결과값이 나오는지를 확인한 다(S230). 만일, 응용 프로그램 실행 결과, 시험 정보에 포함된 입력값에 대응하는 결과값이 출력되지 않은 경우, 응용 프로그램 제어기(35)는 해당 응용 프로그램에 오류가 발생한 것으로 판단한다(S240). 응용 프로그램 제어기(35)는 응용 프로그램 시험기(27)로 응용 프로그램 실행 결과를 출력한다.
따라서, 응용 프로그램 시험기(27)는 응용 프로그램 실행 결과를 외부로 출력하고, 사용자 인터페이스(10)를 통해 응용 프로그램 소스의 수정이 가능하도록 한다(S245). 사용자 인터페이스(10)를 통해 응용 프로그램 소스의 수정이 완료되면, 'S210' 과정으로 돌아가 이후 과정을 수행하도록 한다.
한편, 응용 프로그램 실행 결과, 시험 정보에 포함된 입력값에 대응하는 결과값이 출력된 경우, 응용 프로그램 제어기(35)는 해당 응용 프로그램이 가상의 타겟 시스템 환경에서 오류 없이 동작하는 것으로 판단한다(S240). 응용 프로그램 제어기(35)는 응용 프로그램 시험기(27)로 응용 프로그램 실행 결과를 출력한다.
따라서, 가상 교차개발 환경 관리기(20)는 응용 프로그램 생성기(25)를 통해 실제 타겟 시스템에 적용할 최종의 응용 프로그램을 생성하여, 실제 타겟 시스템(2)으로 제공하도록 한다(S250).
상기와 같이 구성되는 본 발명에 따른 임베디드 기반 시스템의 응용 시험 장치 및 방법을 이용하면, 사용자는 최종적으로 제품화할 다양한 임베디드 시스템에서 구동될 응용 프로그램을 하나의 호스트 시스템에서 편리하게 개발할 수 있다.
또한, 개발된 응용 프로그램에 오류가 있는 경우 가상 타겟 환경하에서 문제 점을 찾아서 쉽게 고칠 수 있다.
이상에서와 같이 본 발명에 따른 임베디드 기반 시스템의 응용 시험 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
도 1 은 본 발명이 적용되는 시스템 구성을 도시한 도이다.
도 2 는 본 발명에 따른 임베디드 기반 시스템의 응용 시험 장치의 구성을 도시한 블록도이다.
도 3 은 본 발명에 따른 가상 교차개발 환경 관리기의 구성을 도시한 블록도이다.
도 4 는 본 발명에 따른 가상 타겟 환경 관리기의 구성을 도시한 블록도이다.
도 5 및 도 6 은 본 발명에 따른 임베디드 기반 시스템의 응용 시험방법에 대한 동작 흐름을 도시한 순서도이다.

Claims (17)

  1. 임베디드 기반 시스템의 응용 시험 장치로서,
    사용자 인터페이스;
    상기 사용자 인터페이스를 통해 입력된 정보에 기초하여 타겟 시스템에 적용되는 응용 프로그램을 시험하기 위한 가상 환경을 구축하는 가상 교차개발 환경 관리기; 및
    상기 가상 교차개발 환경 관리기에 의해 구축된 가상 환경에서 상기 타겟 시스템에 대응하는 가상의 타겟 시스템을 구성하고, 상기 가상의 타겟 시스템상에서 응용 프로그램을 실행하여 해당 응용 프로그램의 오류 발생 여부를 확인하는 가상 타겟 환경 관리기;를 포함하는 임베디드 기반 시스템의 응용 시험 장치.
  2. 청구항 1에 있어서,
    상기 가상 교차개발 환경 관리기는,
    상기 사용자 인터페이스를 통해 입력된 응용 프로그램 소스를 이용하여, 상기 가상 환경에서 응용 프로그램을 생성하는 응용 프로그램 생성기;를 포함하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  3. 청구항 1에 있어서,
    상기 가상 교차개발 환경 관리기는,
    상기 응용 프로그램의 시험 결과를 출력하고, 시험 결과에 대응하는 동작을 수행하도록 제어하는 응용 프로그램 시험기;를 더 포함하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  4. 청구항 1에 있어서,
    상기 가상 타겟 환경 관리기는,
    상기 가상의 타겟 시스템에서 상기 가상 교차개발 환경 관리기에 의해 생성된 응용 프로그램을 모의로 실행하는 에뮬레이터;를 포함하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  5. 청구항 4에 있어서,
    상기 가상 타겟 환경 관리기는,
    상기 사용자 인터페이스를 통해 입력된 상기 응용 프로그램의 시험 정보에 기초하여 상기 에뮬레이터에서 실행되는 응용 프로그램의 오류 발생 여부를 판단하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  6. 청구항 5에 있어서,
    상기 응용 프로그램의 시험정보는,
    상기 응용 프로그램의 실행 시 입력되는 입력값과, 상기 입력값에 대응하는 결과값을 포함하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  7. 청구항 5에 있어서,
    상기 가상 교차개발 환경 관리기는,
    상기 응용 프로그램의 오류 발생 여부에 따라 응용 프로그램 소스를 수정하거나, 해당 응용 프로그램을 상기 타겟 시스템으로 전송하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  8. 청구항 1에 있어서,
    상기 가상 교차개발 환경 관리기는,
    복수의 타겟 시스템별로 대응하는 복수의 가상 환경을 구축하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  9. 청구항 1에 있어서,
    상기 타겟 시스템의 환경 설정 정보 및 상기 응용 프로그램 정보가 저장되는 정보 저장소;를 더 포함하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 장치.
  10. 임베디드 기반 시스템의 응용 시험 방법으로서,
    타겟 시스템 정보를 입력 받는 단계;
    상기 입력된 타겟 시스템 정보에 기초하여 해당 타겟 시스템에 적용되는 응 용 프로그램을 시험하기 위한 가상 환경을 구축하는 단계;
    상기 가상 환경에서 상기 타겟 시스템에 대응하는 가상의 타겟 시스템 환경을 설정하고, 상기 가상의 타겟 시스템 환경에서 상기 응용 프로그램을 실행하는 단계; 및
    상기 실행하는 단계의 실행 결과에 따라 상기 응용 프로그램의 오류 발생 여부를 확인하는 단계;를 포함하는, 임베디드 기반 시스템의 응용 시험 방법.
  11. 청구항 10에 있어서,
    상기 타겟 시스템에 적용되는 응용 프로그램 소스를 입력 받아 상기 가상 환경에서 응용 프로그램을 생성하는 단계;를 더 포함하는 것을 특징으로 하는 임베디드 기반 시스템의 응용 시험 방법.
  12. 청구항 10에 있어서,
    상기 응용 프로그램의 시험 정보를 입력 받는 단계;를 더 포함하며,
    상기 확인하는 단계는, 상기 응용 프로그램의 실행 결과와 상기 응용 프로그램의 시험 정보를 비교하여 해당 응용 프로그램의 오류 발생 여부를 판단하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 방법.
  13. 청구항 12에 있어서,
    상기 응용 프로그램의 시험 정보는,
    상기 응용 프로그램의 실행 시 입력되는 입력값과, 상기 입력값에 대응하는 결과값을 포함하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 방법.
  14. 청구항 10에 있어서,
    상기 확인하는 단계로부터의 확인 결과 상기 응용 프로그램에 오류가 발생한 경우, 상기 응용 프로그램의 소스를 수정하는 단계;를 더 포함하는 것을 특징으로 하는 임베디드 기반 시스템의 응용 시험 방법.
  15. 청구항 14에 있어서,
    상기 수정하는 단계에서 수정된 응용 프로그램의 소스를 적용하여 생성된 응용 프로그램의 오류 발생 여부를 재확인하는 단계;를 더 포함하는 것을 특징으로 하는 임베디드 기반 시스템의 응용 시험 방법.
  16. 청구항 10에 있어서,
    상기 확인하는 단계로부터의 확인 결과 상기 응용 프로그램의 오류가 발생하지 않은 경우, 해당 응용 프로그램을 상기 타겟 시스템으로 전송하는 단계;를 더 포함하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 방법.
  17. 청구항 10에 있어서,
    상기 가상 환경을 구축하는 단계는,
    타겟 시스템별로 대응하는 복수의 가상 환경을 구축하는 것을 특징으로 하는, 임베디드 기반 시스템의 응용 시험 방법.
KR1020090041124A 2008-12-05 2009-05-12 임베디드 기반 시스템의 응용 시험 장치 및 방법 KR20100065046A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/620,755 US8549491B2 (en) 2008-12-05 2009-11-18 Apparatus and method for application testing of embedded system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080123471 2008-12-05
KR20080123471 2008-12-05

Publications (1)

Publication Number Publication Date
KR20100065046A true KR20100065046A (ko) 2010-06-15

Family

ID=42364554

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090041124A KR20100065046A (ko) 2008-12-05 2009-05-12 임베디드 기반 시스템의 응용 시험 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20100065046A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101445538B1 (ko) * 2013-02-01 2014-09-29 에스케이플래닛 주식회사 클라우드 스트리밍을 위한 서버의 테스트 방법 및 장치
WO2015137604A1 (ko) * 2014-03-10 2015-09-17 에스케이플래닛 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
KR20190041791A (ko) * 2017-10-13 2019-04-23 한국전자통신연구원 다중 타겟의 임베디드 소프트웨어 개발 장치 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101445538B1 (ko) * 2013-02-01 2014-09-29 에스케이플래닛 주식회사 클라우드 스트리밍을 위한 서버의 테스트 방법 및 장치
WO2015137604A1 (ko) * 2014-03-10 2015-09-17 에스케이플래닛 주식회사 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템
US10313207B2 (en) 2014-03-10 2019-06-04 Sk Techx Co., Ltd. Method for testing cloud streaming server, and apparatus and system therefor
KR20190041791A (ko) * 2017-10-13 2019-04-23 한국전자통신연구원 다중 타겟의 임베디드 소프트웨어 개발 장치 및 방법

Similar Documents

Publication Publication Date Title
US8549491B2 (en) Apparatus and method for application testing of embedded system
CA2948250C (en) System and method for safety-critical software automated requirements-based test case generation
EP3992800B1 (en) Program test method and apparatus, computer device, and storage medium
US10521335B2 (en) Context-based device testing
US10409632B2 (en) Emulation of hardware components based on interrupt design
KR20100121226A (ko) 오류 주입을 이용한 소프트웨어 신뢰성 테스트 시스템 및 방법
KR101136408B1 (ko) 신뢰성 있는 cps 개발을 위한 cps 시뮬레이터, 이를 이용한 cps 시뮬레이션 시스템 및 방법
US7895575B2 (en) Apparatus and method for generating test driver
US10860467B2 (en) Method of configuring a test device designed to test an electronic control unit, and a configuration system
US8392921B2 (en) Apparatus and method of coordinating operation action of robot software component
US20190072946A1 (en) Method for generating a technical system model, executable on a test unit, and the test unit
KR20100065046A (ko) 임베디드 기반 시스템의 응용 시험 장치 및 방법
KR102304861B1 (ko) 하이브리드 퍼징 기반의 펌웨어 취약점 검출 장치 및 방법
CN111581101A (zh) 软件模型的测试方法、装置、设备和介质
JP2021533437A (ja) 情報提示方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
CN113688039B (zh) 一种基于数字孪生的自动测试系统仿真验证方法
JP2019179284A (ja) シミュレーションシステム、及びシミュレーションプログラム
US9298428B2 (en) Graphical user interface editor that displays live data during editing
US10488835B2 (en) Method for configuring a tester equipped for testing an electronic control unit
US11958511B2 (en) Train signal system and linkage method therefor
KR102063181B1 (ko) 클라우드 컴퓨팅 기반 로봇 서비스 제공시스템 및 이를 이용한 로봇 서비스 제공방법
KR20090065878A (ko) 센서 네트워크를 구성하기 위한 타겟 센서 노드를 시험하는장치 및 그 방법
JP2002157144A (ja) ソフトウェア自動試験方式
KR101127469B1 (ko) 네트워크 기반 로봇의 소프트웨어 개발 시스템 및 방법
CN109483552B (zh) 一种基板搬送机器人系统软硬件调试方法及设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application