기계장치에 내장되어 동작하는 내장 소프트웨어의 개발 환경은 일반 소프트웨어와 비교하여 불편한 점이 많다. 소프트웨어가 개발되는 장비와 동작하는 장비가 다르며 일반적으로 고가의 상용 개발도구를 필요로 한다. 본 논문은 공개 소프트웨어 도구들을 활용하여 내장 소프트웨어의 개발환경을 개선시킬 수 있는 방안을 제시한다. cross compile을 위한 GNU Compiler Collection과 Scratch box, 통합 개발 환경인 Eclipse, 원격 접속을 위한 RSE, 가상화를 위한 QEMU 등의 특징과 효과적인 활용 방법을 설명한다.
기계장치에 내장되어 동작하는 내장 소프트웨어의 개발 환경은 일반 소프트웨어와 비교하여 불편한 점이 많다. 소프트웨어가 개발되는 장비와 동작하는 장비가 다르며 일반적으로 고가의 상용 개발도구를 필요로 한다. 본 논문은 공개 소프트웨어 도구들을 활용하여 내장 소프트웨어의 개발환경을 개선시킬 수 있는 방안을 제시한다. cross compile을 위한 GNU Compiler Collection과 Scratch box, 통합 개발 환경인 Eclipse, 원격 접속을 위한 RSE, 가상화를 위한 QEMU 등의 특징과 효과적인 활용 방법을 설명한다.
RFID systems have been widely used in various fields such as logistics, distribution, food, security, traffic and others. A RFID middleware, one of the key components of the RFID system, perform an important role in many functions such as filtering, grouping, reporting tag data according to given us...
RFID systems have been widely used in various fields such as logistics, distribution, food, security, traffic and others. A RFID middleware, one of the key components of the RFID system, perform an important role in many functions such as filtering, grouping, reporting tag data according to given user specifications and so on. However, manual test data generation is very hard because the inputs of the RFID middleware are generated according to the RFID middleware standards and complex encoding rules. To solve this problem, in this paper, we propose a black box test technique based on RFID middleware standards. Firstly, we define ten types of input conversion rules to generate new test data from existing test data based on the standard specifications. And then, using these input conversion rules, we generate various additional test data automatically. To validate the effectiveness of generated test data, we measure coverage of generated test data on actual RFID middleware. The results show that our test data achieve 78% statement coverage and 58% branch coverage in the classes of filtering and grouping, 79% statement coverage and 64% branch coverage in the classes of reporting.
RFID systems have been widely used in various fields such as logistics, distribution, food, security, traffic and others. A RFID middleware, one of the key components of the RFID system, perform an important role in many functions such as filtering, grouping, reporting tag data according to given user specifications and so on. However, manual test data generation is very hard because the inputs of the RFID middleware are generated according to the RFID middleware standards and complex encoding rules. To solve this problem, in this paper, we propose a black box test technique based on RFID middleware standards. Firstly, we define ten types of input conversion rules to generate new test data from existing test data based on the standard specifications. And then, using these input conversion rules, we generate various additional test data automatically. To validate the effectiveness of generated test data, we measure coverage of generated test data on actual RFID middleware. The results show that our test data achieve 78% statement coverage and 58% branch coverage in the classes of filtering and grouping, 79% statement coverage and 64% branch coverage in the classes of reporting.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
그러나 아직은 이러한 도구들이 일반적인 내장 소프트웨어의 개발에 효과적으로 활용되지 못하고 있는 실정이다. 본 논문에서는 이러한 도구들을 활용하여 내장 소프트웨어를 편리하게 개발할 수 있는 환경을 구성하는 방안을 제시한다.
본 논문에서는 이상과 같이 공개 소프트웨어 도구들을 활용하여 내장 소프트웨어를 편리하게 개발할 수 있는 통합된 환경을 살펴보았다. 향후의 과제로는 이 환경을 실제 장비를 개발하는 업무에 적용하여 그 개선 효과를 검증해 보는 과정이 필요하겠다.
제안 방법
공개 소프트웨어 도구들을 활용하여 내장 소프트웨어를 위한 통합 개발 환경을 구성하는 방안을 살펴보았다. 그림-10은 개발 host에서 Eclipse를 기반으로 GNU Toolchain과 Scratchbox를 활용하여 cross compiling을 할 수 있는 환경을 구성하였다.
후속연구
또한 이러한 공개 도구들이 상용 도구들과 비교하여 어떠한 차이점 있는지를 분석하고 그 개선 방안을 강구하는 것이 바람직하겠다. 그리고 본 논문에서 언급된 도구들 이외에도 많은 우수한 도구들이 나와 있고 또 새로이 개발되고 있다.
본 논문에서는 이상과 같이 공개 소프트웨어 도구들을 활용하여 내장 소프트웨어를 편리하게 개발할 수 있는 통합된 환경을 살펴보았다. 향후의 과제로는 이 환경을 실제 장비를 개발하는 업무에 적용하여 그 개선 효과를 검증해 보는 과정이 필요하겠다.
질의응답
핵심어
질문
논문에서 추출한 답변
GNU Compiler Collection은 무엇으로 이루어지는가?
GNU Compiler Collection (GCC)는 C, C++, Java, Fortran, Ada 등과 Objective-C를 위한 front-end와 그 지원 library들로 이루어지는데, Alpha, ARM, x86, MIPS, PowerPC, SPARC 등 다양한 CPU를 지원한다 [6]. 그리고 GCC는 assembler (as), linker (ld), archiver (ar), profiler (gprof) 등의 여러 GNU Binary Utilities (binutils)와 C Standard Library (glibc)와 조합을 이루어 동작하는데, make, m4, debugger (gdb) 등의 도구들과 함께 GNU Toolchain을 구성하게 된다.
Scratchbox는 무엇을 제공하는가?
Scratchbox는 ARM이나 x86 CPU 기반의 Linux 운영체제를 사용하는 target 장치를 위한 cross compiler와 관련 도구들을 source와 함께 이미 compile된 binary 형태로도 제공한다. 이 도구들을 사용하려면 먼저 고유한 사용자 계정 (예: kim)과암호를 등록해야 하는데, 그러면 그 사용자 계정을 위한 독립적인 root (‘/’) directory가 ‘/scratchbox/users/kim’위치에 생성이 되고, 그 밑에 원하는 형태의 target 장치와 사용할 도구를 선택하여 설정할 수 있다.
make, m4, debugger는 어떤 소프트웨어인가?
이러한 도구들은 모두 공개 소프트웨어로서 그 source code가 공개되어 있지만 이들을 하나하나 직접 compile하면서 여러 도구들의 조합을 직접 구성하는 것은 매우 어렵고 복잡한 작업으로 많은 시간과 노력이 필요하게 된다 [7]. 따라서 이러한 불편을 줄일 수 있는 방법을 찾아 적절히 활용하는 것이 유리하다.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.