KR102025553B1 - Rios 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법 - Google Patents
Rios 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법 Download PDFInfo
- Publication number
- KR102025553B1 KR102025553B1 KR1020170061817A KR20170061817A KR102025553B1 KR 102025553 B1 KR102025553 B1 KR 102025553B1 KR 1020170061817 A KR1020170061817 A KR 1020170061817A KR 20170061817 A KR20170061817 A KR 20170061817A KR 102025553 B1 KR102025553 B1 KR 102025553B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- testing
- application
- monitoring
- tasks
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 방법은 어플리케이션의 테스팅과 모니터링을 위한 테스팅 및 모니터링 태스크를 생성하는 단계; 상기 어플리케이션의 실행을 위한 어플리케이션 태스크를 생성하고 수행하는 단계; 상기 어플리케이션 태스크가 모두 수행되었는지를 판단하는 단계; 및 상기 어플리케이션 태스크가 모두 수행된 경우 상기 테스팅 및 모니터링 태스크를 수행하는 단계를 포함한다.
Description
본 발명은 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법에 관한 것으로, 보다 자세하게는 모든 태스크들의 수행이 완료되었음을 확인한 후 테스팅 태스크와 모니터링 태스크를 수행함으로써 순수 어플리케이션 태스크들에 영향을 주지 않으면서 테스팅 태스크와 모니터링 태스크를 수행할 수 있는 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법에 관한 것이다.
임베디드 소프트웨어의 개발은 많은 경우에 호스트 환경인 PC에서 개발된다. 하지만 실제 소프트웨어가 탑재되고 동작하는 대상 시스템은 PC가 아닌 경우가 대부분이다. 이러한 두 시스템 환경의 차이 때문에 많은 개발자들이 임베디드 소프트웨어의 테스팅에 많은 어려움이 있다.
먼저, 임베디드 소프트웨어의 테스팅이 어려운 이유는 대상 시스템이 존재할 때는 로그기반의 테스팅을 수행할 수 있지만 로깅 모듈이 존재하지 않으면 테스팅을 수행하기 어렵다. 반면에 대상 시스템이 존재하지 않을 때는 주로 RTOS 시뮬레이션으로 테스팅이 수행된다. 하지만, RTOS에서 제공하는 시뮬레이터는 대부분 기능적인 부분만 호스트에서 동작이 가능하기 때문에 대상 시스템에서 실제 실행될 때의 시간 등의 제약 조건을 확인하기 어렵다.
그리고, 임베디드 소프트웨어의 모니터링은 모니터링의 특성상 어플리케이션이 수행될 때 특정 시점 또는 특정 지점에 개발자가 확인하고 싶은 동작 또는 변수 값을 확인해야하기 때문에 어플리케이션 코드가 수행되는 중간에 모니터링 코드가 수행된 후 다시 어플리케이션 코드를 수행해야 한다. 이러한 일련의 과정을 반복하는 동안에 해당 시스템과 상호작용하는 외부 시스템과 환경의 상태를 변화할 수 있기 때문에 모니터링 시스템으로 확인할 수 있는 것에 한계가 있다는 문제점이 있다.
또한, 기존의 임베디드 소프트웨어의 테스팅은 주로 RTOS 시뮬레이터를 사용하거나 대상 시스템에 적합한 형태의 테스트 프레임워크 또는 도구를 개발하여 수행한다. RTOS 시뮬레이터를 사용한 테스트는 호스트에서 개발 중에 어플리케이션의 테스트가 가능하지만 타겟에서 실행될 때 실제 수행되는 시간측정은 불가능하다는 단점이 있다.
그리고 대상 시스템에 적합한 형태의 테스트 프레임워크를 개발하여 테스트를 진행하는 경우는 호스트에서 테스트에 필요한 정보를 전달하여 대상 시스템의 동작을 확인한다. 하지만, 대상 시스템에 테스트를 진행하기 위해서 필요한 로깅 코드를 삽입하거나 테스트 드라이버 등의 테스트 수행에 필요한 코드를 삽입하여 테스트를 수행하는데 이러한 테스트 방법은 추가로 삽입된 코드로 인해 어플리케이션의 동작에 영향을 줄 수 있다. 따라서 시간과 자원의 제약이 있는 RTOS 환경에서는 테스트 결과가 정확하지 않을 수 있다는 문제점이 있다.
본 발명은 상기의 문제점을 감안하여 이루어진 것으로, 모든 태스크들의 수행이 완료되었음을 확인한 후 테스팅 태스크와 모니터링 태스크를 수행함으로써 순수 어플리케이션 태스크들에 영향을 주지 않으면서 테스팅 태스크와 모니터링 태스크를 수행할 수 있는 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법을 제공하는 것을 목적으로 한다.
발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치는 어플리케이션의 테스팅과 모니터링을 위한 테스팅 태스크 및 모니터링 테스크를 각각 생성하는 테스팅 태스크 생성 모듈 및 모니터링 테스크 생성 모듈; 상기 어플리케이션의 태스크가 모두 실행되었는지를 판단하는 제어부; 및 상기 제어부의 판단 결과에 따라 상기 테스팅 태스크 및 모니터링 테스크를 실행하는 테스팅 및 모니터링 태스크 실행부를 포함한다.
발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 방법은 어플리케이션의 테스팅과 모니터링을 위한 테스팅 및 모니터링 태스크를 생성하는 단계; 상기 어플리케이션의 실행을 위한 어플리케이션 태스크를 생성하고 수행하는 단계; 상기 어플리케이션 태스크가 모두 수행되었는지를 판단하는 단계; 및 상기 어플리케이션 태스크가 모두 수행된 경우 상기 테스팅 및 모니터링 태스크를 수행하는 단계를 포함한다.
발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법은 호스트 시스템에서 대상 시스템의 테스팅과 모니터링이 가능한 효과가 있다.
도 1은 발명의 실시예에 따른 스케쥴링 스택 구조를 나타내는 도면이다.
도 2는 발명의 실시예에 따른 어플리케이션 구조를 나타내는 도면이다.
도 3은 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치의 내부 구성을 나타내는 도면이다.
도 4는 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 방법을 나타내는 도면이다.
도 5는 발명의 실시예에 따른 테스팅 태스크와 모니터링 주기 설정 코드를 나타내는 도면이다.
도 6은 발명의 실시예에 따른 RIOS 기반 스케쥴러의 코드를 나타내는 도면이다.
도 7은 발명의 실시예에 따른 테스팅과 모니터링을 위한 제어 변수를 나타내는 도면이다.
도 8은 발명의 실시예에 따른 테스팅과 모니터링 파라미터 등록 코드를 나타내는 도면이다.
도 9는 발명의 실시예에 따른 어플리케이션 수행 중 사용하는 통신 프로토콜의 일 예를 나타내는 도면이다.
도 10은 발명의 실시예에 따른 어플리케이션의 태스크 구성을 나타내는 도면이다.
도 11은 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 결과를 나타내는 도면이다.
도 2는 발명의 실시예에 따른 어플리케이션 구조를 나타내는 도면이다.
도 3은 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치의 내부 구성을 나타내는 도면이다.
도 4는 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 방법을 나타내는 도면이다.
도 5는 발명의 실시예에 따른 테스팅 태스크와 모니터링 주기 설정 코드를 나타내는 도면이다.
도 6은 발명의 실시예에 따른 RIOS 기반 스케쥴러의 코드를 나타내는 도면이다.
도 7은 발명의 실시예에 따른 테스팅과 모니터링을 위한 제어 변수를 나타내는 도면이다.
도 8은 발명의 실시예에 따른 테스팅과 모니터링 파라미터 등록 코드를 나타내는 도면이다.
도 9는 발명의 실시예에 따른 어플리케이션 수행 중 사용하는 통신 프로토콜의 일 예를 나타내는 도면이다.
도 10은 발명의 실시예에 따른 어플리케이션의 태스크 구성을 나타내는 도면이다.
도 11은 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 결과를 나타내는 도면이다.
본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 발명에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 발명에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함한다. 본 발명에서, "구성된다" 또는 "포함한다" 등의 용어는 발명에 기재된 여러 구성 요소들, 또는 여러 단계를 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 발명의 실시예에 따른 스케쥴링 스택 구조를 나타내는 도면이다. 도 1(a)는 비선점(non preemptive) 스케쥴링 스택 구조를 나타내고, 도 1(B)는 선점(preemptive) 스케쥴링 스택 구조를 나타낸다.
RIOS(Riverside/Irvine Operating System)는 C언어 기반의 멀티태스킹을 제공하며 타이머 인터럽트를 사용하여서 인터럽트 서비스 루틴을 호출하는데 이 인터럽트 서비스 루틴에서 스케쥴링을 수행한다.
도시된 바와 같이, 비선점 스케쥴링 스택 구조는 복수의 태스크가 병렬로 동일 스택으로 형성되어 있고, 선점 스케쥴링 스택 구조는 복수의 태스크가 각각 다른 층으로 형성되어 있음을 확인할 수 있다.
도 2는 발명의 실시예에 따른 어플리케이션 구조를 나타내는 도면이다. 발명의 실시예에서는 비선점형 RIOS를 대상으로 임베디드 소프트웨어 구조를 제안하고 있다. 따라서 도 1(a)에 도시된 바와 같이 복수의 태스크가 병렬로 동일 스택으로 형성되어 있음을 확인할 수 있다.
어플리케이션의 동작에 주는 영향을 최소화하면서 테스팅과 모니터링이 가능한 어플리케이션 구조는 도 2와 같다. 테스팅 태스크는 어플리케이션의 테스팅에 필요한 값을 조작하고 모니터링 태스크는 테스팅과 모니터링에 필요한 값을 전달한다.
도 3은 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치의 내부 구성을 나타내는 도면이다.
발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치(100)는 테스팅 태스크 생성 모듈(110), 모니터링 테스크 생성 모듈(120), 어플리케이션 태스크 생성부(130), 어플리케이션 태스크 실행부(140), 제어부(150) 및 테스팅 및 모니터링 태스크 실행부(160)를 포함한다.
테스팅 태스크 생성 모듈(110) 및 모니터링 테스크 생성 모듈(120)은 각각 테스팅 태스크 및 모니터링 테스크를 생성한다. 테스팅 태스크는 어플리케이션이 제대로 동작하는지를 테스트 하기 위한 태스크를 의미하고, 모니터링 태스크는 어플리케이션이 외부 시스템과 환경의 변화에 영향을 받는지를 확인하기 위한 태스크를 의미한다.
어플리케이션 태스크 생성부(130)는 어플리케이션 고유의 태스크를 생성하기 위한 것으로, 테스트 및 모니터링과 관계없이 어플리케이션 동작을 위한 태스크를 생성한다. 마찬가지로 어플리케이션 태스크 실행부(140)는 테스트 및 모니터링과 관계없이 어플리케이션 동작을 위한 태스크를 실행한다.
제어부(150)는 어플리케이션의 시작 및 종료, 어플리케이션의 태스크가 모두 실행되었는지의 주기적인 판단 및 판단 결과에 따라 테스트 및 모니터링 태스크를 실행하는 기능을 담당한다.
테스팅 및 모니터링 태스크 실행부(160)는 상기 제어부(150)의 제어에 따라 테스팅 및 모니터링 태스크를 실행한다.
도 4는 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 방법을 나타내는 도면이다.
처음으로, 메인함수가 수행되면 어플리케이션에 필요한 것들을 초기화하는 과정이 수행된다(S100). 이는 컴퓨터 루틴의 최초 또는 규정된 특정한 시점에서 컴퓨터 루틴 안의 여러 가지 카운터, 레지스터 스위치나 어드레스를 제로 또는 초기값으로 세트하는 것을 의미한다. 이에 따라 컴퓨터 프로그램의 최초 또는 미리 정해진 계수, 스위치, 주소, 기억 장치의 내용 등을 ‘0’ 또는 기타의 값으로 설정된다.
다음으로, 테스팅 및 모니터링 태스크를 생성한다(S200). S200의 단계에서 어플리케이션의 테스트와 모니터링에 필요한 태스크가 생성된다.
이후, 호스트로부터 모니터링과 테스팅에 필요한 파라메터를 전달받아 어플리케이션 태스크들이 수행되기 전에 미리 등록한다(S300). 이와 같이 미리 등록됨으로써 모든 어플리케이션 태스크가 실행되었다고 판단되면 신속히 테스트 및 모니터링 태스크가 실행될 수 있게 된다.
다음으로, 어플리케이션 태스크가 생성된다(S400). 어플리케이션 태스크는 어플리케이션 고유의 태스크를 생성하기 위한 것으로, 테스트 및 모니터링과 관계없이 어플리케이션 동작을 위한 태스크를 의미한다.
다음으로, 어플리케이션 태스크가 실행된다(S500). RIOS 스케쥴러에 따라 비선점으로 스케쥴링된 태스크들이 수행된다.
다음으로, 모든 태스크들이 수행이 완료되었는지를 판단하고(S600), 모든 태스크들이 수행이 완료된 경우, 테스팅 태스크와 모니터링 태스크를 수행(S700)함으로써 순수 어플리케이션 태스크들에 영향을 주지 않으면서 테스팅 태스크와 모니터링 태스크를 수행할 수 있다.
도 5는 발명의 실시예에 따른 테스팅 태스크와 모니터링 주기 설정 코드를 나타내는 도면이다. 도 4에서와 같이 어플리케이션의 태스크들의 동작에 영향을 최소화하면서 테스팅과 모니터링하기 위해서는 RIOS 스케쥴러가 각 태스크들의 주기별 동작이 완료한 후 태스크들이 동작하지 않을 때 테스팅 태스크와 모니터링 태스크를 수행하는 것이 바람직하다.
이러한 스케쥴링을 위해 테스팅 태스크와 모니터링 태스크를 도 5와 같이 정의한다. 테스팅 태스크와 모니터링 태스크가 일정한 주기마다 반복적으로 수행하게 되면 어플리케이션 동작에 영향을 줄 수 있기 때문에 태스크들의 주기를 음수로 정의하여 다른 태스크들이 동작하지 않는 시점에 태스크가 수행될 수 있도록 정의하여 스케쥴러가 태스크를 구분하여 처리할 수 있다.
도 5에는 테스팅 주기가 -1로 설정되고, 모니터링 주기가 -2로 설정되었으나 이에 대해 한정하는 것은 아니며 설정에 따라 변경될 수 있다. 도 10에서는 테스팅 태스크와 모니터링 태스크가 각각 동일한 주기인 -1로 설정되었음을 확인할 수 있다.
도 6은 발명의 실시예에 따른 RIOS 기반 스케쥴러의 코드를 나타내는 도면이다. 테스팅 태스크와 모니터링 태스크를 포함한 모든 태스크를 스케쥴링하기 위한 스케쥴러의 핵심 코드는 도 6과 같다.
타이머 인터럽트를 최소한으로 하기 위해서 테스팅 태스크와 모니터링 태스크를 제외한 모든 태스크들의 주기의 최대공약수인 tasksPeriodGCD를 주기로 설정한다.
테스팅 태스크와 모니터링 태스크를 제외한 모든 태스크는 타이머 인터럽트 주기만큼 자신이 수행될 차례인지 확인하고 수행을 하게 된다. 이 과정에서 어떤 태스크도 수행되지 않는 시점이 되면, 테스팅 태스크와 모니터링 태스크를 수행하게 되므로 다른 어플리케이션 태스크들의 동작에 미치는 영향을 최소화할 수 있다.
도 7은 발명의 실시예에 따른 테스팅과 모니터링을 위한 제어 변수를 나타내는 도면이다.
테스팅과 모니터링에 필요한 제어 변수와 파라미터 등록 함수는 도 7과 같이 정의하여 사용할 수 있다. 제어변수는 정수 정보를 관리할 intBuf와 실수 정보를 관리할 floatBuf를 선언하여 사용한다.
또한, 임베디드 소프트웨어는 자원에 제약이 많기 때문에 최소한의 자원으로 테스팅과 모니터링을 수행하여야 하므로 테스팅과 모니터링에 필요한 정보를 관리하는 변수를 공용으로 사용한다.
도 8은 발명의 실시예에 따른 테스팅과 모니터링 파라미터 등록 코드를 나타내는 도면이다.
테스팅과 모니터링에 필요한 파라미터 등록에 관한 함수는 도 8과 같이 정의하여 사용한다. 테스팅과 모니터링에 사용할 파라미터를 포인터로 참조함으로써 테스팅 테스크와 모니터링 테스크에서도 접근하여 값을 변경하거나 호스트로 전달할 수 있다. 이때, 파라미터를 관리하는 버퍼의 인덱스는 파라미터를 등록할 때마다 1씩 증가하는데 파라미터를 타입별로 관리하기 때문에 인덱스도 타입별로 증가한다.
도 9는 발명의 실시예에 따른 어플리케이션 수행 중 사용하는 통신 프로토콜의 일 예를 나타내는 도면이다. 테스팅과 모니터링시 호스트와 임베디드 시스템간의 통신 프로토콜은 도 9과 같이 정의한다.
이 프로토콜에서 타입은 정수형을 뜻하는 “I”와 실수형을 뜻하는 “F” 2가지만 존재하며 인덱스는 임베디드 시스템에서 등록된 버퍼에서의 인덱스이다. 파라미터 등록 시 응답으로 받았던 인덱스들을 관리하여 테스트용 파라미터는 값을 제어할 수 있고 모니터용 파라미터는 값을 응답만 받을 수 있다.
모든 메시지 크기를 통일하기 위해서 총 12바이트로 구성하고 메시지 식별자인 최상위 2바이트는 아스키코드로 전송되고 이를 제외한 나머지 10바이트는 모두 바이너리로 전송된다. 테스팅과 모니터링을 할 때, 응답 메시지의 시각은 절대적인 시각이 아니라 어플리케이션에서 타이머가 수행된 횟수를 의미하며 이를 계산하여 호스트에서는 수행시간을 측정할 수 있다.
아스키 코드는 미국에서 표준화한 정보교환용 7비트 부호체계이다. 000(0x00)부터 127(0x7F)까지 총 128개의 부호가 사용된다. 이는 영문 키보드로 입력할 수 있는 모든 기호들이 할당되어 있는 부호 체계이며, 매우 단순하고 간단하기 때문에 어느 시스템에서도 적용가능하다는 장점이 있다.
도 10은 발명의 실시예에 따른 어플리케이션의 태스크 구성을 나타내는 도면이고, 도 11은 발명의 실시예에 따른 RIOS 기반 임베디드 시스템 소프트웨어 테스트 결과를 나타내는 도면이다.
본 발명의 실시예에서 제안한 RIOS 기반의 구조를 적용한 샘플 어플리케이션을 개발하여 실험하였다. 실험에 사용된 프로그램 태스크는 총 4개로 도 10과 같이 구성하였다.
테스팅 태스크는 3번 태스크에 사용할 n값을 호스트로부터 입력받아 n값을 변경하고 모니터링 태스크는 센서 값을 호스트로 출력한다. 그리고 2, 3번 태스크는 자신의 태스크 주기마다 자신의 작업을 수행한다. 실험결과로 통신 프로토콜에 맞게 전송된 메시지를 확인할 수 있으며 가상화된 센서 값을 모니터할 수 있음을 확인할 수 있다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 실시예에 설명된 특징, 구조, 효과 등은 본 발명의 적어도 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의하여 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다.
따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. 또한, 이상에서 실시예들을 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예들에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부한 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
100: 테스트 장치
110: 테스팅 태스크 생성 모듈
120: 모니터링 테스크 생성 모듈
130: 어플리케이션 태스크 생성부
140: 어플리케이션 태스크 실행부
150: 제어부
160: 테스팅 및 모니터링 태스크 실행부
110: 테스팅 태스크 생성 모듈
120: 모니터링 테스크 생성 모듈
130: 어플리케이션 태스크 생성부
140: 어플리케이션 태스크 실행부
150: 제어부
160: 테스팅 및 모니터링 태스크 실행부
Claims (7)
- 어플리케이션의 테스팅과 모니터링을 위한 테스팅 태스크 및 모니터링 테스크를 각각 생성하는 테스팅 태스크 생성 모듈 및 모니터링 테스크 생성 모듈;
상기 어플리케이션의 태스크가 모두 실행되었는지를 판단하는 제어부; 및
상기 제어부의 판단 결과에 따라 상기 테스팅 태스크 및 모니터링 테스크를 실행하는 테스팅 및 모니터링 태스크 실행부를 포함하며,
상기 제어부는 어플리케이션의 태스크가 모두 실행되었는지의 여부를 태스크들의 주기를 음수로 설정하여 판단하는 것을 특징으로 하는 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치.
- 제1항에 있어서,
상기 어플리케이션의 동작에 필요한 태스크를 생성하는 어플리케이션 태스크 생성부를 포함하는 것을 특징으로 하는 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치.
- 제2항에 있어서,
상기 어플리케이션의 동작에 필요한 태스크를 실행하는 어플리케이션 태스크 실행부를 포함하는 것을 특징으로 하는 RIOS 기반 임베디드 시스템 소프트웨어 테스트 장치.
- 삭제
- 삭제
- 테스팅 태스크 생성모듈 및 모니터링 테스크 생성모듈이 각각 어플리케이션의 테스팅과 모니터링을 위한 테스팅 및 모니터링 태스크를 생성하는 단계;
어플리케이션 태스크 생성부가 상기 어플리케이션의 실행을 위한 어플리케이션 태스크를 생성하고 수행하는 단계;
제어부가 상기 어플리케이션 태스크가 모두 수행되었는지의 여부를 태스크들의 주기를 음수로 설정하여 판단하는 단계; 및
상기 어플리케이션 태스크가 모두 수행된 경우 상기 제어부의 제어에 따라 테스팅 및 모니터링 태스크 실행부가 상기 테스팅 및 모니터링 태스크를 수행하는 단계를 포함하는 것을 특징으로 하는 RIOS 기반 임베디드 시스템 소프트웨어 테스트 방법.
- 제6항에 있어서,
상기 테스팅 및 모니터링 태스크를 생성하는 단계 이전에 메인함수가 수행되어 상기 어플리케이션을 초기화하는 단계를 더 포함하는 것을 특징으로 하는 RIOS 기반 임베디드 시스템 소프트웨어 테스트 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170061817A KR102025553B1 (ko) | 2017-05-18 | 2017-05-18 | Rios 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170061817A KR102025553B1 (ko) | 2017-05-18 | 2017-05-18 | Rios 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180126854A KR20180126854A (ko) | 2018-11-28 |
KR102025553B1 true KR102025553B1 (ko) | 2019-09-26 |
Family
ID=64561811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170061817A KR102025553B1 (ko) | 2017-05-18 | 2017-05-18 | Rios 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102025553B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009026113A (ja) * | 2007-07-20 | 2009-02-05 | Fujitsu Microelectronics Ltd | シミュレーション装置及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101019210B1 (ko) | 2007-04-25 | 2011-03-04 | 이화여자대학교 산학협력단 | 이뮬레이트를 활용한 임베디드 소프트웨어 테스트 장치 및그 방법 |
KR101618872B1 (ko) * | 2009-06-19 | 2016-05-10 | 강원대학교산학협력단 | 로봇용 소프트웨어 컴포넌트 테스트를 위한 웹 기반 계층적 테스트 시스템 및 그 방법 |
-
2017
- 2017-05-18 KR KR1020170061817A patent/KR102025553B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009026113A (ja) * | 2007-07-20 | 2009-02-05 | Fujitsu Microelectronics Ltd | シミュレーション装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20180126854A (ko) | 2018-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1982270B1 (en) | Context based code analysis | |
AU2019202251A1 (en) | Automated program code analysis and reporting | |
US20150026664A1 (en) | Method and system for automated test case selection | |
US11010505B2 (en) | Simulation of virtual processors | |
AU2019246793B2 (en) | Generalized virtualization platform for systems using hardware abstraction software layers | |
US10078500B2 (en) | Method and system for automatic code generation | |
JP2024507532A (ja) | プログラムコード欠陥及び使用の許容可能性の判定のためのシステム及び方法 | |
TWI758679B (zh) | 用於指令執行中之負零控制之電腦程式產品、電腦系統及電腦實作方法 | |
CN105631134A (zh) | 一种用于芯片随机验证的分批随机机制 | |
WO2019142266A1 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
KR102025553B1 (ko) | Rios 기반 임베디드 시스템 소프트웨어 테스트 장치 및 방법 | |
US20160085883A1 (en) | Verification System for System Design Consistency | |
CN111709117A (zh) | 核电模拟机全寿期过程管理方法及装置 | |
CN116450431A (zh) | Cpu参考模型的指令功能测试系统及其方法、计算机设备和存储介质 | |
US9892010B2 (en) | Persistent command parameter table for pre-silicon device testing | |
Wall et al. | Introducing temporal analyzability late in the lifecycle of complex real-time systems | |
Popić et al. | The benefits of the coding standards enforcement and it's influence on the developers' coding behaviour: A case study on two small projects | |
US10776255B1 (en) | Automatic verification of optimization of high level constructs using test vectors | |
CN113220586A (zh) | 一种自动化的接口压力测试执行方法、装置和系统 | |
Pitchford | Embedded software quality, integration, and testing techniques | |
JP7499366B2 (ja) | 正確性検証システム、方法、装置、およびプログラム | |
EP3379409A1 (en) | Automated program code analysis and reporting | |
US12078676B1 (en) | System and method for device under test (DUT) validation reuse across multiple platforms | |
US11241962B2 (en) | Evaluation apparatus for display arbitration control and generation apparatus for rule definition file | |
Saglietti | Evaluation of pre-developed software for usage in safety-critical systems |
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 |