열차제어시스템은 최근의 컴퓨터 기술의 발달에 따른 자동화 및 지능화에 따라 소프트웨어에의 의존성이 더욱 증가하고 있으며, 동시에 소프트웨어의 오류 내재 가능성이 높아지고 실제 장애발생으로 인한 위험비용도 증가하고 있다. 이에 따라 열차제어시스템 소프트웨어의 무결성 검증이 매우 중요한 이슈가 되고 있으며, 이 중에서 열차제어 소프트웨어 기능안전성 검증을 위한 블랙박스 테스팅 도구의 필요성이 제기되고 있으나, 기존 상용도구들은 사용하기 어렵고 복잡하여 실제 현장에서 적용이 거의 되지 않고 있다. 본 논문에서는 이러한 분석을 바탕으로 열차제어시스템 소프트웨어 기능안전성 검증을 위한 실제 사용하고 있은 인터페이스를 통한 새로운 개념의 블랙박스 테스팅 도구를 제안하였다. 현재 제안한 도구의 설계 및 프로토타입이 개발되어 열차제어시스템 소프트웨어 테스팅에 시범적용 중에 있다.
열차제어시스템은 최근의 컴퓨터 기술의 발달에 따른 자동화 및 지능화에 따라 소프트웨어에의 의존성이 더욱 증가하고 있으며, 동시에 소프트웨어의 오류 내재 가능성이 높아지고 실제 장애발생으로 인한 위험비용도 증가하고 있다. 이에 따라 열차제어시스템 소프트웨어의 무결성 검증이 매우 중요한 이슈가 되고 있으며, 이 중에서 열차제어 소프트웨어 기능안전성 검증을 위한 블랙박스 테스팅 도구의 필요성이 제기되고 있으나, 기존 상용도구들은 사용하기 어렵고 복잡하여 실제 현장에서 적용이 거의 되지 않고 있다. 본 논문에서는 이러한 분석을 바탕으로 열차제어시스템 소프트웨어 기능안전성 검증을 위한 실제 사용하고 있은 인터페이스를 통한 새로운 개념의 블랙박스 테스팅 도구를 제안하였다. 현재 제안한 도구의 설계 및 프로토타입이 개발되어 열차제어시스템 소프트웨어 테스팅에 시범적용 중에 있다.
Many railway signalling functions have increasingly depended on computer software with recent development in computing technology, leading to evolution into more flexible and intelligent railway signalling system. Meanwhile, software programs are likely to have many errors and the cost incurred by s...
Many railway signalling functions have increasingly depended on computer software with recent development in computing technology, leading to evolution into more flexible and intelligent railway signalling system. Meanwhile, software programs are likely to have many errors and the cost incurred by such errors has increased. Especially, if fatal software error occurs during railway operation, it may result in loss of lives. So the software verification and validation have become more important. It is needed for software functional safety tool to support these, but most commercial tools depend on direct access to the system's memory, resulting in many difficulties in application. Owing to such difficulties and complexity, they are rarely used in railway signalling system software validation. In this study, a new testing tool for software functional testing through an external interface that can be easily used in functional testing of software was developed. Such testing tool allows development and analysis of test cases for black-box testing through analysis of actually used interface protocols, leading to increased user convenience.
Many railway signalling functions have increasingly depended on computer software with recent development in computing technology, leading to evolution into more flexible and intelligent railway signalling system. Meanwhile, software programs are likely to have many errors and the cost incurred by such errors has increased. Especially, if fatal software error occurs during railway operation, it may result in loss of lives. So the software verification and validation have become more important. It is needed for software functional safety tool to support these, but most commercial tools depend on direct access to the system's memory, resulting in many difficulties in application. Owing to such difficulties and complexity, they are rarely used in railway signalling system software validation. In this study, a new testing tool for software functional testing through an external interface that can be easily used in functional testing of software was developed. Such testing tool allows development and analysis of test cases for black-box testing through analysis of actually used interface protocols, leading to increased user convenience.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
즉, TTCN-3는 국제표준 시험 언어로서 일반 산업이야 정보통신 분야에 많이 활용되고 있어[13-15], TTCN-3 언어를 지원하는 많은 편집 툴들이 있다. 따라서 본 논문에서는 이러한 TTCN-3를 지원하는 상용 도구를 활용하여 테스트케이스를 생성 및 편집할 수 있도록 하는 테스팅케이스 입력모듈을 설계하였다.
본 논문에서는 시험자의 사용성을 증대시킨 새로운 열차제어시스템 블랙박스 테스팅 도구의 설계 내용을 나타내었으며, 제안한 테스팅 도구가 개발되어 국내에서 개발 중인 열차제어시스템 중의 한 장치를 대상으로 그 적용성을 확인하였다. 개발한 테스팅 도구의 적용성 확인을 위한 피시험체는 무선통신을 이용한 차상제어시스템으로, 이 차상제어장치가 지상의 관제장치와 무선랜에 의해 인터페이스 되는 구조이다.
본 논문에서는 이와 같은 기존 상용도구의 문제점 분석을 통해, 보다 쉽게 사용할 수 있는 새로운 구조의 소프트웨어 기능안전성 테스팅 도구를 제안 및 개발하였다. 즉, 내부메모리 액세스를 통한 테스트케이스 생성 및 시험결과 분석과 같은 기존의 블랙박스 테스팅 도구와는 달리 본 논문에서는 피시험체의 실제 외부 인터페이스를 통한 테스트케이스의 입력 및 분석을 통한 기능안전성을 테스팅 하는 도구를 제안하였다.
제안 방법
국제표준 시험 스크립트 언어인 TTCN-3(Testing and Test Control Notation-3)를 기반으로 한 테스트케이스를 생성 및 편집할 수 있도록 설계하였다. 즉, TTCN-3는 국제표준 시험 언어로서 일반 산업이야 정보통신 분야에 많이 활용되고 있어[13-15], TTCN-3 언어를 지원하는 많은 편집 툴들이 있다.
그림 2는 이러한 기존의 방법과 본 논문에서 제안한 방법의 개요를 나타낸 것으로, 제안하는 방법은 기존의 피시험체 내부 메모리에 직접적인 액세스를 통한 테스팅이 아닌 피시험체가 실제 사용하고 있는 인터페이스를 통한 방법이다. 즉, 피시험체가 다른 제어장치와 통신을 위한 실제 인터페이스 채널을 통해 테스트 입력을 전송하고, 피시험체가 이 입력에 따라 동작 후 인터페이스 채널을 통해 전송하는 데이터를 수신하여 적합여부를 검증하는 방법이다.
열차제어시스템은 일반 산업제어시스템보다 더욱 높은 안전성이 요구되는 바이탈 기능을 수행하는 제어장치로서, 기능 안전성 검증이 매우 중요하다. 따라서 기존의 산업용 제어시스템에 일부 활용되고 있는 테스팅 방법들보다 테스트케이스 도출이 용이하여 활용도를 높일 수 있는 접근방법을 제안하였다.
반대로 비유효 값을 입력할 경우 의도하지 않은 상황에 대한 피시험체 기능의 오작동 여부를 시험할 수도 있다. 따라서 본 제안 도구에서는 대상(Target) 시스템의 기능이 정상 동작하는지와, 의도하지 않은 입력에 의한 오동작 여부까지 검증하는 결함주입 테스팅(Fault Injection Testing) 기능이 가능한 구조로 하였다.
본 논문에서 제안하는 블랙박스 테스팅 도구는 앞 절에서 설명한 바와 같이 피시험체가 실제 활용하는 인터페이스를 활용하는 접근 방법으로서, 크게 블랙박스 테스팅 모듈과 도구와 다중 인터페이스 모듈로 구성되어진다. 하부 모듈 중 블랙박스 테스팅 모듈은 실제 테스트케이스의 생성 및 편집, 피시험체로부터 피드백 데이터의 수집, 테스트케이스를 통한 테스트 수행 및 결과분석, 테스트 결과의 분석 및 표출 등의 기능을 수행하는 모듈로서, 블랙박스 테스팅 모듈의 가장 핵심적인 기능을 수행한다.
개발한 테스팅 도구의 적용성 확인을 위한 피시험체는 무선통신을 이용한 차상제어시스템으로, 이 차상제어장치가 지상의 관제장치와 무선랜에 의해 인터페이스 되는 구조이다. 블랙박스 테스팅 도구 인터페이스 연동기는 우선적으로 이더넷을 지원하도록 구성하였고, 물리적인 접속은 스위칭 허브를 사용하였고 인터페이스 연동기능은 소프트웨어로 구현하였다.
타켓 시스템의 블랙박스 테스팅을 위한 테스트케이스는 기본적으로 피시험체의 인터페이스 프로토콜 사양서를 바탕으로 도출되게 되며, 이를 통해 도출된 기본적인 테스트케이스는 블랙박스 테스팅 모듈로 입력되어, 내부의 경계값 분석 모듈과 등치영영 분석 모듈 등 블랙박스 테스팅 하부모듈을 통해 구체적인 테스트케이스가 생성 및 다중인터페이스 연동기를 통해 출력되게 된다. 상세 테스트케이스 생성에 활용되는 블랙박스 테스팅 하부 모듈들은 기 개발된 모듈을 활용하여 본 도구를 설계 및 개발하였다.
그림 6의 (a)는 적합성 시험을 위한 구성을 나타낸 것이고, (b)는 상호 운용성 시험을 위한 구성을 나타낸 것이다. 이 두 가지 시험이 모두 가능하도록 테스팅 도구를 설계 및 개발하였다. (a)와 같이 구성한 적합성 시험은 인터페이스 프로토콜 분석을 통해 피시험체가 인터페이스 하는 다른 제어장치의 송수신 역할을 테스팅 도구가 수행하며, 이 송수신 결과들을 분석하여 대상 시스템의 기능 안전성을 확인하는 방식이다.
본 논문에서는 이와 같은 기존 상용도구의 문제점 분석을 통해, 보다 쉽게 사용할 수 있는 새로운 구조의 소프트웨어 기능안전성 테스팅 도구를 제안 및 개발하였다. 즉, 내부메모리 액세스를 통한 테스트케이스 생성 및 시험결과 분석과 같은 기존의 블랙박스 테스팅 도구와는 달리 본 논문에서는 피시험체의 실제 외부 인터페이스를 통한 테스트케이스의 입력 및 분석을 통한 기능안전성을 테스팅 하는 도구를 제안하였다. 이러한 방식의 블랙박스 테스팅 도구는 실제 사용되는 인터페이스 프로토콜 분석을 통한 블랙박스 테스팅을 위한 테스트케이스의 도출 및 분석이 가능해서 쉽게 시험을 수행할 수 있는 장점이 있다.
대상 데이터
본 논문에서는 시험자의 사용성을 증대시킨 새로운 열차제어시스템 블랙박스 테스팅 도구의 설계 내용을 나타내었으며, 제안한 테스팅 도구가 개발되어 국내에서 개발 중인 열차제어시스템 중의 한 장치를 대상으로 그 적용성을 확인하였다. 개발한 테스팅 도구의 적용성 확인을 위한 피시험체는 무선통신을 이용한 차상제어시스템으로, 이 차상제어장치가 지상의 관제장치와 무선랜에 의해 인터페이스 되는 구조이다. 블랙박스 테스팅 도구 인터페이스 연동기는 우선적으로 이더넷을 지원하도록 구성하였고, 물리적인 접속은 스위칭 허브를 사용하였고 인터페이스 연동기능은 소프트웨어로 구현하였다.
성능/효과
(b)는 테스팅 중인 사진을 나타낸 것으로 사진의 맨 앞쪽 노트북이 본 논문을 통해 개발한 테스팅 도구이며, 타켓 시스템인 차장제어장치와는 이더넷으로 접속하여 적합성 시험 및 상호 운용성 시험을 수행하였다. 개발한 테스팅 도구와 실제 차상제어 시스템의 네트워크에 포함시켜 테스팅 환경을 구성하였으며, 적합성 시험의 경우 테스팅 도구가 타켓 시스템의 인터페이스 연동기 IP 주소를 가졌으며, 상호운용성 시험의 경우 차상제어장치 및 관제시스템 모두 기본 IP 주소를 설정했다. 시험 수행결과 소스코드의 잘못된 코딩으로 인한 오류 3건과 인터페이스 명세 오류 1건을 검출할 수 있었으며, 특히 LCC TC002의 경우 경계값 분석을 통해 입력한 비정상 메시지를 정상적인 메시지로 인식하는 오류를 발견하여 본 시험의 필요성과 효과를 확인할 수 있었다.
개발한 테스팅 도구와 실제 차상제어 시스템의 네트워크에 포함시켜 테스팅 환경을 구성하였으며, 적합성 시험의 경우 테스팅 도구가 타켓 시스템의 인터페이스 연동기 IP 주소를 가졌으며, 상호운용성 시험의 경우 차상제어장치 및 관제시스템 모두 기본 IP 주소를 설정했다. 시험 수행결과 소스코드의 잘못된 코딩으로 인한 오류 3건과 인터페이스 명세 오류 1건을 검출할 수 있었으며, 특히 LCC TC002의 경우 경계값 분석을 통해 입력한 비정상 메시지를 정상적인 메시지로 인식하는 오류를 발견하여 본 시험의 필요성과 효과를 확인할 수 있었다.
후속연구
이러한 운용시나리오에 따라 테스팅 도구가 설계 및 개발되었으며, 개발된 도구는 실제 적용에 있어서 피시험체의 인터페이스 채널에 직접 테스팅 도구를 접속하여 테스트 데이터를 주입 및 피드백 받는 적합성 시험 구성 형태와 피시험체와 실제 인터페이스 하는 다른 제어장치사이의 인터페이스 매체에 접속하여 수누핑 방식에 의한 상호 운용성 시험을 위한 구성 형태로 활용할 수 있다. 그림 6의 (a)는 적합성 시험을 위한 구성을 나타낸 것이고, (b)는 상호 운용성 시험을 위한 구성을 나타낸 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
열차제어시스템의 소프트웨어에 대한 의존성이 더욱 증가하는 이유는?
열차제어시스템은 최근의 컴퓨터 기술의 발달에 따른 자동화 및 지능화에 따라 소프트웨어에의 의존성이 더욱 증가하고 있으며, 동시에 소프트웨어의 오류 내재 가능성이 높아지고 실제 장애발생으로 인한 위험비용도 증가하고 있다. 이에 따라 열차제어시스템 소프트웨어의 무결성 검증이 매우 중요한 이슈가 되고 있으며, 이 중에서 열차제어 소프트웨어 기능안전성 검증을 위한 블랙박스 테스팅 도구의 필요성이 제기되고 있으나, 기존 상용도구들은 사용하기 어렵고 복잡하여 실제 현장에서 적용이 거의 되지 않고 있다.
열차제어시스템 소프트웨어의 무결성 검증이 매우 중요한 이슈가 되고 있는 이유는?
열차제어시스템은 최근의 컴퓨터 기술의 발달에 따른 자동화 및 지능화에 따라 소프트웨어에의 의존성이 더욱 증가하고 있으며, 동시에 소프트웨어의 오류 내재 가능성이 높아지고 실제 장애발생으로 인한 위험비용도 증가하고 있다. 이에 따라 열차제어시스템 소프트웨어의 무결성 검증이 매우 중요한 이슈가 되고 있으며, 이 중에서 열차제어 소프트웨어 기능안전성 검증을 위한 블랙박스 테스팅 도구의 필요성이 제기되고 있으나, 기존 상용도구들은 사용하기 어렵고 복잡하여 실제 현장에서 적용이 거의 되지 않고 있다.
열차제어시스템이란?
열차제어시스템은 철도시스템에서 가장 핵심을 담당하고 있는 바이탈 제어시스템으로, 최근의 컴퓨터 밑 통신기술의 발달에 따라 기존의 기계 및 전기식이던 열차제어 기능들이 컴퓨터 소프트웨어로 대체되어가고 있다. 이러한 기술의 발전에 따라 열차제어장치들의 소프트웨어에의 의존성이 더욱 증가되고 있으며, 차량의 다른 제어장치들과 통신에 의한 인터페이스도 더욱 많아지고 있다.
참고문헌 (15)
Korea Railroad Research Institute, Development of safety assessment technology for railway signaling system, MOCT R&D research report, Jun. 2011.
Korea Railroad Research Institute, Development of technology for safety and efficiency improvement of train operation, KRRI research report, Dec. 2012.
Y. O. Kim, et al., "Logging based system design and implementation of business transaction management for a distributed network environment," J. KICS, vol. 38B, no. 12, pp. 976-983, Dec. 2013.
J. Grabowski, "TTCN-3-A new test specification language for black-box testing of distributed systems," in Proc. 17th Int. Conf. and Exposition on Testing Computer Software (TCS'2000). Washington DC, Jun. 2000.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.