강병욱
(Byungwook Kang)
1iD
이종우
(Jongwoo Lee)
†iD
-
(Dept. of Railway Electrical Signaling Engineering, Graduate School of Railway, Seoul
National University of Science and Technology, Korea. E-mail: kalbeang@seoultech.ac.kr)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Formal Method, Petri net, Interlocking logic, Railway signal, Modelling
1. 서 론
통신, 운송, 제조 및 컴퓨터 시스템은 비결정성(non-determinism), 비동기성(asynchronism), 이벤트 중심(event-driven)
및 동시성(simultaneity)을 가지는 이산이벤트시스템(Discrete Event System)이다(1). 철도신호시스템 또한 이산이벤트시스템이라 할 수 있으며 이는 기술 발전에 따라 시스템 복잡성 증가로 인해 제어에 어려움이 발생하였다. 이를 해결하기
위한 방법으로 정형기법(Formal Methods) 적용에 대한 요구가 제기되었다(2).
이러한 정형기법에는 일반적으로 페트리네트(Petri-Net), Finite State Machines(FSM), Grafcet 등이 있다. FSM은
단순한 시스템을 효과적으로 표현할 수 있으며, Grafcet은 공장자동화 분야에서 많이 사용되고 있다(3). 페트리네트의 경우 FSM, Grafcet에 비해 이해가 쉽고 그래픽 표현이 용이하며, 복잡한 모델링이 가능하다는 장점에서 다양한 분야에서 활용되고
있다(4). 그러나 일반적인 페트리네트는 크기가 커지면 분석이 어려워지고, 상태폭발 문제가 발생할 수 있으며, 모터 또는 센서류에 대해 다루지 않는다는 문제로
인해 확장된 페트리네트인 자동화페트리네트(Automation Petri Net, APN)가 등장하였다. APN은 센서와 모터를 모두 포함하는 시스템을
모델링함에 있어 적합한 정형기법 중 하나이다(5). APN의 주요 장점은 그래프로 표현됨으로 인해 쉽게 이해할 수 있으며, 오류 추척을 쉽게 할 수 있다는 점이다. 이 외에도 APN은 모델링 목적으로
사용될 수 있으며, 철도 운영과 관련된 분야에서도 활용될 수 있다.
철도신호시스템에서 연동장치는 열차의 충돌이나 추돌 등의 사고를 방지하기 위해 사용되는 주요설비 중 하나이다. 본 논문에서는 이러한 연동장치의 연동논리를
자동화페트리네트를 사용하여 모델링하고, 구축한 모델을 시뮬레이션하여 시스템의 안전성을 확인한다.
2. 정형기법 및 페트리네트
2.1 정형기법
연동장치 소프트웨어 개발 프로세스는 철도신호시스템 구축에서 가장 어렵고 중요한 부분 중 하나이다. 이를 위해 유럽의 CENELEC에서는 철도 어플리케이션을
위해 EN50126/8/9표준을 제정하였다. EN50126은 주로 RAMS 분석에 관한 내용으로 모든 철도 어플리케이션에 대한 일반 표준이다. EN50128은
철도응용프로그램을 위한 안전 소프트웨어를 구축하기 위한 방법론을 정의한다. EN50129는 철도 응용프로그램에 사용되는 전기, 전자 및 프로그래밍
가능한 장치의 하드웨어에 대한 요구사항을 결정한다. 안전관련 소프트웨어 설계에서는 안전 소프트웨어 개발 프로세스가 정리된 EN50128을 근거로 개발하고
있으며, 이 표준에서 오토마타와 페트리네트를 정형기법 모델링 도구로서 사용을 권장하고 있다(6).
페트리네트는 1962년 C.A.Petri의 박사학위 논문에서 처음 소개되었다. 가중치가 있고 방향성을 가지는 그래프로써 가중이분방향그래프(weighted
bipartite directed graph)로 표현되며, 동시성(concurrency)과 동기적인 사건(synchronized event)을 표현할
수 있고 이를 가시적으로 보여줌으로써 이해하기 편리하다는 장점을 가진다(7).
ISO/IEC 규격에서도 페트리네트에 관한 표준을 찾아볼 수 있다. ISO/IEC 15909-1:2019는 HLPN(High Level Petri
Net) 개념 및 그래픽 표기법을 정의하고(8), ISO/IEC 15909-2:2011에서는 HLPN 전환-입력 모델과 그 프로그래밍 언어의 매핑을 통한 분석 및 설계기술 선택과 평가에 관해 정의된다(9). ISO/IEC 15909-3:2021에서는 페트리네트의 확장 및 구조화 메커니즘을 정의하고 있으며, 새로운 종류의 페트리네트와의 상호운용성을 기술하고
있다(10).
페트리네트를 이용한 모델링 방법은 유럽의 차세대철도시스템 개발을 위해 추진 중인 Shift2Rail 프로젝트에서도 찾아볼 수 있다. IP2(Advnced
Traffic Management&Control System)의 TD2.7 (Standardised Engineering and Operational
Rules) 내용에서는 소프트웨어 개발에 있어 페트리네트를 확장한 정형기법 적용을 위한 개발이 활발히 이루어지고 있음을 알 수 있다(11).
S. Einer et al.은 철도 신호체계의 안전성 향상을 위한 모듈식 오작동 진단 방법을 제시하였다. 이들은 APN을 이용하여 철도 신호체계의
모듈별 상태를 모니터링하고, 이례사항이 발생할 경우, 이를 적시에 탐지하여 안전측 동작이 가능하도록 설계 하였다(12). J. Zhang은 고속철도 열차제어시스템을 APN모델을 활용하여 시스템의 기능, 구조, 성능 등을 분석하고, 시뮬레이션을 통해 시스템 동작의 유효성을
검증하였으며, 이 모델을 기반으로 시스템 최적화 방안을 제시하였다(13). Stefano Ricci는 패트리네트를 통해 모듈식 객체지향 접근방식을 적용하여 철도교통의 운영(열차 시간표, 열차운행의 정시성 모니터링 등)을
시뮬레이션 하였다(14).
철도시스템 외에도 항공 수화물 자동화, 모바일 게임 개발, 공장 자동화 등 많은 분야에서 페트리네트를 이용한 모델링 방법이 활용되고 있으나, 우리나라
철도시스템에 적용하여 모델링 등에 활용한 사례는 매우 작다.
2.2 일반 Petri-Net
페트리네트에서 일반적으로 사건(Event)은 트랜지션(Transition)을 의미하며, 트랜지션이 발생(enable 또는 firing)하기 위해서는
시스템의 여러 가지 조건이 충족되어야 한다. 이러한 조건(condition)에 대한 정보는 플레이스(Place)에 저장된다. 플레이스는 한 트랜지션의
입력 조건이 되고, 어떠한 플레이스들은 한 트랜지션의 출력 조건이 된다(15). 이러한 관계를 통하여 페트리네트는 다음과 같이 정의된다.
정의1. 페트리네트는 5개의 구성요소로 이루어진다.
PN = (P, T, Pre, Post, Mo)
․ P : {P1, P2, ... , Pn}, 플레이스의 유한집합
․ T : {T1, T2, ... , Tn}, 트랜지션의 유합집합
․ Pre : (P×T) → N, 입력함수
․ Post : (T×P) → N, 출력함수
․ M0 : 페트리네트의 초키마킹 (최초상태)
원으로 표시되는 플레이스는 행동을 수행하기 전에 충족되어야 하는 조건(condition) 또는 상태(state)를 의미한다. 네모로 표시되는 트랜지션은
시스템에서 일어나는 이벤트나 동작을 나타낸다. 화살표로 표시되는 아크는 플레이스를 트랜지션으로 연결하거나, 트랜지션을 플레이스로 연결한다. 원이 트랜지션으로
연결되면 입력 플레이스, 트랜지션에서 원으로 연결되면 출력 플레이스라 한다. 이러한 일반 페트리네트의 표현은 Fig. 1과 같다.
플레이스에는 파이어링(Fifing)을 통해 다른 플레이스로 이동할 수 있는 토큰(Token)을 포함할 수 있다. 트랜지션은 모든 조건이 충족했을 경우
즉, 입력 플레이스에 사용가능한 토큰이 충분한 경우에만 파이어링 될 수 있다.
토큰은 수행된 작업, 흐름제어(flow control), 리소스 가용성 또는 동기화 조건을 나타내 수 있다. 트랜지션이 실행되면 입력 플레이스의 토큰이
제거되고, 출력 플레이스에 토큰이 추가된다. 추가되거나 제거된 토큰의 수는 각 아크의 가중치에 따라 달라진다.
그림 1 일반 페트리네트
Fig. 1 ordinary petri net
2.3 Automation Petri-Net
일반 PN와 달리 APN에는 활성화(Enable) 아크, 비활성화(Inhibit) 아크가 추가된다. 추가된 두 개 아크는 플레이스의 토큰 수에는 영향을
주지 않으나, 트랜지션의 실행 조건 즉, 활성화 조건에 영향을 준다. 추가된 두 개의 아크는 Fig. 2에서 확인 할 수 있다.
정의2. APN은 4개의 구성요소가 추가된다.
APN = (P, T, Pre, Post, Mo, In, En, χ, Q)
․ In : (P×T) → N, inhibitor arcs from places to transitions.
․ En : (P×T) → N, enabling arcs from places to transitions.
․ χ : {χ1, χ2, ... , χn}, Transition의 실행(firing) 조건
․ Q : {Q1, Q2, ... , Qn}, Place에 할당할 수 있는 작업 집합
정의3. 입력 플레이스의 토큰 수가 활성화 아크의 가중치보다 같거나 큰 경우에 트랜지션은 활성화 된다.
정의4. 입력 플레이스의 토큰 수가 비활성화 아크의 가중치보다 작을 경우에 트랜지션은 활성화 된다.
그림 2 자동화 페트리네트
Fig. 2 Automation Petri-Net
APN은 일반 페트리네트와 유사하지만, 특정 동작을 나타내는 여러 개의 상태와 이벤트를 포함하고, 제어 흐름과 데이터 흐름을 모두 표현할 수 있다.
따라서 APN을 이용한 모델링을 위해 이러한 특성을 고려하여 페트리네트 모델링 도구를 선택하고자 하였으며, 지정한 규칙 및 제약 조건을 준수하는 페트리네트
모델링 도구를 선택하고, APN에 필요한 요소들을 추가하여 모델을 구성해야 했다.
페트리네트를 모델링하기 위한 도구로는 CPN Tools, PIPE, Snoopy, TINA, Bee-up 등이 있다. CPN Tools은 오픈소스
페트리네트 모델링 도구로서 그래픽 인터페이스를 통해 모델을 생성할 수 있으며, 시뮬레이션 및 분석 기능을 지원한다. PIPE 또한 페트리네트 모델링을
위한 오픈소스 도구로 CPN Tools과 마찬가지로 그래픽 인터페이스를 제공하며, 사용자가 쉽게 모델을 생성하고 시뮬레이션 및 분석이 가능하다. Snoopy는
페트리네트 모델링 및 분석을 위한 상용 도구 중 하나이다. Bee-up은 페트리네트 외 4가지(BPMN, ER, EPC, UML) 모델을 생성할 수
있는 통합 도구로 페트리네트를 사용하여 시스템을 명세하고 시뮬레이션이 가능한 오픈소스 도구이다. 이러한 도구 중 APN을 모델링하기 위한 전용 도구는
없지만, 일반 페트리네트 모델링 도구를 사용하여 APN 모델링이 가능하다. 본 논문에서는 생성한 모델은 Bee-up을 사용하여 모델을 생성하였으며,
연동장치 구현을 위한 페트리네트 모델링 전용도구는 개발이 필요하다.
3. 신호기기 요소 모델링
3.1 연동장치 진로 모델링
연동장치 시스템은 신호기기와 연동논리를 구분하여 모델링 해야 한다. 신호기기는 신호기기 지형위치를 나타낸 것으로 이용하여 신호 배치도 형태로 나타내며,
궤도회로, 신호기 및 선로환기가 물리적으로 연결된 상태로 나타낼 수 있다. 연동제어부분은 제어테이블에 저장된 선로전환기 정위 및 반위 전환, 쇄정
및 해정, 신호정위 및 반위 현시 및 진로 설정, 쇄정 및 해정 등이 포함된다(16). 연동장치의 구성은 제어기, 신호기, 선로전환기, 궤도 및 열차로 구성되어 있으며, 진로는 제어기에서 신호기, 선로전환기 및 궤도의 조합에 의해서
구성된다. 궤도는 궤도회로를 포함하며, 일부 궤도회로는 열차검지와 더불어 속도정보를 전송할 수 있다. 진로제어기는 계전기 기반 또는 컴퓨터 기반 시스템으로
구성되어 있으며, 진로설정 및 해정을 하여, 진로상태를 변경한다.
3.2 모델링 요소
연동장치의 연동논리에 관한 프로세스는 페트리네트의 모델링 요소를 이용해서 표현할 수 있다. 프로세스를 분류하면, 기본적인 흐름과 직렬적인 배열을 들
수 있다. 두 개 이상의 프로세스가 분리되거나 만나는 것은 AND-split과 동기적 흐름의 AND-join으로 나타낼 수 있다. 이들은 동시적인
평행한 프로세스로서 하나의 과업이 동시에 혹은 순서대로 행해지는 경우이다. 평행 프로세스는 하나의 트랜지션으로부터 다수의 과업이 나누어지는 AND-split으로부터
시작되지만 AND-join에서는 선행하는 과업들이 모두 완료되어야만 트랜지션이 활성화되어 만나게 된다.
비동기적 join으로서 OR-join이 있는데, 이는 여러 정보/컨트롤들이 플레이스로 표시되는 하나의 조건으로 모이게 되는 경우이다. 연동논리의 예로
진로 요청한 폐색구간에 열차가 없고, 선로전환기가 전환되어 쇄정이 완료되어야 진로가 구성되어 신호가 점등되는 경우를 들 수 있다. 선택을 나타내는
것으로 OR-split이 있는데, 제조 공정을 예로 이는 2개 이상의 기계가 들어오는 자재를 가공하는 경우에 해당한다. 이 경우의 선택은 우선순위,
확률, 혹은 빈도에 따라서 정해지는데, 연동논리에 적용하면, 진로 요청한 폐색구간 내 하나의 폐색이라도 점유 상태라면 진로가 구성되지 않게 하는 안전설계에
반영할 수 있다. 또한 전기회로와 같은 cycle이 있는데 이는 신호기의 반복적인 점멸을 기술하는 데 사용할 수 있다. 또한 cycle은 폐색구간의
idle 상태를 나타내는 데도 이용할 수 있다. 상호 배반적인 관계를 나타내는 것으로 XOR이 있으며, 이는 공통의 자원을 2개 이상의 객체가 상호
배반적으로 사용하고자 할 때 이용할 수 있다. 이러한 모델링을 위한 기본요소가 Fig. 3.에 나타나 있다.
그림 3 모델링 요소
Fig. 3 Elements for Logic Modeling
3.3 신호기
신호기는 열차를 운행하는 기관사에게 열차의 진행, 서행, 정지 등을 나타내 주는 것으로 주신호기와 종속신호기로 분류 할 수 있다. 본 논문에서는 주신호기
측면에서의 모델링을 수행하였다. Fig. 4.의 신호기 모델에는 각 색상별 램프에 관한 서브넷이 존재한다. 앞서 설명한 바와 같이 플레이스는 상태를 나타내게 되며, 신호기 모델에서 사용되는
플레이스는 램프가 점등된 상태, 소등된 상태를 나타내는 플레이스가 있으며, 소등 또는 점등을 요청하는 플레이스, 및 오동작(고장)에 관한 플레이스가
있다.
그림 4 신호기 모델
Fig. 4 Signal model
표 1 정지 신호기 상태
Table. 1 Red lamp states
States
|
Definition
|
R_Off
R_On
R_Failed
Req_R_Off
Req_R_On
R_Fail
R_Repair
|
Red lamp is unlit
Red lamp is lit
Red lamp is failed (and unlit)
Red lamp is requested to be switched off
Red lamp is asked to be switched on
Red lamp fail
Red lamp is repaired
|
3.4 선로전환기
선로전환기 모델은 신호기 모델과 유사하다. 활성화 아크를 이용하여 정위, 반위를 동시에 요청하는 것을 금지한다. 선로전환기가 정위 상태라고 가정할
때, Req_R 요청에 의해 토큰을 N to R 플레이스로 이동하게 되고 관련 센서 정보에 의해 Reversed(반위) 플레이스로 토큰이 이동하게
된다. 또한 정위 상태에서 정위 명령을 내릴 경우 Nomal 플레이스와 연결된 활성화 아크를 통해 그 명령은 소거(무시)되어 토큰이 소비된다. 이는
두 개의 작업을 동시에 요청할 수 없도록 방지하는 기능 또한 가지고 있다.
그림 5 선로전환기 모델
Fig. 5 Model for Point Machines
3.4 진로
진로 모델은 물리적 점유 및 논리적 예약에 대한 정보를 나타낸다. 점유는 선로에 열차가 들어오거나 나가는 것을 의미한다. 궤도회로, 엑셀카운터 등으로
열차검지(Train detection)를 할 수 있으며, 논리적으로는 두 장치는 동일하게 취급한다. 진로는 연동장치에 의해 예약될 수 있으며, 한번에
하나의 진로만 예약할 수 있다. 점유 후 해당 진로가 비점유 되어야만 예약이 해제된다.
그림 6 진로 모델
Fig. 6 Model for a Route
4. Simulation
본 논문에서는 신호기, 선로전환기 및 진로에 대한 모델을 생성하고, 이를 진로 예약과 해제에 반영하여 안전성을 확보 할 수 있느냐를 확인하는 것이기
때문에 가장 이해가 쉬운 선로를 샘플선로로 선정하였으며, 이는 Fig. 7과 같다. Fig. 7의 샘플선로를 이용하여 진로예약 및 해제 모델을 구현한다. 샘플선로는 4개의 진로를 구성할 수 있으며, ①번 진로에 관해 모델링을 수행하였다. 연동장치는
제어구간 내 진로가 설정되어 있는지를 확인하여 점유 또는 비점유 상태를 판단하고, 필요한 진로를 설정하게 된다. 진로 설정을 통해 선로전환기가 전환된
후 신호기가 설정된 진로의 방향으로 점등된다. 플레이스 Dispatcher_ Busy는 비활성화(inhibit) 아크를 통해 다른 경로가 동시에 설정되는
것을 방지한다. 마지막 진로가 점유되고 이전의 모든 진로가 비점유 상태임이 확인되면 해당 진로가 해제된다. 진로 예약은 연동장치에 의해 경로가 충돌되는
것을 방지한다.
샘플선로를 이용한 진로 예약 모델은 Fig. 8과 같다. 폐색구간 A에서 C으로 진로 예약을 위해서는 Req_RouteA-C 플레이스에 토큰이 입력되고, 예약된 진로가 없어야 한다. (Dispatcher_Busy에
토큰이 없음) B, C 폐색구간에 열차가 없음이 확인(Bfree, Cfree에 토큰이 있음)되면 Req_RouteA-C에서 토큰이 출력된다. B,
C 폐색구간 예약, 선로전환기 정위 전환이 완료되어 ReserveB, Reservec1, Req_Point_BNormal에 토큰이 입력되면, Route_A-C_open
플레이스에 토큰이 입력되면서 진로 예약이 완료된다.
진로 예약이 완료된 상태에서는 해당 진로에 열차가 존재하지 않음이 확인되어야만 진로가 해제될 수 있다. Fig. 9는 진로 해제 모델을 보여주고 있으며, 진로가 예약된 상태에서만 해제 요청 조건이 된다. 활성화 아크와 비활성화 아크를 통해 조건을 계속해서 추가함으로써
복잡한 선로에서도 이를 확장하여 모델링이 가능하다.
그림 7 샘플선로
Fig. 7 sample line
그림 8 진로 예약 모델
Fig. 8 Model for a Route Reservation
그림 9 진로 해제 모델
Fig. 9 Model for a Occupied Route Releasing
5. Conclusion
국내 철도분야에서 정형기법은 많이 알려지지 않은 모델링 방법 중 하나라 할 수 있으나, 유럽철도 및 국제표준에서는 사용을 권고하는 모델링 기법 중
하나로 유럽에서는 활발한 연구개발이 이루어지고 있다. 특히 페트리네트는 철도 신호분야 뿐만 아니라 통신분야, 운영분야 등 다양하게 적용할 수 있는
기법이라 할 수 있으며, 지속적인 연구가 필요 할 것으로 판단된다. 또한 생성된 기초 모델은 계속하여 확장하며 적용 할 수 있으므로, 선형의 변경
또는 추가에도 쉽게 대응이 가능하다는 장점을 가지고 있다.
본 연구에서는 페트리네트에 활성화 아크, 비활성화 아크를 추가하여 신호기기를 모델링하였고, 이를 활용하여 연동논리 모델링 방법을 제안하였다. 이 방법을
이용하면 연동장치의 동작 과정을 정확하게 모델링하여 안전성을 보장할 수 있다. 또한, APN은 병렬 처리 및 분산 제어 기능을 제공하므로 더 나은
모델링을 위한 방안으로 적합하다. 이러한 방법을 활용하여 철도 신호체계의 안전성을 보다 강화할 수 있을 것으로 기대된다.
Acknowledgements
This study was supported by the Research Program funded by the SeoulTech(Seoul National
University of Science and Technology).
References
James L. Peterson, 1981, Petri Net Theory And The Modeling of System, Prentice Hall
Jin Ahn, Jongwoo Lee, 2017, Study on Z specification for S/W Safety of Computer Based
Interlocking Systems, Journal of the Korean Society for Railway, Vol. 20, No. 1, pp.
55-63
李基範, 李振秀, Automation, The Integrated Petri Net combining the discrete event system
modeling with the operating PLC modeling, International Journal of Control, Automation
and Systems, Vol. 5, No. 4, pp. 29-41
Sung Hak Kong, Il Hong Suh, 2005, Design of A Petrinet- based Supervisory Control
System, THE TRANSACTION OF THE KOREAN INSTITUTE OF ELECTRICAL ENGINEERS D, Vol. 54d,
No. 8, pp. 486-494
Murat Uzam, 2009, Asynchronous implementation of discrete event controllers based
on safe automation Petri nets, The International Journal of Advanced Manufacturing
Technology, Vol. 41, No. 4, pp. 595-612
Mustafa Seckin Durmus(2011), Synchronizing Automata and Petri Net Controllers, ELECO
2011 7th International Conference on Electrical and Electronics Engineering, INSPEC
12495781
Moonkun Lee, 2017, Formal Methods, Jeonbuk National University
2019, ISO/IEC 15909-1:2019, Systems and software engineering -High-level Petri nets
- Part 1: Concepts, definitions and graphical notation
2011, ISO/IEC 15909-2:2011, Systems and software engineering - High-level Petri nets
- Part 2: Transfer format
2021, ISO/IEC 15909-3:2021, Systems and software engineering - High-level Petri nets
- Part 3: Extensions and structuring mechanisms
2023.09.14, https://rail-research.europa.eu/research-development/ip2/
S. Einer, R. Slovak, E. Schneider, 2000, Modeling Train control systems with Petrinets,
IEEE Int. Conf. on Systems, Man and Cybernetics, Vol. 4, pp. 3207-3211
J. Zhang, X. Wang, Z. Xie, 2020, An Improved Automation Petri Net Modeling Method
for Train Dispatching System
Ricci Stefano , 2009, The use of Petri Nets models in railway traffic applications,
IFAC Proceedings Volumes, pp. 151-156
S. H. Kong, I. H. Suh, 2005, Design of A Petrinet- based Supervisory Control System,
KIEE 54D(8), 486-494
Heejin Lee, Jongwoo Lee, 2021, A Study on A Modelling ion for Railway Interlocking
Systems using Sets, Journal of the Korean Society for Railway, Vol. 24, No. 5, pp.
449-460
저자소개
He received the B.S, M.S degree from Woosong University, Daejeon, Korea, in 2010 and
2012.
currently, he is pursuing a Ph.D. at the Department of Railway Electrical Signaling
Engineering at Seoul National University of Science and Technology, Seoul, Korea since
2018.
Since 2014, he has been working at the Neotrans co ltd.
He received the B.S degree from Hanyang University, Seoul, Korea, in 1983.
and M.S degree from The Ecole Centrale de Nantes, France, in 1986.
and the Ph.D. degree from the University de Paris IV, Paris, France, in 1993.
Since 2005, he has been working as a professor at Department of Railway Electrical
Signaling Engineering of the Gradцate School of Railway at Seoul National University
of Science and Technology.