PLC programs' checking method and strategy based on module state transfer

PLC (Programmable Logic Controller) program in automatic control is vital to this kind of safety-critical applications. In this paper, we present a useful method of compositional model checking for verification of PLC programs. The method is based on the work pattern and the system model of PLC for modelling PLC program. Because the state space explosion problem limits the use of general model checking in real PLC programs, the paper firstly defines the framework and the mechanism of model combination based on the module of PLC program. Then the paper proposes a series of PLC domain specific strategies for compositional model checking between two modules. Through two modules' combination is verified at a time in a PLC program, cyclic stacking combination of the modules can be verified by the recursive operation of compositional checking for the whole program. The strategies can effectively reduce state space by means of hierarchical module model and recursion state transfer. The validity of our method is illustrated by an example.

[1]  Martín Abadi,et al.  Conjoining specifications , 1995, TOPL.

[2]  Bengt Jonsson,et al.  Assumption/Guarantee Specifications in Linear-Time Temporal Logic , 1996, Theor. Comput. Sci..

[3]  Corina S. Pasareanu,et al.  Assume-guarantee verification of source code with design-level assumptions , 2004, Proceedings. 26th International Conference on Software Engineering.

[4]  Antonio Cau,et al.  On Unifying Assumption-Commitment Style Proof Rules for Concurrency , 1994, CONCUR.

[5]  Mengyuan Li,et al.  Combinational model-checking of PLC programs' verification based on instructions , 2014, 2014 IEEE International Conference on Mechatronics and Automation.

[6]  Kenneth L. McMillan,et al.  A Compositional Rule for Hardware Design Refinement , 1997, CAV.

[7]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[8]  Ming Gu,et al.  Semantic characterization of programmable logic controller programs , 2012, Math. Comput. Model..

[9]  Ming Gu,et al.  The Denotational Semantics Definition of PLC Programs Based on Extended λ -Calculus , 2011 .

[10]  Robert S. Boyer,et al.  Proving Theorems about LISP Functions , 1973, JACM.

[11]  Amir Pnueli,et al.  A compositional approach to CTL* verification , 2005, Theor. Comput. Sci..

[12]  Roger Y. Lee,et al.  A design and test technique for embedded software , 2005, Third ACIS Int'l Conference on Software Engineering Research, Management and Applications (SERA'05).

[13]  Mahesh Viswanathan,et al.  Foundations for Circular Compositional Reasoning , 2001, ICALP.

[14]  Natarajan Shankar,et al.  PVS: Combining Specification, Proof Checking, and Model Checking , 1996, FMCAD.

[15]  H. Zipori,et al.  Approaches and implementation of software test and development system for embedded computer systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[16]  Patrick Maier,et al.  A lattice-theoretic framework for circular assume-guarantee reasoning , 2003 .

[17]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching Time Temporal Logic , 2008, 25 Years of Model Checking.

[18]  Edward A. Lee Computing for embedded systems , 2001, IMTC 2001. Proceedings of the 18th IEEE Instrumentation and Measurement Technology Conference. Rediscovering Measurement in the Age of Informatics (Cat. No.01CH 37188).

[19]  C. Rattray,et al.  Specification and Verification of Concurrent Systems , 1990, Workshops in Computing.

[20]  Kedar S. Namjoshi,et al.  Abstract Patterns of Compositional Reasoning , 2003, CONCUR.