KR102110381B1 - Dds 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치 - Google Patents

Dds 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치 Download PDF

Info

Publication number
KR102110381B1
KR102110381B1 KR1020180062787A KR20180062787A KR102110381B1 KR 102110381 B1 KR102110381 B1 KR 102110381B1 KR 1020180062787 A KR1020180062787 A KR 1020180062787A KR 20180062787 A KR20180062787 A KR 20180062787A KR 102110381 B1 KR102110381 B1 KR 102110381B1
Authority
KR
South Korea
Prior art keywords
dds
test
dcps
api
test module
Prior art date
Application number
KR1020180062787A
Other languages
English (en)
Other versions
KR20190136722A (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 KR1020180062787A priority Critical patent/KR102110381B1/ko
Publication of KR20190136722A publication Critical patent/KR20190136722A/ko
Application granted granted Critical
Publication of KR102110381B1 publication Critical patent/KR102110381B1/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/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치는, DDS 개발자가 단일 화면에서 다양한 조건으로 메뉴를 선택함으로써, DDS 통신 미들웨어의 각종 기능 및 비 기능 테스트가 수행될 수 있도록 해 주는 DDS 테스트 장치를 제공함에 기술적 특징이 있다.

Description

DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치{DATA DISTRIBUTION SERVICE ENGINE TEST DEVICE SUPPORTING DEVELOPMENT AND MAINTENANCE OF DDS COMMUNICATION MIDDLEWARE}
본 발명은 DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치에 관한 것으로, 더욱 상세하게는 DDS 개발자가 단일 화면에서 다양한 조건으로 메뉴를 선택함으로써, DDS 통신 미들웨어의 각종 기능 및 비 기능 테스트가 수행될 수 있도록 해 주는 DDS 테스트 장치를 제공하는, DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치에 관한 것이다.
일반적으로 DDS(Data Distribution Service)는 OMG(Object Management Group)에서 국제 표준으로 제정한 데이터 중심의 발간-구독(Publish-Subscribe) 방식의 통신 미들웨어로써, 미리 약속된 데이터 타입인 토픽(Topic)을 통해 데이터를 송수신 한다.
DDS(Data Distribution Service)는 데이터 신뢰성 및 상호 운용성을 보장하며, 실질적인 데이터 통신을 담당하는 RTPS(Real-Time Publish Subscribe) 계층과, 응용프로그램에 데이터의 발간/구독을 위한 기능 인터페이스를 제공하는 DCPS(Data-Centric Publish Subscribe) 계층으로 구성된다.
한편 통신 미들웨어는 응용프로그램과 OS(Operating System) 사이에 존재하는 중간계층의 시스템 소프트웨어로, 일반적으로 화면이 없어 동작 상태를 육안으로 손쉽게 확인하기 어려우며, 동작상태를 육안으로 확인하기 위해서는 테스트를 위한 응용 프로그램을 매번 개발하여 기능 및 비 기능을 테스트해야 하는 특성을 갖는다.
즉 소프트웨어(S/W) 개발 시 구현단계에서부터 테스트는 빈번하게 수행해야 하며, 소프트웨어(S/W)의 일부만 수정하더라도 다른 기능이나 성능 등 어딘가에 영향을 끼칠 수 있으므로, 소프트웨어(S/W) 수정시마다 매번 모든 기능에 대한 테스트를 수행해야 하며, 통신 미들웨어 특성상 성능, 상호 운용성 등의 비 기능 테스트를 동반하여야 한다.
또한 소프트웨어(S/W) 수정 시 뿐 만아니라, 개발 완료 후에도 새로운 환경(이를테면, 사이트, 운영체제 등)에 설치, 이관, 통합 등의 다양한 상황에서 다시 전체 테스트가 필요하다.
하지만, 종래기술은 DDS 통신 미들웨어의 테스트를 수행할 표준 테스트 방법이나 도구가 없어 개발자마다 상이하며, 대부분 매번 간단한 응용프로그램을 개발하거나, 디버깅을 통해 기능의 동작 상태를 확인하고 있는 실정이다.
또한 DDS는 150여개의 표준 API가 있으며, 1~2줄의 소스 변경 시에도 150여개의 기능과 더불어 비 기능까지 모두 테스트하는 것은 개발자의 입장에서 큰 부담이 되는 작업으로, DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치가 요청되고 있으나 종래기술은 이를 제공하지 못하는 문제점이 있었다.
대한민국 공개특허 제10-2012-0121202호
본 발명이 해결하고자 하는 기술적 과제는, DDS 개발자가 단일 화면에서 다양한 조건으로 메뉴를 선택함으로써, DDS 통신 미들웨어의 각종 기능 및 비 기능 테스트가 수행될 수 있도록 해 주는 DDS 테스트 장치를 제공하는, DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치를 제공하는데 있다.
상기 기술적 과제를 이루기 위한 본 발명에 따른 DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치는, DDS 개발자가 단일 화면에서 다양한 조건으로 메뉴를 선택함으로써, DDS 통신 미들웨어의 각종 기능 및 비 기능 테스트가 수행될 수 있도록 해 주는 DDS 테스트 장치를 제공한다.
본 발명은 DDS 개발자는 한 화면에서 메뉴를 선택함으로써, DDS 통신 미들웨어의 각종 기능 및 비 기능 테스트를 간편히 다양하게 수행할 수 있는 기술적 효과가 있다.
또한 본 발명은 DDS 테스터 실행 프로그램만 설치하면, 개발자는 소프트웨어(S/W) 개발, 수정, 유지보수, 설치, 이관, 통합 등 다양한 상황에서 빠르고 간편하게 DDS 통신 미들웨어의 전체 테스트를 할 수 있으며, 이로 인해 빠른 문제파악 및 해결로 업무 효율성을 높여주는 기술적 효과가 있다.
도 1은 본 발명에 따른 DDS 테스트 장치 및 DDS 통신 미들웨어 간의 관계를 계략적으로 나타낸 것이다.
도 2a는 본 발명에 따른 DDS 테스트 장치의 주요 구성을 나타낸 것이다.
도 2b는 본 발명에 따른 실시예로, DDS 테스트 모듈의 테스트 항목에 대한 화면 구성을 나타낸 것이다.
도 3a는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 성능 테스트 모듈의 통신 성능 테스트 과정을 순서도로 나타낸 것이다.
도 3b는 도 3a의 성능 테스트 모듈의 통신 성능 테스트의 결과 화면을 예시한 것이다.
도 4는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 상호운용성 테스트 모듈의 엔티티 간의 상호운용 테스트 방법을 설명한 것이다.
도 5a는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 DCPS API 테스트 모듈의 DCPS API 테스트 시 선택 메뉴를 화면으로 나타낸 것이다.
도 5b는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 DCPS API test one by one 메뉴의 선택을 통한 API LIST 중 하나를 테스트한 결과 화면을 나타낸 것이다.
도 5c는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 API 테스트 코드 작성 방법을 예로 나타낸 것이다.
도 5d는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 DCPS API test all 메뉴의 선택을 통해 모든 API 항목이 정상 작동하는 것을 화면으로 나타낸 것이다.
도 5e는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 DCPS API test all 메뉴의 선택을 통해 모든 API 항목 중 일부가 비정상 작동하는 것을 화면으로 나타낸 것이다.
도 6는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 리스너 테스트 모듈의 리스너 테스트 시 인위적으로 이벤트 발생 시키는 예를 나타낸 것이다.
이하에서는 본 발명의 구체적인 실시예를 도면을 참조하여 상세히 설명하도록 한다.
도 1은 본 발명에 따른 DDS 테스트 장치 및 DDS 통신 미들웨어 간의 관계를 계략적으로 나타낸 것이다.
도 1을 참조하면, 본 발명은 DDS 테스트 장치(100) 및 DDS 통신 미들웨어(200)를 포함한다.
이 경우 DDS 테스트 장치(100)는 DDS 개발자가 한 화면에서 다양한 조건으로 메뉴를 선택함으로써 피 테스트 장치인 DDS 통신 미들웨어(200)의 각종 기능 및 비 기능의 테스트를 간편하게 수행할 수 있도록 해주는데, DDS 테스트 장치(100)의 주요 구성 및 각각의 DDS 테스트 수행 방법은 이하 도 2 ~ 도 6에서 후술한다.
DDS 통신 미들웨어(200)는 DDS 테스트 장치(100)를 통해 각종 기능 및 비 기능의 테스트가 수행됨으로써, 개발 및 유지보수 업무가 효율적으로 수행된다.
도 2a는 본 발명에 따른 DDS 테스트 장치의 주요 구성을 나타낸 것이고, 도 2b는 본 발명에 따른 실시예로, DDS 테스트 모듈의 테스트 항목에 대한 화면 구성을 나타낸 것이다.
도 2a를 참조하면, 본 발명에 따른 DDS 테스트 장치(100)는 성능 테스트 모듈(110), 상호운용성 테스트 모듈(120), DCPS API 테스트 모듈(130), 서비스품질(QoS) 테스트 모듈(140), 리스너 테스트 모듈(150) 및 기본 통신 테스트 모듈(160)을 포함하며, 이들 각각의 테스트 모듈에 대한 테스트 항목을 도 2에 도시되었다.
첫째, 성능 테스트 모듈(110)은 시험자로부터 도메인 ID, 엔티티 종류, 수, 데이터 건수, 주기를 입력받아 동적으로 통신환경을 구성한 후에 데이터 송수신을 수행하며 1번째 데이터를 받은 시각부터 마지막 데이터를 받은 시각차를 구하여 DDS 통신 성능(throughput)을 측정하는데, 이에 대한 구체적인 설명은 이하 도 3a 및 도 3b에서 설명한다.
도 3a는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 성능 테스트 모듈의 통신 성능 테스트 과정을 순서도로 나타낸 것이다.
도 3a를 참조하면, 우선 시험자가 DDS 테스터 화면에서 throughput test 메뉴를 선택하는 제1 과정(S10)을 수행한다.
즉 시험자는 DDS 테스터 화면의 테스트 항목 중 [000]throughput 항목을 선택함으로써, N : N 성능 테스트(throughput test)가 시작된다.
다음으로, 시험자는 DDS 테스터 화면에서 도메인 ID를 입력하는 제2 과정(S20)을 수행한다.
다음으로, 시험자는 DDS 테스터 화면에서 엔티티의 종류(Publisher 또는 Subscriber)를 선택하는 제3 과정(S30)을 수행한다.
다음으로 시험자는 DDS 테스터 화면에서 엔티티 객체수를 입력하는 제4 과정(S40)을 수행한다.
이를 부연설명하면, 엔티티 객체수는 도 3b에 도시된 바대로, Publisher : Subscriber = N : N(자연수)으로 입력할 수 있다.
다음으로, 시험자는 DDS 테스터 화면에서 송수신 데이터 건수를 입력하는 제5 과정(S50)을 수행한다.
이 경우 시험자는 송수신 데이터 건수를 임의로 선택할 수 있는데, 이를테면 100 ~ 10000을 사용할 수 있다.
다음으로, 시험자는 DDS 테스터 화면에서 데이터 송수신 시작 명령을 선택하는 제6 과정(S60)을 수행한다.
마지막으로, 시험자는 엔티티 간의 각각의 송수신 시각을 측정하여 엔티티 간의 각각의 DDS 통신 성능을 테스트 하고 과정을 종료하는 제7 과정(S70)을 수행한다.
이하 상기 제1 과정(S10) ~ 제7 과정(S70)을 엔티티 간 N : N = 2 : 2인 경우(실시예1)에 대해 부연 설명한다.
<실시예1>
(1) Subscriber측 실행 준비과정
1-1. Subscriber역할을 할 테스트 프로그램을 하나 실행시킨다.
1-2. Throughput Test 메뉴를 선택한다.
(DDS 테스터 화면의 테스트 항목 중 [000]throughput 항목)
1-3. 참여할 도메인 ID를 입력한다. (예: '100')
1-4. 엔티티 종류 중 Subscriber를 선택한다.
1-5. 엔티티 객체 수에 N에 해당하는 '2'를 입력한다.
(그러면 내부적으로 해당 Subscriber에 2개의 DataReader를 생성함)
1-6. 수신 받을 데이터 개수를 입력한다.
(예: '10000', 정확히 입력해야 성능측정을 위한 데이터 카운트 가능)
1-7. 생성된 2개의 DataReader는 데이터를 Waiting하는 상태가 된다.
(2) Publisher측 실행 준비과정
2-1. Publisher 역할을 할 테스트 프로그램을 하나 더 실행시킨다.
2-2. TroughputTest 메뉴를 선택한다.
(DDS 테스터 화면의 테스트 항목 중 [000]throughput 항목)
2-3. 참여할 도메인 ID를 입력한다.
(Subscriber측과 동일하게 도메인 ID '100')
2-4. 엔티티 종류 중 Publisher를 선택한다.
2-5. 엔티티 객체 수에 N에 해당하는 '2'를 입력한다.
(그러면 내부적으로 해당 Publisher에 2개의 DataWriter를 생성함)
2-6. 송신할 데이터 개수 입력한다. (예: '10000')
2-7. '2'개의 DataWriter에서 각각 '10000'건의 데이터를 delay 없이 송신한다.
(3) Subscriber측 실행 완료과정
1-8. 각각의 DataReader가 10000건의 데이터 수신을 완료하면 결과를 화면에 출력한다. (도 3c 참조)
(4) Publisher측 실행 완료과정
2-8. 각각의 DataWriter가 10000건의 데이터 송신을 완료하면 결과를 화면에 출력한다.
이와 같이 각각의 엔티티(entity)에서 입력한 개수의 데이터를 처리(송수신) 하는데 걸린 시간을 출력하며, 이를 통해 성능 테스트 모듈(110)은 성능 요구조건에 부합하는 지 등 DDS 통신 성능(throughput)을 판단할 수 있게 된다.
다시 도 2a를 참조하면, 둘째로 상호운용성 테스트 모듈(120)은 DDS 표준 제안자이자 세계 DDS 시장을 선도하는 RTI 사의 DDS 상호운용 시험을 위해 제공하는 프로그램을 통해 서로 다른 'DDS 제품'에서 생성된 엔티티 간의 상호 운용성을 테스트할 수 있도록 해주는데, 이에 대한 상세한 설명은 이하 도 4에서 설명한다.
도 4는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 상호 운용성 테스트 모듈의 엔티티 간의 상호운용 테스트 방법을 설명한 것이다.
우선 RTI 사에서 DDS 상호운용 시험을 위해 제공하는 Shape Demo 프로그램에서 제시하는 토픽(topic)의 형태는 도형의 색상, 좌표정보(x,y), 사이즈 필드로 구성된 Shape Type를 갖는다.
이 경우 DDS DataWriter와 DDS DataReader가 상호 통신을 하기 위해서는 토픽명과 토픽의 형태가 동일해야 한다.
한편 서로 다른 DDS 제품을 기반으로 개발된 통신 어플리케이션 간 데이터를 주고받기 위해서는, 각각의 DDS가 표준에 포함된 여러 가지 사항들(이를테면, 메시지의 구조, 서로를 인지하기 위한 Discovery 프로토콜, 유실된 데이터의 요청, 응답 처리 방식 등)이 표준에 따라 정확하게 구현되어 있어야 통신이 가능하게 되며, 이들 중 하나라도 표준과 맞지 않으면 통신이 전혀 불가능하거나 유지될 수 없게 된다.
만일 필드가 하나라도 다를 경우 통신이 불가할 수 있기 때문에 토픽(Shape)을 RTI Shape Demo와 동일하게 'Shape'로 선언하였고, 이 토픽 데이터가 송신 및 수신이 가능함을 통해 서로 다른 'DDS 제품'에서 생성된 엔티티 간 상호운용을 확인('가능하다' 또는 '불가능하다')할 수 있게 된다.
도 4를 참조하면, 먼저 사용자 DDS 엔진(Publisher)으로부터 RTI DDS(Subscriber)로 Shape 토픽 데이터를 전송하면(실행1), RTI Shape Demo 프로그램에서 실시간으로 수신 받은 좌표에 도형을 표시함으로써 상호운용 통신이 가능함을 확인한다.
즉 사용자 DDS 엔진(Publisher)와 RTI DDS(Subscriber) 간에 상호 운용이 성공적이라면 해당 Shape이 화면에서 움직이는 듯이(보낸 색상, 사이즈의 도형이 보낸 좌표에 정확하게 표시) 출력된다. (<실행1의 출력결과> 화면 참조)
반면 RTI DDS(Publisher)로부터 사용자 DDS 엔진(Subscriber)으로 Shape 토픽 데이터를 전송하면(실행2), 콘솔에 수신 받은 도형의 좌표정보를 텍스트 형태로 화면에 출력함으로써 상호운용 통신이 가능함을 확인한다. (<실행2의 출력결과> 화면 참조)
한편 실행1 및 실행2의 경우, 만일 RTI DDS(Publisher)와 사용자 DDS 엔진(Subscriber) 간에 상호운용이 불가능 하다면 송수신(도형의 움직임, 화면 출력 등)은 전혀 수행되지 않는다.
다시 도 2a를 참조하면, 셋째로 DCPS API 테스트 모듈(130)은 DCPS 계층에서 제공하는 DDS 표준 API를 시험하는 모듈로, 이에 대한 화면 구성 등의 구체적인 내용은 이하 도 5a ~ 도 5e에서 설명한다.
도 5a는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 DCPS API 테스트 모듈의 DCPS API 테스트 시 선택 메뉴를 화면으로 나타낸 것이고, 도 5b는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 DCPS API test one by one 메뉴의 선택을 통한 API LIST 중 하나를 테스트한 결과 화면을 나타낸 것이며, 도 5c는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 API 테스트 코드 작성 방법을 예로 나타낸 것이고, 도 5d는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 DCPS API test all 메뉴의 선택을 통해 모든 API 항목이 정상 작동하는 것을 화면으로 나타낸 것이며, 도 5e는 도 5a의 DCPS API 테스트 모듈의 DCPS API 테스트 시 DCPS API test all 메뉴의 선택을 통해 모든 API 항목 중 일부가 비정상 작동하는 것을 화면으로 나타낸 것이다.
도 5a를 참조하면, DCPS API 테스트 모듈(130)은 테스트 항목(test list)에서 [0003]DCPS API test all(모든 API 자동테스트) 및 [0004]DCPS API test one by one(선택적으로 하나씩 테스트) 두 가지 메뉴로 구성된다.
이 경우 DCPS API test all 메뉴는 엔진 수정 후 모든 기능이 정상 작동하는지 간편하게 테스트할 수 있도록 모든 DCPS API 목록(150 여 가지)을 자동으로 테스트할 수 있도록 해주며, 테스트 결과는 모든 DCPS API 항목이 정상 작동함을 보여주는 화면 출력(도 5d 참조) 또는 DCPS API 항목 중 일부가 비정상 작동함을 보여주는 화면 출력(도 5e 참조) 형태로 제공된다.
DCPS test all 메뉴는 150가지의 DCPS API를 한꺼번에 순차적으로 실행하는 기능으로써, 엔진 수정 후 모든 기능이 정상 작동하는지 간편하게 테스트할 수 있다.
반면 DCPS API test one by one 메뉴는 모든 DCPS API 목록(150 여 가지)을 선택적으로 하나씩 테스트할 수 있도록 해주는데, 도 5b에 도시된 바대로, 모든 DCPS API 목록(150 여 가지) 중 사용자가 테스트를 원하는 DCPS API 항목의 번호를 입력하면 결과(TRUE, FALSE)를 확인할 수 있다.
한편 모든 DCPS API의 테스트 결과는 TRUE 또는 FALSE로 도출되도록 테스트 코드를 작성할 수 있는데, 이 경우 도 5c에 도시된 바대로, 테스트 코드는 도5b의 화면 캡처에서 입력한 2번 DCPS API 인 DomainParticipant::set_qos()의 작성을 예로 나타내었다.
다시 도 2a를 참조하면, 넷째로 서비스품질(QoS) 테스트 모듈(140)은 위의 QoS(Quality of Service)가 정상적으로 동작하는지를 확인하기 위한 메뉴로, 테스트를 원하는 QoS 항목을 선택하면 역시 TRUE, FALSE로 테스트 성공 유무 결과를 표시해 준다.
이 경우 DDS 테스트 장치(100)는 응용구현 시 간단한 설정만으로 다양한 통신품질을 보장해주는 22종의 QoS(Quality of Service) 정책을 제공하며, 제공되는 QoS 종류는 하기 표1과 같다.
Figure 112018053781940-pat00001
다시 도 2a를 참조하면, 다섯째로 리스너 테스트 모듈(150)은 비 동기 방식의 이벤트 알림 메커니즘인 리스너(Listener)가 정상적으로 동작하는지 인위적으로 이벤트를 발생시켜 테스트 결과를 확인할 수 있도록 해준다.
이 경우 DDS에서 발생하는 이벤트 종류와 발생조건은 하기 표2로 정리할 수 있다.
Figure 112018053781940-pat00002
표2를 참조하면, 일예로 객체 Topic에 대한 리스너 on_inconsistent_topic() 이벤트를 인위적으로 발생시키기 위해서는, 도 6에 도시된 바대로, 이벤트 발생조건인 토픽명은 동일하나, 타입명이 불일치한 토픽을 양측에 만들어 주면 된다.
도 6는 본 발명에 따른 DDS 테스트 장치의 주요 구성 중 리스너 테스트 모듈의 리스너 테스트 시 인위적으로 이벤트 발생 시키는 예를 나타낸 것이다.
도 6을 참조하면, DataWriter 측의 토픽명은 Blue, 타입명은 Color 으로, DataReader 측의 토픽명은 Blue, 타입명은 Emotion 으로, 이벤트 발생조건인 토픽명은 동일하나, 타입명이 불일치한 토픽을 양측에 인위적으로 만들어 줌으로써, 리스너 on_inconsistent_topic() 이벤트가 발생됨을 확인할 수 있다.
마찬가지 방식으로, 객체 DataWriter, DataReader, Subscriber 각각에 대해 각각의 이벤트 발생조건에 따라 인위적으로 이벤트를 발생시켜 리스너(Listener)가 정상적으로 동작하는지를 테스트 할 수 있다.
다시 도 2a를 참조하면, 여섯째로 기본 통신 테스트 모듈(160)은 단순히 DDS가 제대로 설치되었는지, 네트워크나 방화벽 상태가 정상인지 등 개발한 DDS의 기본적인 데이터 통신이 가능한지를 체크하기 위한 메뉴를 제공한다.
이 경우 기본 통신 테스트 모듈(160)은 앞의 성능 테스트 모듈(110), 상호운용성 테스트 모듈(120)와 같이 DDS 통신이 이루어진다는 점에서 원리는 동일하지만, 단지 성능이나 제품 간 상호운용에 관계없이 단순히 통신이 되는지 안 되는지를 체크하기 위한 메뉴로, 가장 단순한 형태의 토픽을 발간 및 구독하는 모듈 형태를 갖는다.
즉 기본 통신 테스트 모듈(160)은 앞의 성능 테스트 모듈(110), 상호운용성 테스트 모듈(120)의 메뉴로도 기본 통신 테스트(Normal Communication Test)를 수행할 수도 있지만, 테스트의 특성 상 테스트 과정과 통신패킷을 매우 단순화 및 간단화 시켜 수행함이 바람직하다.
이상에서는 본 발명에 대한 기술사상을 첨부 도면과 함께 서술하였지만 이는 본 발명의 바람직한 실시 예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 또한 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구나 본 발명의 기술적 사상의 범주를 이탈하지 않는 범위 내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.
100 : DDS 테스트 장치
110 : 성능 테스트 모듈
120 : 상호운용성 테스트 모듈
130 : DCPS API 테스트 모듈
140 : 서비스품질(QoS) 테스트 모듈
150 : 리스너 테스트 모듈
160 : 기본 통신 테스트 모듈
200 : DDS 통신 미들웨어

Claims (7)

  1. 삭제
  2. DDS 개발자가 단일 화면에서 다양한 조건으로 메뉴를 선택함으로써, DDS 통신 미들웨어의 각종 기능 및 비 기능 테스트가 수행될 수 있도록 해 주는 DDS 테스트 장치를 제공하고,
    상기 DDS 테스트 장치는,
    엔티티 간의 DDS 통신을 구현하도록 도메인 ID, 엔티티 종류, 엔티티 수 및 송수신 데이터 건수를 입력 받아 성능 테스트를 준비하고, 설정된 데이터의 건수가 완료 될 때까지 엔티티 간의 데이터 송수신을 수행하여 각각의 데이터 송수신 시각을 측정하여 엔티티 간의 DDS 통신 성능을 테스트하는 성능 테스트 모듈;
    DDS 상호운용 시험을 위해 제공하는 Shape Demo 프로그램에서 제시하는 토픽(topic)에 따라 서로 다른 DDS 제품에서 생성된 엔티티 간의 상호 운용성을 테스트할 수 있도록 해주는 상호운용성 테스트 모듈;
    DCPS 계층에서 제공하는 DDS 표준 API를 선택적 또는 일괄적으로 시험할 수 있도록 해주는 DCPS API 테스트 모듈;
    QoS(Quality of Service)가 정상적으로 동작하는지를 확인하기 위한 메뉴로, 테스트를 원하는 QoS 항목을 선택하면 역시 TRUE, FALSE로 테스트 성공 유무 결과를 표시해주는 서비스품질(QoS) 테스트 모듈;
    비 동기 방식의 이벤트 알림 메커니즘인 리스너(Listener)가 정상적으로 동작하는지 인위적으로 이벤트를 발생시켜 테스트를 수행하는 리스너 테스트 모듈; 및
    단순히 DDS가 제대로 설치되었는지, 네트워크나 방화벽 상태가 정상인지 개발한 DDS의 기본적인 데이터 통신이 가능한지를 체크하기 위한 메뉴를 제공하는 기본 통신 테스트 모듈:을 포함하되,
    사전에 정의된 이벤트 발생조건에 따라 객체 Topic, DataWriter, DataReader 또는 Subscriber 각각에 대해 인위적으로 이벤트를 발생시켜 객체 각각의 리스너(Listener)가 정상적으로 동작하는지를 테스트하는 것을 특징으로 하는 DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치.
  3. 제 2항에 있어서, 상기 상호운용성 테스트 모듈은,
    토픽(topic)의 형태로 도형의 색상, 좌표정보 및 사이즈 필드로 구성된 Shape Type를 사용하는 것을 특징으로 하는 DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치.
  4. 제 3항에 있어서, 상기 상호운용성 테스트 모듈은,
    사용자 DDS 엔진과 RTI DDS 엔진 상호간에 Shape 토픽 데이터를 송신 또는 수신하고, 송신 또는 수신 시 화면에 Shape의 움직임 출력 또는 Shape의 좌표정보를 텍스트 형태로 출력하는 지 여부를 통해 상호 운용성을 테스트하는 것을 특징으로 하는 DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치.
  5. 제 2항에 있어서, 상기 DCPS API 테스트 모듈은,
    엔진 수정 후 모든 기능이 정상 작동하는지 여부를 테스트할 수 있도록, 모든 DCPS API 항목을 한꺼번에 순차적으로 실행하도록 명령하는 DCPS test all 메뉴; 및
    모든 DCPS API 항목 중 일부를 선택하고, 선택된 DCPS API 항목만을 테스트 할 수 있도록 명령하는 DCPS API test one by one 메뉴를 포함하는 것을 특징으로 하는 DDS 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치.
  6. 삭제
  7. 삭제
KR1020180062787A 2018-05-31 2018-05-31 Dds 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치 KR102110381B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180062787A KR102110381B1 (ko) 2018-05-31 2018-05-31 Dds 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180062787A KR102110381B1 (ko) 2018-05-31 2018-05-31 Dds 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치

Publications (2)

Publication Number Publication Date
KR20190136722A KR20190136722A (ko) 2019-12-10
KR102110381B1 true KR102110381B1 (ko) 2020-05-13

Family

ID=69002999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180062787A KR102110381B1 (ko) 2018-05-31 2018-05-31 Dds 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치

Country Status (1)

Country Link
KR (1) KR102110381B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101602099B1 (ko) * 2015-01-30 2016-03-10 충남대학교산학협력단 사물인터넷에서 레스트 기반의 서비스 연동 시스템 및 그 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101207219B1 (ko) 2011-04-26 2012-12-03 국방과학연구소 데이터 분산 서비스 네트워크 과부하 방지 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101602099B1 (ko) * 2015-01-30 2016-03-10 충남대학교산학협력단 사물인터넷에서 레스트 기반의 서비스 연동 시스템 및 그 방법

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Cortney R. Riggs, PrismTech Data Distribution Service Java API Evaluation, NASA Technical Reports Server (2008.01.01)*
rti, RTI Shapes Demo User’s menual version 5.2.3, Real-Time Innovations (2016.04)*
TTA, 데이터 배포 서비스(DDS)기반 시스템의 발간/구독 객체 자동배치서비스 인터페이스 정의, TTAK.KO-11.0228, (2016.12.27)*

Also Published As

Publication number Publication date
KR20190136722A (ko) 2019-12-10

Similar Documents

Publication Publication Date Title
US9442827B2 (en) Simulation environment for distributed programs
CN110765024B (zh) 模拟测试方法、装置、电子设备和计算机可读存储介质
GB2519621A (en) Business transaction correlation with client request monitoring data
KR101520056B1 (ko) 클라우드 기반 모바일/온라인 게임 서버 부하 테스트 자동화 서비스 방법
US20090158271A1 (en) Installing method, installer, and installing program
CN105302722B (zh) Cts自动测试方法及装置
CN109684188B (zh) 测试方法和装置
CN112015654A (zh) 用于测试的方法和装置
JP7387773B2 (ja) 継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラム
US20120102467A1 (en) Collaborative Software Debugging In A Distributed System With Client-Specific Display Location Upon Event Notification
CN111045941B (zh) 用户界面控件的定位方法、装置及存储介质
CN113282444A (zh) 用于业务流程调试的可视化方法和装置
CN106815150B (zh) 服务端接口测试系统及方法
WO2022100075A1 (zh) 性能检测方法、装置、电子设备和计算机可读介质
KR102110381B1 (ko) Dds 통신 미들웨어의 개발 및 유지를 지원하는 데이터분산서비스 엔진 테스트 장치
CN111104331A (zh) 软件管理方法、终端设备及计算机可读存储介质
CN112416791B (zh) 一种测试对象的缺陷信息处理系统和方法
US20160132424A1 (en) Simulating sensors
US20050125719A1 (en) Tool for displaying JMX monitoring information
CN110096377B (zh) 一种定制化软件发布的实现方法
CN113238944A (zh) 一种测试方法、装置和系统
CN112579447A (zh) 一种浏览器测试方法和装置
CN112671814A (zh) 一种跨平台的设备开发方法、装置及系统
JP6215033B2 (ja) テスト制御装置、通信システム、テスト制御方法、及びテスト制御プログラム
CN112835804B (zh) 测试案例处理方法、装置、电子设备及介质

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