Abstract
PLCs are special purpose microcontrollers used in most automatic control systems such as plants, embedded systems, and intelligent buildings. LD is one of the most popular languages among PLC languages. For now LD programs are mainly verified by simulation and testing which has a lot of limitation. This paper describes how to translate a given LD program into an input of a model checker so that LD program is verified by model checking. We define formal semantics of LD programs and SMV models and specify a formal definition of the translation function which preserves semantics between LD programs and SMV models.
발전소와 임베디드 시스템, 지능형 빌딩과 같은 현대의 대부분의 시스템은 PLC 라는 특수목적 컴퓨터를 이용하여 자동제어된다. PLC 프로그래밍 언어 중에서 가장 많이 사용하는 것은 LD 프로그램이다. LD 프로그램의 검증은 시뮬레이션과 테스팅등을 통해 이루어지는데 이러한 방법은 프로그램 검증에 한계가 있다. 본 논문에는 LD 프로그램의 검증시 모델 체킹을 사용할 수 있도록 주어진 LD 프로그램을 모델 체커의 입력으로 자동으로 변환하는 방법을 기술한다. LD 프로그램과 SMV 모델의 의미구조를 정의 하고 이를 바탕으로 의미가 보존되는 변환 함수를 정형적으로 나타낸다.