Title
An overview of model checking practices on verification of PLC software
Abstract
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.
Year
DOI
Venue
2016
10.1007/s10270-014-0448-7
Software and Systems Modeling (SoSyM)
Keywords
Field
DocType
Model checking,Programmable logic controllers,Program verification
Abstraction model checking,Petri net,Model checking,Programming language,Systems engineering,Computer science,Software,Programmable logic controller,Software construction,Software verification and validation,Software verification
Journal
Volume
Issue
ISSN
15
4
1619-1366
Citations 
PageRank 
References 
7
0.54
70
Authors
4
Name
Order
Citations
PageRank
Tolga Ovatman1489.73
Atakan Aral2406.94
Davut Polat391.04
Ali Osman Ünver470.54