An overview of model checking practices on verification of PLC software

被引:0
作者
Tolga Ovatman
Atakan Aral
Davut Polat
Ali Osman Ünver
机构
[1] Istanbul Technical University,Department of Computer Engineering
来源
Software & Systems Modeling | 2016年 / 15卷
关键词
Model checking; Programmable logic controllers; Program verification;
D O I
暂无
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:937 / 960
页数:23
相关论文
共 77 条
[1]  
Alur R(1994)A theory of timed automata Theor. Comput. Sci. 126 183-235
[2]  
Dill DL(2013)A proposal and verification of a software architecture based on labview for a multifunctional robotic end-effector Adv. Eng. Softw. 55 32-44
[3]  
Anjos JMS(2004)The tool tina-construction of abstract state spaces for petri nets and time petri nets Int. J. Prod. Res. 42 2741-2756
[4]  
Coracini GK(2001)PLC-automata: a new class of implementable real-time automata Theor. Comput. Sci. 253 61-93
[5]  
Villani E(2004)Comparing model checking and logical reasoning for real-time systems Form. Asp. Comput. 16 104-120
[6]  
Berthomieu B(2013)The metrrio case study Sci. Comput. Program. 78 828-842
[7]  
Ribet PO(2000)Design and verification of the sfc program for sequential control Comput. Chem. Eng. 24 303-308
[8]  
Vernadat F(2011)Formal verification of embedded logic controller specification with computer deduction in temporal logic Electr. Rev. 12a 47-50
[9]  
Dierks H(1992)Programming and verifying real-time systems by means of the synchronous data-flow language lustre IEEE Trans. Softw. Eng. 18 785-793
[10]  
Dierks H(1990)Seven myths of formal methods Softw. IEEE 7 11-19