An overview of model checking practices on verification of PLC software

An overview of model checking practices on verification of PLC software

Abstract

Programmable logic controllers (PLCs) are heavily used in industrial control systems, because of their high capacity of simultaneous input/output processing capabilities. Characteristically, PLC systems are used in mission critical systems, and PLC software needs to conform real-time constraints in order to work properly. Since PLC programming requires mastering low-level instructions or assembly like languages, an important step in PLC software production is modelling using a formal approach like Petri nets or automata. Afterward, PLC software is produced semiautomatically from the model and refined iteratively. Model checking, on the other hand, is a well-known software verification approach, where typically a set of timed properties are verified by exploring the transition system produced from the software model at hand. Naturally, model checking is applied in a variety of ways to verify the correctness of PLC-based software. In this paper, we provide a broad view about the difficulties that are encountered during the model checking process applied at the verification phase of PLC software production. We classify the approaches from two different perspectives: first, the model checking approach/tool used in the verification process, and second, the software model/source code and its transformation to model checker’s specification language. In a nutshell, we have mainly examined SPIN, SMV, and UPPAAL-based model checking activities and model construction using Instruction Lists (and alike), Function Block Diagrams, and Petri nets/automata-based model construction activities. As a result of our studies, we provide a comparison among the studies in the literature regarding various aspects like their application areas, performance considerations, and model checking processes. Our survey can be used to provide guidance for the scholars and practitioners planning to integrate model checking to PLC-based software verification activities.

Grafik Top
Authors
  • Ovatman, Tolga
  • Aral, Atakan
  • Polat, Davut
  • Ünver, Ali Osman
Grafik Top
Shortfacts
Category
Journal Paper
Divisions
Scientific Computing
Subjects
Computersimulation
Theoretische Informatik
Journal or Publication Title
Software and Systems Modeling
ISSN
1619-1366
Publisher
Springer
Page Range
pp. 937-960
Number
4
Volume
15
Date
October 2016
Export
Grafik Top